API загрузки документов в систему

API предназначено для автоматизированной загрузки документов из любой системы, которая генерирует электронные документы, требующие подписи. Загружаемые документы могут быть в любом удобном вам формате: txt, html, jpeg, doc, xls, docx, rtf, pdf или любые другие.

API позволяет:

  • загрузить документ в сервис для подписи;
  • загрузить подписанный документ в сервис;
  • проверить статус документа;
  • загрузить подписи документа;
  • загрузить входящие документы;
  • подписать входящие документы.

Кодировка текстовых полей воспринимается только как UTF-8.

Содержание

  1. ЗАГРУЗКА ДОКУМЕНТА: Входные параметры
  2. ЗАГРУЗКА ДОКУМЕНТА: Выходные параметры
  3. Советы разработчику
  4. Тестовая среда
  5. НАБОР ГОТОВЫХ СКРИПТОВ ДЛЯ УСТАНОВКИ НА САЙТ
  6. Постановка задачи для написания модуля
  7. API получение статуса документа в системе
  8. API получения списка доступных документов в системе
  9. API получения количества доступных к загрузке документов
  10. API создания счета на оплату тарифного плана
  11. API получения списка тарифных планов
  12. API получения документа из личного кабинета
  13. API добавления ЭЦП к документу
  14. API добавления права подписи ЭЦП к документу
  15. API удаления права подписи ЭЦП к документу
  16. API добавления партнером тарифного плана на клиента
  17. API получения списка транзакций на добавление партнером тарифных планов
  18. API блокировки возможности добавления клиентом новых документов в сервисе
  19. API регистрации партнером клиентского аккаунта в сервисе
  20. API удаленной авторизации клиента через систему партнера
  21. API регистрации QR-кода для добавления в документ клиента до его подписи.
  22. API создания предоплаченного кода.
  23. API получения списка созданных предоплаченных кодов.
  24. API создания ссылки на подписание документа
  25. API получения расширенных данных из подписанного документа
  26. API повторной отправки кода согласия на GSM-номер
  27. API создания ссылки на подписание нескольких документов через SMS

ЗАГРУЗКА ДОКУМЕНТА: Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/api.php или https://api.podpishi.kz/api.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
nametxt необязательное поле
текстовое название документа, по которому вам будет удобно опознавать или искать документ, пример Акт выполненных работ № 15 от 02/07/2017 ТОО Фирма (БИН 191919020202) (текстовое поле, не более 250 символов). См. «Советы разработчику»;
uniq_reference необязательное поле
уникальный номер документа, который присвоен документу внутри вашей компании, пример A541158-ED (текстовое поле, не более 100 символов). См. «Советы разработчику»;
pack_reference необязательное поле
номер пакета, в состав которого может входить указанный документ, пример 2155881 (числовое поле, BIGINT). См. «Советы разработчику»;
owner_bin обязательное поле
номер БИН вашей организации, от имени которой выставляется загружаемый документ на подпись, пример 169999070809 (текстовое поле, 12 цифровых символов);
receiver_bin обязательное поле
номер БИН организации/физлица или номер телефона физлица, кто должнен подписать загружаемый документ, пример для БИН 191919020202 (текстовое поле, 12 цифровых символов), пример для номера телефона +77050000000 (знак "+" и 11 цифр);
type_delegate обязательное поле
объем прав, которые вы разрешаете вашему партнеру производить с документом:
1 — разрешение просмотреть и подписать документ;
2 — разрешение только просмотреть документ;
(числовое поле, 1 символ);
receiver_mail необязательное поле
емейл получателя документа, на который будет отослано уведомление о необходимости подписи загруженного документа (текстовое поле, не более 50 символов);
uf
загружаемый(е) файл(ы) — документ, который загружается в сервис;
signature_pem необязательное поле
ЭЦП документа в base64-encoded формате «Подпиши.Онлайн». См. «Советы разработчику».
preregid необязательное поле
Номер предварительной регистрации документа в системе «Подпиши.Онлайн» - идентификатор id1 из команды reglink4qrcode. См. «API регистрации QR-кода для добавления в документ клиента до его подписи».
ownernosign необязательное поле
флаг указания системе поставить владельцу документа только право ознакомления с документом без необходимости подписи в системе «Подпиши.Онлайн» (0/1).
qrparse необязательное поле
Указание системе вставить QR-код в загружаемый документ. Правила добавления QR доступны по ссылке.
nosendgsmmsg необязательное поле
Указание системе не отсылать SMS при делегировании документа на мобильный номер.
К содержанию

ЗАГРУЗКА ДОКУМЕНТА: Выходные параметры

Успешная загрузка

В случае успешной загрузки документа будет возвращён XML-код следующего содержания:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no">
	<doc num='31' reference='nkdyddddwd4' package='201707' nametxt='Новый документ' filetxt='Новый документ'>ok</doc>
</resp>

…где поле <doc>ok</doc> означает успешную загрузку документа в сервис и атрибут num=’31’ содержит уникальный номер документа в рамках сервиса «Подпиши.Онлайн».

Ошибка загруженного документа

В случае ошибки во время обработки загруженного документа будет возвращен XML-код следующего содержания:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no">
	<doc num='' reference='nkdyddddwd4' package='201707' nametxt='Новый документ' filetxt='Новый офигенный документ' errtxt='Document already exist at DB'>err</doc>
</resp>

…где поле <doc></doc> содержит тип ошибки, а аттрибут num=’’ содержит пустое значение уникального номера документа.

Ошибка входных параметров

В случае ошибки во время обработки входных параметров будет возвращен XML-код следующего содержания:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="yes">
	<status>0</status>
	<errdesc>Authorization error (code=0)</errdesc>
</resp>
К содержанию

Советы разработчику

Hint 1. При передаче поля nametxt удобно указывать тип документа и дату, а также название фирмы-партнера и БИН фирмы-партнера, которая должна подписать загруженный документ — тогда в случае необходимости будет удобно искать документ в интерфейсе сервиса «Подпиши.Онлайн».

Hint 2. В поле uniq_reference удобно указывать поле из нескольких частей или секций — например 1С-5D43844, где первая часть обозначает, что документ был загружен из системы 1С, а вторая чаcть уникальный номер документа внутри 1С, или например [IT][17][DS22zwQ], где первая часть — обозначение департамента, вторая часть — номер сотрудника, который формировал документ, третья часть — номер документа внутри департамента. Поле uniq_reference должно быть уникальным, при загрузке документа с uniq_reference, который был использован ранее, система выдаст ошибку.

Hint 3. В поле pack_reference указывается числовой код, по которому можно найти документ. Например, вы загружаете в сервис 6000 актов выполненных работ за июнь 2017 года, указав в поле pack_reference значение 201706. Или вы можете каждый документ, который отправляете в сервис на подпись, присваивать уникальный цифровой номер перед отправкой, а после получения от сервиса уникального регистрационного номера из поля num=’’ сопоставлять номер внутри вашей системы с внешним номером документа внутри сервиса, чтобы в дальнейшем по внешнему уникальному номеру документа запрашивать статус документа.

Hint 4. Образец программного кода на PHP с использованием модуля curl для загрузки документа в сервис:

$upload = '/путь/к/вашему/файлу/file.xls';

$postdata = array(
	'login' => 'some@email.com',
	'apikey' => '7588ca38acc4ef76149caa0b0c115d94',
	'nametxt' => 'Новый документ',
	'uniq_reference' => '(SECTRETAR)(20170629)(LETTER-2948)',
	'pack_reference' => '201707',
	'owner_bin' => '169999070809',
	'receiver_bin' => '191919020202',
	'type_delegate' => '1',
	'receiver_mail' => ' some@email2.com',
	'uf' => "@".$upload
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://api.podpishi.kz/api.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$answer = curl_exec($ch);
curl_close($ch);

echo $answer;
К содержанию

Тестовая среда

Тестовая среда доступна по адресу

https://testzone.podpishi.kz/authbykey.php

Условия работы тестовой среды:

  1. Общее количество возможных документов - 300 штук, при превышении лимита обратитесь в поддержку;
  2. Раз в неделю в понедельник утром все загруженные документы удаляются;
  3. размер документа не может превышать 200 килобайт;
  4. при проверке тестовой подписи система всегда считает тестовые сертификаты валидными, даже если они отозваны или закончился их срок;

Пароль на все сертификаты: Qwerty12, архив с тестовыми сертификатами доступен к загрузке по ссылке

К содержанию

Набор готовых скриптов для установки на сайт

Готовые решения помогут быстро настроить все этапы заключения договора:

  1. ввод данных клиентом;
  2. проверка введенных данных;
  3. проверка текста договора, который подписывает клиент;
  4. формирование договора и счета на оплату в электронном виде;
  5. подпись документа на сайте с помощью ключа ЭЦП владельца сайта;
  6. загрузка сформированного документа в сервис «Подпиши.Онлайн» для подписи договора партнером.

🕐 Время установки: 3–5 минут.

Скачать готовые скрипты

Узнайте больше:

К содержанию

Постановка задачи для модульной интеграции

Если вы хотите написать модуль для внутренних нужд под конкретную систему - вы можете использовать как каркас постановку задачи, которую мы использовали для написания модуля 1С, это поможет вам формализовать требования к вашему продукту

Скачать постановку задачи

К содержанию

API получение статуса документа в системе

При успешной загрузке документов в систему в ответ возвращается уникальный идентификатор документа в рамка всего сервиса «Подпиши.Онлайн». Этот идентификатор необходимо использовать при запросе статуса документа

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getstatus</oper>
	<docuniq></docuniq> <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	…
	<docuniq></docuniq> <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<time></time>       <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет xml-код, содержащий следующие данные:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getstatus">
	<docnum>
		<id>2</id>
		<signinfo>
		<permission i='' is_own_doc='' created='' signed_type='' must_signed_by_bin='' signed='' signed_bin='' signed_fio='' signed_firm='' signed_policy='' signed_date='' sign_deleted='' smslinkhash='' /></signinfo>
	</docnum>
</resp>

Список атрибутов

id
уникальный номер документа в сервисе «Подпиши.Онлайн»;
i
внутренний индекс документа (целое число);
is_own_doc
признак принадлежности документа (1 — собственный документ, 0 — входящий документ);
created
дата создания документа в системе;
signed_type
тип делегирования подписи (1 — владелец документа, 2 — документ делегирован на подпись, 3 — документ делегирован на просмотр);
must_signed_by_bin
БИН, от имени которого должен быть подписан документ;
signed
0/1 — статус документа: 0 — не подписан, 1 — подписан;
signed_bin
БИН подписавшего документ;
signed_fio
ФИО подписавшего документ;
signed_firm
название компании, подписавшей документ;
signed_policy
тип права подписи (1 — первый руководитель предприятия, 2 — сотрудник с правом подписи, 35 — прочие сотрудники);
signed_date
дата получения подписи документа;
sign_deleted
признак удаления документа.
smslinkhash
хэш-параметр для создания ссылки на смс-подписание, если документ предусматривает данную опцию, формат ссылки http://api.podpishi.kz/sms.php?q={smslinkhash}
К содержанию

API получения списка доступных документов в системе

Система по данной команде позволяет получить список доступных документов. Команда используется для сверки собственных документов в сервисе со списком документов на стороне клиента, а так же для получения входящих документов, которые были направлены вам через сервис вашими партнерами.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getlistdocs</oper>
	<time1></time1>         <!-- дата начала периода выборки документов, в виде 20170825162514 -->
	<time2></time2>         <!-- дата окончания периода выборки документов, в виде 20170830235959 -->
	<owner_bin></owner_bin> <!-- БИН компании, для которой запрашивается список документов, при отсутствии берется БИН текущего шаблона -->
	<time></time>           <!-- время создания запроса в виде 20170902162514 -->
</data>

В ответ система вернет xml-код, содержащий следующие данные:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getlistdocs">
	<permission id='' i='' api_reference='' name='' is_own_doc='' created='' signed_type='' must_signed_by_bin='' signed='0' signed_bin='' signed_fio='' signed_firm='' signed_policy='0' signed_date='' sign_deleted='0' />
</resp>

Список атрибутов аналогичен аттрибутам ответа в предыдущей команде, дополнительно используются следующие параметры:

api_reference
референс документа, используемый при загрузке документа в систему через API;
name
имя документа, отображаемое внутри личного кабинета.
К содержанию

API получения количества доступных к загрузке документов

Система по данной команде позволяет получить количество документов, которые доступны пользователю к загрузке.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getavailabledocs</oper>
	<owner_bin></owner_bin> <!-- БИН компании, для которой запрашивается количество документов, при отсутствии берется БИН текущего шаблона -->
	<time></time>           <!-- время создания запроса в виде 20170902162514 -->
</data>

В ответ система вернет xml-код, содержащий следующие данные:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getavailabledocs" counts="">
</resp>

В поле counts будет возвращено количество документов, доступных к загрузке в системе. Значение может быть отрицательным.

К содержанию

API создания счета на оплату тарифного плана

Система по данной команде позволяет создать счет на оплату для дополнительного количества документов для случаев, когда пользователь исчерпал доступное к загрузке количество документов.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getcreateinvoice</oper>
	<tarif></tarif>         <!-- номер тарифного плана, берется из команды gettarifplan -->
	<owner_bin></owner_bin> <!-- БИН компании, для которой запрашивается количество документов, при отсутствии берется БИН текущего шаблона -->
	<time></time>           <!-- время создания запроса в виде 20170902162514 -->
</data>

В ответ система вернет xml-код, содержащий следующие данные:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getcreateinvoice" >
</resp>

В результате этой команды будет создан электронный документ, который будет содержать простой счет на оплату по выбранному тарифному плану. После получения положительного ответа на команду создания счета имеет смысл проверить входящие документы и загрузить с сервера уже подписанный с помощью ЭЦП счет от сервиса.

К содержанию

API получения списка тарифных планов

Система по данной команде позволяет получить список тарифных планов, которые доступны пользователю для выписки счета на дополнительное количество документов.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>gettarifplan</oper>
	<time></time> <!-- время создания запроса в виде 20170902162514 -->
</data>

В ответ система вернет xml-код, содержащий следующие данные:

<?xml version="1.0" encoding="UTF-8"?>
<resp err='no' command='gettarifplan'>
	<tarif></tarif><name></name><counts></counts><price></price>
	…
	<tarif></tarif><name></name><counts></counts><price></price>
</resp>

…где

<tarif></tarif>
номер тарифного плана;
<name></name>
название тарифного плана;
<counts></counts>
количество документов в тарифном плане;
<price></price>
стоимость тарифного плана.
К содержанию

API получения документа из личного кабинета

Система по данной команде позволяет загрузить физический документ, как собственный документ, так и документ, который был прислан партнером.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getdoc</oper>
	<docnum></docnum> <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<visualoff>0</visualoff> <!-- признак необходимости формирования архива без визуальной версии документа, допустимые значения: 0/1, по умолчанию 1 -->
	<needlang></needlang> <!-- в случае, если visualoff=1 - указывает язык формирования информации о подписях, допустимые значения: RU/KZ/UA -->
	<time></time>     <!-- время создания запроса в виде 20150130162514 -->

</data>

В ответ система вернет архив в формате .ZIP, который будет содержать запрашиваемый файл и файлы подписей для этого документа.

К содержанию

API добавления ЭЦП к документу

Система по данной команде позволяет загрузить ЭЦП к любому неподписанному документу из личного кабинета, который требует подписи.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>addsignature</oper>
	<docnum></docnum>               <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<indexnum></indexnum>           <!-- внутренний индекс документа -->
	<signature_pem></signature_pem> <!-- ЭЦП документа в base64-encoded формате -->
	<time></time>                   <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки при добавлении подписи к документу:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="addsignature">
</resp>
К содержанию

API добавления права подписи к документу

Система по данной команде позволяет добавить право подписи к любому документу из личного кабинета, который требует подписи.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>addpermission</oper>
	<docnum></docnum>               <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<type_delegate></type_delegate> <!-- объем прав (из команды добавления документа) -->
	<receiver_bin></receiver_bin> <!-- БИН/ИИН лица, которое должно подписать документ -->
	<receiver_mail></receiver_mail> <!-- email лица, которое должно подписать документ -->
	<senddoc2bin></senddoc2bin>     <!-- признак отправки документа только на БИН/ИИН (из команды добавления документа) -->
	<time></time>                   <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки при добавлении подписи к документу:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="addpermission">
</resp>
К содержанию

API удаления права подписи ЭЦП к документу

Система по данной команде позволяет удалить право подписи для неподписанного документа из личного кабинета, который требует подписи.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>delpermission</oper>
	<docnum></docnum>     <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<indexnum></indexnum> <!-- внутренний индекс документа -->
	<time></time>         <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки при добавлении подписи к документу:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="delpermission">
</resp>
К содержанию

API добавления партнером тарифного плана на клиента

Система по данной команде позволяет добавить клиенту количество документов в соответствии с тарифным планом, который оплатил клиент.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>addpackage2client</oper>
	<refnum></refnum>         <!-- уникальный номер распоряжения на стороне партнера, целое число -->
	<bin2client></bin2client> <!-- БИН клиента, которому зачисляется пакет -->
	<packet></packet>         <!-- номер тарифного пакета, целое число (из команды gettarifplan) -->
	<time></time>             <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки при добавлении количества документов клиенту:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="addpackage2client">
</resp>
К содержанию

API получения списка транзакций на добавление партнером тарифных планов

Система по данной команде позволяет партнеру получить за указанный период информацию о том, сколько партнер добавил документов и для какого БИН. Команда предназначена для сверки транзакций партнера между партенром и сервером.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getlistpartnertrn</oper>
	<owner_bin></owner_bin> <!-- БИН партнера, на который заключен партнерский договор (если в аккаунте партнера существует более одного шаблона ЭЦП) -->
	<time1></time1>         <!-- дата начала периода выборки документов, в виде 20170825162514 -->
	<time2></time2>         <!-- дата окончания периода выборки документов, в виде 20170830235959 -->
	<time></time>           <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет листинг транзакций за указанный период:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getlistpartnertrn">
	<id></id><bin2client></bin2client><date></date><count></count><refnum></refnum>
	…
	<id></id><bin2client></bin2client><date></date><count></count><refnum></refnum>
</resp>

…где

<id></id>
номер транзакции;
<bin2client></bin2client>
БИН клиента, для которого было зачисление документов;
<date></date>
дата операции, в виде 20170830235959;
<count></count>
количество зачисленных документов, целое число;
<refnum></refnum>
уникальный номер распоряжения на стороне партнера, целое число.
К содержанию

API блокировки возможности добавления клиентом новых документов в сервисе

Система по данной команде позволяет партнеру заблокировать для клиента возможность добавления документов в систему. Применяется в случае, если клиент запросил у партнера возврат остатка по услуге и приостанавливает пользование услугами сервиса.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>setblockuser</oper>
	<owner_bin></owner_bin>   <!-- БИН партнера, на который заключен партнерский договор (если в аккаунте партнера существует более одного шаблона ЭЦП) -->
	<bin2client></bin2client> <!-- БИН клиента. который будет заблокирован, если данный клиент ранее зарегистрирован партнером -->
	<time></time>             <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат успешного выполнения команды:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="setblockuser">
</resp>
К содержанию

API регистрации партнером клиентского аккаунта в сервисе

Система по данной команде позволяет партнеру зарегистировать клиента в сервисе. Применяется в случае, если партнер настроил регистрацию клиентов на своей стороне.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>reguserbypartner</oper>
	<email></email>         <!-- емейл клиента, который будет зарегистрирован -->
	<remoteid></remoteid>   <!-- порядковый номер клиента в системе партнера, целое число -->
	<owner_bin></owner_bin> <!-- БИН партнера, на который заключен партнерский договор (если в аккаунте партнера существует более одного шаблона ЭЦП) -->
	<time></time>           <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат успешного выполнения команды:

<?xml version="1.0" encoding="UTF-8"?>
	<resp err="no" command="reguserbypartner">
	<flag_newreg></flag_newreg>     <!-- флаг осуществления регистрации пользователя 0/1 (0 - регистрация не осуществлялась, 1 - была создана новая регистрация) -->
	<partner_owner></partner_owner> <!-- флаг принадлежности регистрации клиента партнеру 0/1 (0 - клиент регистрировался не через партнера, 1 - клиент был зарегистирован партнером) -->
	<serviceid></serviceid>         <!-- уникальный порядковый номер клиента в сервисе, целое число -->
</resp>

Если партнер пытается сделать регистрацию клиента, который уже был ранее зарегистрирован партнером с такими параметрами — система вернет данные ранней регистрации.

К содержанию

API удаленной авторизации клиента через систему партнера

Система по данной команде позволяет партнеру получить авторизационную сессию для клиента партнера, после чего переадресовать клиента в сервис с полученными данными авторизации.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>authuserbypartner</oper>
	<serviceid></serviceid> <!-- уникальный порядковый номер клиента в сервисе, целое число -->
	<remoteid></remoteid>   <!-- уникальный порядковый номер клиента в системе партнера, целое число -->
	<userip></userip>       <!-- ip клиента, который будет авторизован -->
	<owner_bin></owner_bin> <!-- БИН партнера, на который заключен партнерский договор (если в аккаунте партнера существует более одного шаблона ЭЦП) -->
	<time></time>           <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат успешного выполнения команды:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="authuserbypartner">
	<sessid></sessid>       <!-- номер сессии, целое число -->
	<sesspass></sesspass>   <!-- пароль сессии, текстовая строка -->
	<serviceid></serviceid> <!-- уникальный порядковый номер клиента в сервисе, целое число -->
</resp>
К содержанию

API регистрации QR-кода для добавления в документ клиента до его подписи.

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

Порядок использования:
- получение регистрационных идентификаторов id1 и id2
- создание уникальной ссылки для QR-кода по формату: http://api.podpishi.kz/qr.php?id1=id1&id2=id2
- создание QR-кода с полученной уникальной ссылкой
- вставка полученного изображения QR-кода в документ, который будет подписываться и загружаться в сервис «Подпиши.Онлайн»
- загрузка документа в сервис «Подпиши.Онлайн» через API с ОБЯЗАТЕЛЬНЫМ указанием параметра preregid, значение которого равно id1.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>reglink4qrcode</oper>
	<time></time>             <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки и регистрационные идентификаторы для создания QR-кода

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="reglink4qrcode">
</resp><id1>148554</id1><id2>2a3a436c50b418d9eca1e90071cab76b</id2>
К содержанию

API создания предоплаченного кода.

Система по данной команде создает предоплаченный код, который можно выдать клиенту для пополнения баланса доступных документов.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>createvouchercode</oper>
	<tarif>2</tarif> 		<!-- номер тарифного плана -->
	<vouchertype>1</vouchertype>	<!-- тип ваучера (1/2) -->
	<voucherref>24</voucherref>	<!-- уникальный референс команды на получение ваучера, целое число -->
	<time></time>             	<!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет номер вачера и пин-код ваучера

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="createvouchercode">
</resp><voucher_num>14855</voucher_num><voucher>ZATKM-KR1ZZ-HRP9L-KBEUU-1WWTF-8CBZJ</voucher>
К содержанию

API получения списка созданных предоплаченных кодов.

Система по данной команде вернет список ваучеров, созданных партнером за указанный период

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getlistvouchercode</oper>
	<time1></time1>         <!-- дата начала периода выборки документов, в виде 20170825162514 -->
	<time2></time2>         <!-- дата окончания периода выборки документов, в виде 20170830235959 -->
	<time></time>             <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки и список ранее созданных ваучеров.

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getlistvouchercode">
</resp>
<vouchers>
<v><d>20191218161237</d><r>24</r><num>14855</num><pin>ZATKM-KR1ZZ-HRP9L-KBEUU-1WWTF-8CBZJ</pin><c>1000</c><s>99000</s><pd>30</pd><t>1</t><e>0</e></v>
<v><d>20191219090654</d><r>25</r><num>14896</num><pin>VVVKM-421YY-48MKL-HFUGG-FFF56-AAPB7</pin><c>1000</c><s>99000</s><pd>30</pd><t>1</t><e>0</e></v>
</vouchers>


К содержанию

API создания ссылки для подписания одного документа

Система по данной команде позволяет создать ссылку для подписания документа без входа в личный кабинет.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>add4imerchantsign</oper>
	<docnum></docnum>               <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<indexnum></indexnum>           <!-- внутренний индекс документа -->
	<returnurl></returnurl>         <!-- ссылка возврата пользователя после подписания -->
	<time></time>                   <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет параметры сессии, которые надо будет указать при формировании ссылки на подписание документа:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="add4imerchantsign">
	<id1></id1> <!-- номер сессии -->
	<id2></id2> <!-- пароль сессии -->

</resp>

Полученные данные вы используете для переадрессации клиента на ссылку:
https://api.podpishi.kz/apisignmerchant.php?session_id=$id1&session=$id2&sign=$sign
где

sign обязательное поле
md5-хэш из трех параметров id1.id2.apikey (apikey - ваш ключ для API-операций).

К содержанию

API получения расширенных данных из подписанного документа

Система по данной команде позволяет получить в XML-формате все данные подписанта, которые он ввел во время заполнения шаблона документа.

Формат предоставялемых данных: xml-код, который запакован в base64-кодировку.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>getextendedinfo</oper>
	<docnum></docnum>               <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<time></time>                   <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет параметры данных, введенных клиентом:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="getextendedinfo">
	<extdata></extdata> <!-- данные xml в base64 -->

</resp>
К содержанию

API повторной отправки кода согласия на GSM-номер

Система по данной команде повторно отправляет код согласия на GSM-номер, указанный при делегировании документа.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>resend_gsm_msg</oper>
	<docnum></docnum>               <!-- уникальный номер документа в сервисе «Подпиши.Онлайн» -->
	<indexnum></indexnum>           <!-- внутренний индекс документа -->
	<time></time>                   <!-- время создания запроса в виде 20150130162514 -->
</data>

В ответ система вернет результат отсутствия ошибки при инициировании отправки:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="resend_gsm_msg">
</resp>
К содержанию

API создания ссылки на подписание нескольких документов через SMS

Система по данной команде создает ссылку на подписание нескольких документов через SMS и отправляет ссылку в SMS-сообщении на телефон с кодом согласия. Все документы ранее должны быть уже делегированы для согласия на введенный номер телефона при создании документа в системе.

Входные параметры

Входные параметры передаются только методом POST по адресу http://api.podpishi.kz/apistatus.php или https://api.podpishi.kz/apistatus.php в следующем составе:

login обязательное поле
ваш логин (email) в сервисе «Подпиши.Онлайн», пример some@email.com (текстовое поле, не более 30 символов);
apikey обязательное поле
ключ для API-операций, который находится в личном кабинете в разделе «Управление», пример 7588ca38acc4ef76149caa0b0c115d94 (текстовое поле, 32 символа);
command
xml-код, закодированный в base64-кодировке, имеющий следующую структуру:
<data>
	<oper>add4imerchantsigSMSnmulti</oper>
	<doc_for_sign></doc_for_sign>               <!-- список номеров в документов в сервисе «Подпиши.Онлайн» -->
	<phone></phone>           <!-- номер телефона для отправки кода согласия -->
	<time></time>                   <!-- время создания запроса в виде 20150130162514 -->
</data>

Список номеров документов представляет собой секции, разделенные знаком ';', где секция состоит их двух частей, соединенных знаком подчеркивания. Первая часть - уникальный номер документа <docnum>, вторая часть - внутренний индекс документа <indexnum>, пример:

54_5481;58_5502

В ответ система вернет результат отсутствия ошибки при инициировании отправки:

<?xml version="1.0" encoding="UTF-8"?>
<resp err="no" command="add4imerchantsigSMSnmulti">
</resp>
К содержанию