[POST] Изменение активности подписки подписки (отмена и восстановление) (AR/PMR)
Описание запроса
POST /v1/subscription/modify_activity
Запрос позволяет изменить активность подписки и тем самым отменить ее или восстановить после отмены. Обратите внимание, запрос влияет только на одну определенную подписку покупателя.
Активность подписки - это отдельное свойство, которое не является статусом подписки:
- Пока подписка активна - она может быть продлена. В этом состоянии у подписки может быть статус active или not_paid.
- При деактивации подписки происходит ее отмена (статус подписки изменяется на cancelled). Подписку можно деактивировать, если она активна. Действие доступно для AR и PRM подписок.
- При активации подписки происходит ее восстановление после отмены (подписка вернется в статус active или not_paid). Подписку можно активировать, если деактивирована и выполняются условия восстановления подписки. Действие доступно только для AR подписок.
Узнайте подробнее о том, как работают:
- Отмена AR подписки (для PMR аналогично)
- Восстановление AR подписки
Данные для отправки запроса
- Endpoint URL:
- Метод: POST
- Формат: JSON
- Авторизация: с помощью токена
- Формат значения:
Bearer [token]
- Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API.
Формат: NN_MM, где NN это идентификатор заказа, который инициировал подписку (родительский заказ).
Вы можете получить его из:
- Webhook-оповещения (subscription.id)
- Из ответа на запрос к Orders API
Варианты значений:
- true - подписка активирована. Если подписка имеет статус "отменена" (cancelled) и выполняются условия ее восстановления, то подписка будет восстановлена в случае успешной обработки запроса.
- false - подписка деактивирована. Если подписка имеет статус "активна" (active) или "ожидает оплаты" (not paid), то подписка будет отменена в случае успешной обработки запроса.
Варианты значений:
- true - отправка письма запрещена. В случае успешной обработки запроса письмо об отмене / возобновлении подписки не будет отправлено.
- false - отправка письма разрешена. В случае успешной обработки запроса письмо об отмене / возобновлении подписки будет отправлено (если подключено).
Примеры запроса
Пример запроса с полным набором параметров
{
"id": "111111_22222",
"activity": false,
"suppress_customer_notification": true
}
Пример запроса для отмены подписки (письмо об отмене будет отправлено)
{
"id": "111111_22222",
"activity": false
}
Пример запроса для отмены подписки с запретом на отправку письма
{
"id": "111111_22222",
"activity": false,
"suppress_customer_notification": true
}
Пример запроса для возобновления подписки (письмо о возобновлении будет отправлено)
{
"id": "111111_22222",
"activity": true
}
Ответ на запрос
В ответ на запрос вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Положительный ответ
При успешной обработке запроса вы получите код ответа сервера HTTP/1.1 200 OK.
Обработка запроса считается успешной, только если с подпиской было выполнено соответствующее действие:
- В запросе было передано: "activity": false - обработка будет успешна, если подписка отменена в результате обработки (если она уже была отменена ранее, то в ответ на запрос вернется ошибка).
- В запросе было передано: "activity": true - обработка будет успешна, если подписка возобновлена в результате обработки (если она на момент запроса активна или ожидает оплаты, то в ответ на запрос вернется ошибка).
Ответ об ошибке
В случае ошибки при обработке запроса вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Справочник 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 | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
110 | JSON is not valid. | Запрос не может быть выполнен. Структура полей запроса не валидна. Проверьте поля в теле запроса на соответствие формату JSON. |
111 | Invalid data format (Content-type). | Запрос не может быть выполнен. Неправильный заголовок запроса. Content-type должен быть равен application/json. |
7000 | No access to subscription management. Please contact technical support. | Запрос не может быть выполнен. Не получилось определить настройки подключения. Пожалуйста, обратитесь в службу поддержки. |
Если хотя бы одна ошибка из списка ниже найдена, то проверка запроса не прерывается. В ответе может быть возвращено несколько ошибок. |
||
7010 | Invalid field value: [наименование параметра]. | Запрос не может быть выполнен. Запрос не валиден, например, не идентификатор подписки имеет неверный формат. В том числе ошибка будет возвращена, если в поле передано null, и этот вариант значения не указан как допустимый в описании поля. |
7210 | Impossible to cancel the subscription. The subscription was cancelled earlier. | Подписка не может быть отменена, так как она на текущий момент уже отменена (имеет статус cancelled) и не требует отмены. |
7220 | Impossible to restore the subscription. The subscription is still active. | Подписка не может восстановлена, так как она на текущий момент активна (имеет статус active) или ожидает оплаты (имеет статус not_paid) и не требует восстановления. |
7230 | Impossible to restore the subscription. No restoration option is available for this subscription. | Подписка не может восстановлена, так не выполнены условия восстановления. См. подробнее об условиях восстановления AR подписки (для PMR подписок восстановление не доступно). |
7900 | Failed to execute the action with the subscription. Please contact Technical Support. | Действие с подпиской недоступно по техническим причинам на нашей стороне. Пожалуйста, повторите запрос позднее или обратитесь в службу поддержки. |
Справочник дополнительных кодов ошибок для HTTP 401
Справочник этих ошибок одинаковый для всех API, которые используют авторизацию по токену.
Справочник дополнительныхкодов ошибок для HTTP 404
Error | Message | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
7400 | Subscription not found. | Подписка с переданным идентификатором не найдена, или у вас нет прав на получение ее данных. |
Пример ответа об ошибке
{
"errors": [{
"error": 7210,
"message": "Impossible to cancel the subscription. The subscription was cancelled earlier."
}
]
}