Запрос описания формы
Описание формы запрашивается методом GET по адресу:
https://yoomoney.ru/api/showcase/<pattern_id>
Запрос эквивалентен загрузке документа с удаленного сервера.
Описание простых форм рекомендуется кэшировать на стороне клиента, описания форм изменяются редко.
Последующие шаги многошаговых форм кэшировать нельзя, так как их состояние зависит от данных, введенных покупателем на первом шаге.
Запрос
Формат запроса
GET /api/showcase/<pattern_id> HTTP/1.1 Host: yoomoney.ru Accept-Language: <lang> Accept-Encoding: <gzip> If-Modified-Since: <date>
Параметры URL запроса:
Атрибут | Тип | Описание |
---|---|---|
pattern_id | string | Идентификатор шаблона платежа. |
Запрос может содержать следующие HTTP-заголовки:
Заголовок | Описание |
---|---|
Accept-Language | Код языка, на котором клиент хочет получить описание формы в соответствии с RFC-5646: Tags for Identifying Languages, IANA Language Subtag Registry. Возможные значения:
По умолчанию: ru |
Accept-Encoding | Указание по поддержке клиентом сжатия трафика. Поддерживаются значения: gzip — поддержка GZIP transfer encoding (RFC-1952: GZIP file format specification).По умолчанию: сжатие трафика не применяется. |
If-Modified-Since | Если описание формы оплаты было сохранено в кэше клиента, то указывается значение Last-Modified ответа сервера на предыдущий запрос. Если клиент не кэширует описания форм, заголовок не указывается. |
Ответ
Метод возвращает один из следующих вариантов ответа:
- описание формы оплаты;
- указание на то, что форма не существует;
- указание на то, что следует использовать другую форму;
- указание о том, что форма не изменялась со времени предыдущего запроса.
Возможные HTTP-коды ответа:
HTTP-код ответа | Описание |
---|---|
300 Multiple Choices | Успех, ответ содержит описание формы оплаты. Адрес для отправки формы указывается в HTTP-заголовке Location |
301 Moved Permanently | Вместо запрошенной формы оплаты следует использовать другую форму. Адрес новой формы указывается в HTTP-заголовке Location. Тело ответа отсутствует. |
304 Not Modified | Описание формы оплаты со времени предыдущего запроса не изменилось. Тело ответа отсутствует. |
404 File Not Found | Запрошенная форма оплаты не существует или запрещена к использованию. Тело ответа отсутствует. |
500 Internal Server Error | Сервис временно недоступен по техническим причинам. |
Ответ сервера содержит следующие специальные HTTP-заголовки:
HTTP-код ответа | Описание |
---|---|
Location | Адрес для отправки данных формы на сервер. Либо новый адрес формы, если требуется использовать другую форму. |
Content-Encoding | gzip , если клиент запросил сжатие трафика. |
Указание на режим кэширования на стороне клиента. Возможные значения:
| |
Last-Modified | Дата и время последнего изменения описания формы. |
Для наглядности некоторые примеры ниже приведены без сжатия, в отформатированном виде. Сервер возвращает JSON-compact-формат в сжатом виде.
Пример: возвращено описание простой формы или первого шага многошаговой формы
HTTP/1.1 300 Multiple Choices Location: https://yoomoney.ru/api/showcase/5551 Content-Type: application/json Content-Length: 539 Cache-Control: private Last-Modified: Thu, 17 Jul 2014 09:00:25 GMT { "money_source": [ "wallet", "cards", "payment-card", "cash" ], "title":"Квитанции", "hidden_fields":{ "ShopID":"13423", "ShopArticleID":"35241", "ShowCaseID":"3005", "ContractTemplateID":"524867", "budgetDocNumber":"0", "has_external_status":"", "is_withdrawal":"" }, "form": [ { "type":"text", "name":"supplierInn", "hint":"10 цифр (для ИП - 12 цифр)", "label":"ИНН получателя:", "alert":"Пожалуйста, укажите ИНН получателя", "required":true, "readonly":false, "minlength":10, "maxlength":12, "pattern":"^\\d{10}$|^\\d{12}$" }, { "type":"submit", "label":"Продолжить" } ] }
Пример: перенаправление на новую форму
HTTP/1.1 301 Moved Permanently Location: https://yoomoney.ru/api/showcase/5551
Пример: форма оплаты не существует или запрещена к использованию
HTTP/1.1 404 Not Found Content-Length: 0