Запрос описания формы

Описание

Описание формы запрашивается методом GET по адресу:

https://money.yandex.ru/api/showcase/<pattern_id>

Запрос эквивалентен загрузке документа с удалённого сервера.

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

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

Формат запроса

GET /api/showcase/<pattern_id> HTTP/1.1
Host: money.yandex.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 — русский;
  • en — английский.

По умолчанию: русский.

Accept-Encoding

Указание по поддержке клиентом сжатия трафика. Поддерживаются значения:

По умолчанию: сжатие трафика не применяется.

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, если клиент запросил сжатие трафика.
Cache-Control

Указание на режим кэширования на стороне клиента. Возможные значения:

  • private — описание формы оплаты следует кэшировать на стороне клиента;
  • no-cache — описание формы оплаты кэшировать запрещено.
Last-Modified Дата и время последнего изменения описания формы.
Для наглядности некоторые примеры ниже приведены без сжатия, в отформатированном виде. Сервер возвращает JSON-compact-формат в сжатом виде.

Пример

Пример: возвращено описание простой формы или первого шага многошаговой формы
HTTP/1.1 300 Multiple Choices
Location: https://money.yandex.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://money.yanex.ru/api/showcase/5551
Пример: форма оплаты не существует или запрещена к использованию
HTTP/1.1 301 Moved Permanently
Location: https://money.yanex.ru/api/showcase/5551
Пример: форма оплаты не существует или запрещена к использованию
HTTP/1.1 404 Not Found
Content-Length: 0