КЕП від Дія

Содержание

 

 


Опис

 

Кваліфікований електронний підпис за допомогою Дія.


Чеклист интеграции

 

Позволить клиенту загрузить файлы для подписи.
Отправить API запрос c файлами.
Получить промежуточный Callback с данными для редиректа клиента.
Отобразить клиенту QR код или ссылку перехода в Privat24 на подпись документов.
Получить успешный Callback с подписанными файлами.
Отобразить клиенту Success Page.

 

Для подписания документов необходимо отправить в запросе файлы на подписание. В ответе будет отправлена ссылка для редиректа и ссылка на QR-код. Если клиент использует десктоп — отображаем QR-код с просьбой отсканировать его с помощью приложения. Если клиент использует мобильное устройство — просто редиректим браузер в отдельной вкладке на URL, полученный в ответе. После подписания клиентом документов, будет отправлен ответ с данными подписанта и сами подписанные файлы.


 

https://sign.platon.ua/demo


 

HTTP METHOD: POST

API ENDPOINT: https://sign.platon.ua/api

Параметр

Значение

Описание

Параметр

Значение

Описание

action
обязательно

SIGN_DOC_DIIA

 

client_key
обязательно

String

Уникальный ключ мерчанта в системе Platon

client_request_id
обязательно

String

Уникальный идентификатор запроса на стороне мерчанта

operation_descriptions
обязательно

Array

Список наименований документов которые будут подписаны

callback_url
обязательно

String

URL, куда будет отправлен ответ с данными подписанта и документами

files
обязательно

Array

Файлы, которые необходимо подписать

hash
обязательно

String

Подпись запроса

md5( strtoupper( strrev($client_password). strrev($client_request_id) ) )

channel
не обязательно

String

Канал получения запроса


 

<?php declare(strict_types=1); $curl = curl_init(); // ---------- ПЕРЕМЕННЫЕ $client_request_id = microtime(); $api_key = 'PL-*******; $api_password = '**********************'; $filepath0 = '29731-68007-26697.txt'; // файл №1 для отправки на подпись $filepath1 = '29731-68007-26698.txt'; // файл №2 для отправки на подпись $filepath2 = '29731-68007-26699.txt'; // файл №3 для отправки на подпись $callback_url = 'http://devplaton.com.ua/RA/callback/diya_callback.php'; // POST-запросы со статусом и подробной инфой curl_setopt_array($curl, [ CURLOPT_URL => 'https://sign.platon.ua/api', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => 'utf-8', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => [ 'action' => 'SIGN_DOC_DIIA', 'client_key' => $api_key, 'client_request_id' => $client_request_id, 'operation_descriptions[0]' => 'JUST TEST', 'files[0]' => new CURLFILE($filepath0), 'operation_descriptions[1]' => 'JUST TEST', 'files[1]' => new CURLFILE($filepath1), 'operation_descriptions[2]' => 'JUST TEST', 'files[2]' => new CURLFILE($filepath2), 'hash' => md5(strtoupper(strrev($api_password).strrev($client_request_id))), 'callback_url' => $callback_url, ], ]); $response = curl_exec($curl); if (! $response) { echo "Error --> ".curl_error($curl)."\n"; } curl_close($curl); echo "Success --> \n"; var_dump(json_decode($response));

 

IP адрес сервера отправки:

104.248.247.85
104.21.35.224
172.67.180.63

Промежуточный ответ для редиректа клиента на подписание:

{ "action":"GET_SMART_ID", "client_request_id":"0.98765900 1615373453", "result":"ACCEPTED", "request_id":"93c87c49-c152-4c1d-bee2-027b856704ca", "url":"https://www.privat24.ua/rd/kep?hash=rd/kep/", { "clientId":"PLATON_93c87c49-c152-4c1d-bee2-027b856704ca", "operationId":"TlZxbUtxVXhTbHlyak9LaHpsb1RialRMb0dNU2x3TUNXWkRBZUZ2d2Nsc3ZHRHh5Ymd1Z0psWVVIZE1RSnBQcnJI", "action":"sign" } "qr_code":"https://sign.platon.ua/api/v1/smart-id/qr/93c87c49-c152-4c1d-bee2-027b856704ca?size=150" }

Параметр

Значение

Описание

Параметр

Значение

Описание

action

GET_SMART_ID

 

result

ACCEPTED

 

request_id

String

Уникальный
идентификатор запроса на
стороне Platon

client_request_id

String

Уникальный идентификатор запроса на стороне мерчанта

operationId

String

Уникальный идентификатор запроса на стороне Привата

url

String

УРЛ, на который
необходимо
перенаправить клиента

qr_code

String

QR-код для отображения

При успешном запросе:

Параметр

Значение

Описание

Параметр

Значение

Описание

action

GET_SMART_ID

 

result

SUCCESS

 

request_id

String

Уникальный
идентификатор запроса на
стороне Platon

client_request_id

String

Уникальный идентификатор запроса на стороне мерчанта

channel

String

Канал получения запроса

signatures

List

Список с результатами подписания

$_FILES['signatures']

File

Подписанные файлы

Name

String

Имя подписана

Second_Name

String

Отчество подписана

Surname

String

Фамилия подписана

ITN

String

ИНН код подписанта

errorMessage

String

Текст ошибки

hash

String

Шифрованная подпись запроса

При неуспешном запросе:


 

Для индивидуальной проверки подписных документов файлы полученные из Callback необходимо загрузить на официальный ресурс Перевірити підпис