API

  1. Домой
  2. API
  3. Общие принципы взаимодействия
  4. Прямое взаимодействие

Прямое взаимодействие

Используются три способа прямой передачи информации между магазином и Platron:

  1. Методом 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
  1. Методом POST – данные передаются в параметрах методом POST. Структурные данные при работе через POST, формируются аналогичным образом.

  2. Через 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.