Используются три способа прямой передачи информации между магазином и Platron:
-
Методом GET – данные передаются в параметрах методом GET. При передаче через GET, сложных структурированных данных, таких как многомерные массивы, используется следующий формат записи:
https://www.platron.ru/script.php?param_1=val1&m_2[subparam_1]=val2&m_2[subparam_2]=val3&m_3=val4
Методом POST – данные передаются в параметрах методом POST. Структурные данные при работе через POST, формируются аналогичным образом.
Через XML – запросы передаются методом POST в единственном параметре pg_xml, который представляет собой XML вида:
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_param1>value1</pg_param1>
<pg_param2>value2</pg_param2>
<pg_param3>value3</pg_param3>
</request>
Независимо от способа формирования запроса (GET, POST или XML) ответ всегда выдается в формате XML вида:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>ok</pg_status>
<pg_param1>value1</pg_param1>
<pg_param2>value2</pg_param2>
<pg_param3>value3</pg_param3>
</response>
В XML допускается только кодировка utf-8.
В ответе обязательно присутствует поле pg_status, которое показывает результат выполнения запроса. pg_status может быть равно ok в случае успешной обработки запроса, error в случае ошибки. В последнем случае также могут присутствовать поля:
pg_error_code – числовой код ошибки (обязательное поле; список возможных значений см. В разделе Справочник кодов ошибок) pg_error_description – описание ошибки (необязательное поле).
Пример:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>19imfwM909TH820jwk387</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>200</pg_error_code>
<pg_error_description>amount not specified</pg_error_description>
<pg_sig>ccde41a4f425d124a23c3a53a3140bdc158ac</pg_sig>
</response>
В ответах на отдельные запросы возможны и другие значения pg_status, кроме ok и error.