[GET] Получение данных подписки (AR, PMR)
Описание запроса
GET /v1/subscription/[suscription id]
Запрос позволяет получить данные о существующей подписке в заказе покупателя (AR, PMR).
Данные для отправки запроса
- Endpoint URL:
- Боевая среда: https://api.ecommerce.softline.com/v1/subscription/
- Тестовая среда: https://api.ecommerce.softline.com.demoslweb.com/v1/subscription/
- Метод: GET
- Авторизация: с помощью токена
Идентификатор подписки
Формат: NN_MM, где NN это идентификатор заказа, который инициировал подписку (родительский заказ).
Вы можете получить его из:
Формат: NN_MM, где NN это идентификатор заказа, который инициировал подписку (родительский заказ).
Вы можете получить его из:
- Webhook-оповещения (subscription.id)
- Из ответа на запрос к Orders API
Авторизационный токен.
- Формат значения:
Bearer [token]
- Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API.
Пример запроса
https://api.ecommerce.softline.com/v1/subscription/111111_22222
Ответ на запрос
В ответ на запрос вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Положительный ответ
При успешной обработке запроса вы получите код ответа сервера HTTP/1.1 200 OK. В теле ответа будут переданные данные подписки в формате JSON.
Тип подписки
Варианты значений:
Варианты значений:
- AR - подписка с автоматическим продлением (включая AR Trial)
- PMR - подписка с продлением вручную
Статус подписки
Варианты значений:
Для подписок с продлением вручную (PMR) используются аналогичные статусы, но не доступно восстановление подписки.
Варианты значений:
- active - подписка действует и не требует оплаты
- not paid - подписка ожидает оплаты
- cancelled - продление отменено
Для подписок с продлением вручную (PMR) используются аналогичные статусы, но не доступно восстановление подписки.
Данные заказа, продукт которого является инициатором подписки (родительский заказ).
Дата и время успешной оплаты родительского заказа.
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Ссылка на управление подпиской с автоматическим продлением (AR, AR Trial)
Ведет на якорь секции подписки на странице заказа-инициатора подписки.
* - Обязательное, если type равно AR. В ином случае параметр не передается.
Ведет на якорь секции подписки на странице заказа-инициатора подписки.
* - Обязательное, если type равно AR. В ином случае параметр не передается.
Срок действия продукта в действующем периоде подписки
Это срок действия продукта из последнего оплаченного заказа, созданного в рамках подписки. Обратите внимание, этот срок относится к подписке в целом.
Например:
Это срок действия продукта из последнего оплаченного заказа, созданного в рамках подписки. Обратите внимание, этот срок относится к подписке в целом.
Например:
- Была создана подписка на продукт со сроком действия 7 дней:
- В ответе на запрос будет передано period = P7D
- Произошло создание дочернего заказа на продукт со сроком действия 1 месяц:
- В ответе на запрос будет передано period = P7D. Так как дочерний заказ еще не был оплачен и подписка еще не продлена, то передается срок из действующего периода подписки
- Произошла оплата дочернего заказа:
- В ответе на запрос будет передано передано period = P1M, так как дочерний заказ был оплачен, подписка продлена и действующий период подписки обновился
- Формат: ISO 8601 code: P[число][ед.измерения]
- Поддерживаемые единицы измерения: Y - год, M - месяц, D - день. Например, "P1Y" соответствует сроку "1 год"
Дата окончания периода действия подписки
Узнайте подробнее о том, как определяется эта дата.
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Узнайте подробнее о том, как определяется эта дата.
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Дата автоматической оплаты продления (AR, AR Trial)
Это дата следующего платежа. Узнайте подробнее о том, как определяется эта дата.
Это дата следующего платежа. Узнайте подробнее о том, как определяется эта дата.
- * - Обязательное, если type равно AR. В ином случае параметр не передается.
- Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Дата напоминания о продлении
Это дата, когда покупателю будет отправлен email о предстоящем списании оплаты продления. Совпадает с датой, когда будет создан следующий дочерний заказ. Узнайте подробнее о том, как определяется эта дата.
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Обратите внимание. Если дата наступила, но заказ на продление не был создан по какой-либо причине, то каждый последующий день будет выполняться еще одна попытка создания - в сумме 6 попыток. При этом дата, передаваемая в этом параметре, не будет изменяться при повторных попытках.
Это дата, когда покупателю будет отправлен email о предстоящем списании оплаты продления. Совпадает с датой, когда будет создан следующий дочерний заказ. Узнайте подробнее о том, как определяется эта дата.
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Обратите внимание. Если дата наступила, но заказ на продление не был создан по какой-либо причине, то каждый последующий день будет выполняться еще одна попытка создания - в сумме 6 попыток. При этом дата, передаваемая в этом параметре, не будет изменяться при повторных попытках.
Код валюты стоимости продления
Совпадает с кодом валюты заказа на продукт инициатор-подписки. Валюта не может быть изменена в процессе жизни подписки.
Совпадает с кодом валюты заказа на продукт инициатор-подписки. Валюта не может быть изменена в процессе жизни подписки.
- Формат: ISO 4217 alpha-3, 3 символа.
- Варианты значений см. в справочнике.
Стоимость подписки в текущем периоде действия
Это та сумма, которую оплатил покупатель (учитывает количество, VAT, скидку). Если текущий период действия завершен, и продление еще не оплачено, то здесь будет передана стоимость подписки в последнем оплаченном периоде действия.
Формат: Число с 2 десятичными знаками, разделитель - точка. Передается как строка.
Это та сумма, которую оплатил покупатель (учитывает количество, VAT, скидку). Если текущий период действия завершен, и продление еще не оплачено, то здесь будет передана стоимость подписки в последнем оплаченном периоде действия.
Формат: Число с 2 десятичными знаками, разделитель - точка. Передается как строка.
Стоимость продления подписки в следующем периоде действия
Это та сумма, которую должен заплатить покупатель за продление (учитывает количество, VAT, скидки).
Формат: Число с 2 десятичными знаками, разделитель - точка. Передается как строка.
Это та сумма, которую должен заплатить покупатель за продление (учитывает количество, VAT, скидки).
Формат: Число с 2 десятичными знаками, разделитель - точка. Передается как строка.
Пример положительного ответа для AR подписки
{
"id": "111111_22222",
"type": "AR",
"status": "active",
"initial_order": {
"order_id": 111111,
"create_date": "2021-08-13T09:16:35+03:00"
},
"url": "https://demo.checkout.softline.com/order/status/111111/fb61abcba997a5da0a627535a5879ab5#autorenewal",
"period": "P1Y",
"expiration_date": "2022-08-13T23:59:00+03:00",
"next_charge_date": "2022-08-05T09:25:00+03:00",
"next_notification_date": "2022-08-01T09:25:00+03:00",
"currency": "USD",
"current_price": "99.99",
"next_billing_price": "80.00",
"next_product_name": "Product renewal for 1 year"
}
Пример положительного ответа для PMR подписки
{
"id": "111111_22222",
"type": "PMR",
"status": "active",
"initial_order": {
"order_id": 111111,
"create_date": "2021-08-13T09:16:35+03:00"
},
"period": "P1Y",
"expiration_date": "2022-08-13T23:59:00+03:00",
"next_notification_date": "2022-08-01T09:25:00+03:00",
"currency": "USD",
"current_price": "99.99",
"next_billing_price": "80.00",
"next_product_name": "Product renewal for 1 year"
}
Ответ об ошибке
В случае ошибки при обработке запроса вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Справочник HTTP-кодов ответа сервера при ошибке
Код ответа сервера | Описание |
HTTP/1.1 400 Bad Request | Запрос не валиден (ошибка в параметрах; не переданы необходимые данные и т.п.). В теле ответа будет передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 401 Unauthorized | Неуспешная аутентификация. В теле ответа будет передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 404 Not found | Неверный URL запроса или подписка не найдена. Проверьте адрес запроса. В теле ответа может быть передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 500 Request Error | Ошибка на стороне сервера. Повторите запрос позднее или обратитесь в службу поддержки. |
Справочник дополнительных кодов ошибок для HTTP 400
Error | Message | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
7000 | No access to subscription management. Please contact technical support. | Не получилось определить настройки подключения. Пожалуйста, обратитесь в службу поддержки. |
7010 | Invalid field value: [наименование поля] | Запрос не валиден, например, не идентификатор подписки имеет неверный формат. В том числе ошибка будет возвращена, если в поле передано null, и этот вариант значения не указан как допустимый в описании поля. |
Справочник дополнительных кодов ошибок для HTTP 401
Справочник этих ошибок одинаковый для всех API, которые используют авторизацию по токену.
Справочник дополнительныхкодов ошибок для HTTP 404
Error | Message | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
7400 | Subscription not found. | Подписка с переданным идентификатором не найдена, или у вас нет прав на получение ее данных. |
Пример ответа об ошибке
{
"errors": [{
"error": 7010,
"message": "Subscription not found: 111111_22222"
}
]
}