[GET] Получение данных заказа
Описание запроса
GET /v1/order/[order id]
Запрос позволяет получить данные заказа.
Этот запрос может быть использован также для получения данных платежа, созданного через Softline Payments.
Данные для отправки запроса
- Endpoints URL:
- Боевая среда: https://api.ecommerce.softline.com/v1/order
- Тестовая среда: https://api.ecommerce.softline.com.demoslweb.com/v1/order
- Метод: GET
- Авторизация: с помощью токена
Вы можете получить его:
- В webhook-оповещении (order_id)
- В ответ на запрос получения списка заказов (ids)
- В запросе на получение лицензии продукта
- Формат значения:
Bearer [token]
- Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API
Пример запроса
GET https://api.ecommerce.softline.com/v1/order/123456
Ответ запрос
В ответ на запрос вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Положительный ответ
При успешной обработке запроса вы получите код ответа сервера HTTP/1.1 200 OK. В теле ответа будут переданы данные заказа в формате JSON.
В ответе передаются:
- Данные заказа
- Данные об оплате
- Данные покупателя
- Данные продуктов, включая:
- (Опционально) Данные подписки
- (Опционально) Данные по возврату
- (Опционально) Дополнительные параметры заказа
Формат идентификатора, в котором к нему может быть добавлен префикс. Для заказа Softline Checkout: это тот вид, в котором покупатель видит номер заказа.
Для платежа Softline Payments: Дополненный идентификатор платежа
Узнайте подробнее о статусах заказа.
Варианты значений:
- not paid - не оплачен
- paid - оплачен
- deleted - удален
Используется, если оформлен заказ на продукт с динамическими характеристиками. Этот идентификатор вы получаете в ответ на запрос генерации ссылки на покупку продукта с динамическими характеристиками (buy_link). В ином случае параметр будет передан с пустым значением ("").
Для платежа Softline Payments: идентификатор платежа на вашей стороне
Формат: YYYY-MM-DDThh:mm:ss±hh:mm.
Для платежа Softline Payments: Дата и время создания платежа
- Формат: YYYY-MM-DDThh:mm:ss±hh:mm
- Если оплата не была произведена, то параметр будет передан с пустым значением ("")
- Формат: ISO 4217 alpha-3, 3 символа.
- Варианты значений см. в справочнике.
Варианты значений см. в справочнике.
Если заказ создан в тестовой среде, то ссылка будет предназначена для тестовой среды (ссылка будет иметь суффикс .demoslweb.com).
Для платежа Softline Payments: cсылка на страницу платежной формы
- Передается в валюте заказа
- Рассчитывается от цены без VAT
- Учитывает количество продукта в заказе
- Формат: Число с 2 десятичными знаками, разделитель - точка, передается как строка
- Если к продуктам заказа не были применены скидки, то параметр будет передан с значением "0.00"
- Передается в валюте заказа
- Учитывает количество продуктов
- Формат: Число с 2 десятичными знаками, разделитель - точка, передается как строка
- Если на все продукты заказа процент VAT равен нулю, то параметр будет передан с значением "0.00"
- Передается в валюте заказа
- Учитывает количество продуктов, скидки, VAT
- Формат: Число с 2 десятичными знаками, разделитель - точка, передается как строка
Варианты значений:
- true - заказ является родительским и для него может быть инициирован автоплатеж через Payments API. Узнайте больше о сценариях такой покупки:
- false - заказ не является родительским.
Это то название, которое покупатель видит в корзине при оформлении заказа.
Может быть заполнено, если:
- Покупатель оплатил заказ банковской картой
- Заказ создан для продления AR подписки (дочерний) и еще не был оплачен. В этом случае используется значение из родительского заказа, если он был оплачен банковской картой
Может быть заполнено, если:
- Покупатель оплатил заказ банковской картой
- Заказ создан для продления AR подписки (дочерний) и еще не был оплачен. В этом случае используется значение из родительского заказа, если он был оплачен банковской картой
Если не заполнен, то параметр будет передан с пустым значением ("").
Передается в случае, если выполняются условия:
- В заказе есть подписка (AR или PMR)
- Для оплаты используется банковая карта и срок окончания ее действия определен (передан параметр payment.card_expiration_date). Если заказ создан для продления подписки (дочерний) и еще не оплачен, то используется значение из родительского заказа
Варианты значений:
- true - срок действия банковской карты истекает до окончания срока действия подписки (payment.card_expiration_date < subscription.expiration_date)
Например:- Дата окончания действия карты (payment.card_expiration_date) = 09/2026 (т.е. карта действует до 30.09.2026)
- Дата окончания действия подписки (products.subscription.expiration_date) = 15.10.2026
- Поскольку payment.card_expiration_date < products.subscription.expiration_date, то payment.is_card_expired будет передано true
- false - срок действия банковской карты истекает после окончания срока действия подписки (payment.card_expiration_date ≥ products.subscription.expiration_date)
Например:- Дата окончания действия карты (payment.card_expiration_date) = 10/2026 (т.е. карта действует до 31.10.2026)
- Дата окончания действия подписки (products.subscription.expiration_date) = 15.10.2026
- Поскольку payment.card_expiration_date > products.subscription.expiration_date, то payment.is_card_expired будет передано false
Этот и другие параметры по рассрочке учитывают только рассрочку Sofline Checkout (не учитывают рассрочку на стороне PSP). Узнайте подробнее об оплате в рассрочку.
Варианты значений:
- true - оплата выполняется в рассрочку
- false - рассрочка не используется (оплата выполняется единоразово)
- * - Обязательный параметр, если payment.is_installment_payment равно true, в ином случае не передается
- Формат: число с 2 десятичными знаками, разделитель - точка, передается как строка
- Сумма последней доли рассрочки может незначительно отличаться от остальных долей
- * - Обязательный параметр, если payment.is_installment_payment равно true, в ином случае не передается
- Всегда совпадает с значением параметра currency
* - Обязательный параметр, если payment.is_installment_payment равно true, в ином случае не передается.
- Формат: ISO 3166-1 alpha-2
- Варианты значений см. в справочнике
Варианты значения:
- physical - физическое лицо
- juridical - юридическое лицо
Если не заполнен, то параметр будет передан с пустым значением ("").
Также, используется для передачи:
- ИНН компании при оплате в рублях
- DNI/CUIL или CUIT при оплате в аргентинских песо
Если не заполнено, то параметр будет передан с пустым значением ("").
Если не заполнен, то параметр будет передан с пустым значением ("").
Если не заполнен, то параметр будет передан с пустым значением ("").
Для платежа Softline Payments: дополнительные данные о платеже
Для платежа Softline Payments: техническое значение
Если не заполнен, то параметр будет передан с пустым значением ("").
Для платежа Softline Payments: техническое значение
Если не заполнен, то параметр будет передан с пустым значением ("").
Для платежа Softline Payments: техническое значение
Варианты значения:
- b2c - продукт предназначен для физических лиц
- b2b - продукт предназначен для юридичесих лиц
- mobile - мобильное приложение
Для платежа Softline Payments: техническое значение
Для платежа Softline Payments: описание платежа
- Передается в валюте заказа
- Не учитывает VAT и скидку
- Формат: число с 2 десятичными знаками, разделитель - точка, передается как строка
Для платежа Softline Payments: всегда передается "1"
Если к продукту не была применена скидка, то параметр будет передан с пустым значением "".
Для платежа Softline Payments не используется, параметр будет передан с пустым значением ("")
- Передается в валюте заказа
- Рассчитывается от цены без VAT
- Учитывает количество продукта в заказе
- Формат: Число с 2 десятичными знаками, разделитель - точка, передается как строка
- Если к продукту не была применена скидка, то параметр будет передан с пустым значением ""
- Передается в валюте заказа
- Учитывает количество продуктов
- Формат: Число с 2 десятичными знаками, разделитель - точка, передается как строка
- Если процент VAT равен нулю, то параметр будет передан с значением "0.00"
- Передается в валюте заказа
- Учитывает количество продукта в заказе, VAT, скидку
- Формат: число с 2 десятичными знаками, разделитель - точка, передается как строка
- Передается в валюте заказа/платежа
- Формат: число с 2 десятичными знаками, разделитель - точка, передается как строка
Передается, если продукт использует электронную доставку, отправка была выполнена и данные сохранены на стороне Softline.
Для платежа Softline Payments не используется
Передается, если для продукта существует подписка с автоматическим продлением лицензии (AR / AR Trial) или подписка с оплатой продления вручную (PMR).
Обратите внимание:
- Создание подписки происходит по факту оплаты заказа-инициатора. Поэтому, если покупатель согласился на подписку, но еще не оплатил заказ, то параметр будет отсутствовать
- В заказах на продление (дочерних) параметр всегда присутствует
- * - Обязательный параметр, если был передан параметр products.subscription
- Формат: NN_MM, где NN это идентификатор заказа, который инициировал подписку (родительский заказ)
- Если текущий заказ является родительским (инициирует подписку), то параметр будет передан с пустым значением (null)
- Если текущий заказ является дочерним, то в параметре будет передан идентификатор предыдущего дочернего заказа (или идентификатор родительского заказа, если это продление является первым)
- * - Обязательный параметр, если был передан параметр products.subscription
Идентификатор позиции - это дополнительный внутренний идентификатор, который присваивается продукту внутри заказа.
- Если текущий заказ является родительским (инициирует подписку), то параметр будет передан с пустым значением (null)
- Если текущий заказ является дочерним, то в параметре будет передан идентификатор позиции, которую занимал продукт в предыдущем заказе, созданном в рамках подписки
Например:
- В родительском заказе был продукт с идентификатором 11111, который инициировал подписку:
- В рамках заказа продукту был присвоен идентификатор позиции 12345
- В ответе на запрос отправляется "subscription.previous_order_item_id":null
- При первом продлении подписки был создан заказ на продление:
- Для продления был использован продукт с идентификатором 22222
- В рамках заказа продукту был присвоен идентификатор позиции 54321
- В ответе на запрос отправляется "subscription.previous_order_item_id":12345
* - Обязательный параметр, если был передан параметр products.subscription.
Варианты значений:
- AR - подписка с автоматическим продлением (включая AR Trial)
- PMR - подписка с продлением вручную
Он обозначает, что текущий заказ создан для продления подписки сразу после завершения бесплатного пробного периода.
* - Обязательный параметр, если был передан параметр products.subscription.
Варианты значений:
- true - если выполняются все условия:
- Заказ создан для продления AR подписки (заказ является дочерним, products.subscription.type равен AR)
- Это первый дочерний заказ данной подписки
- В подписке есть бесплатный пробный период (покупатель приобрел родительский продукт бесплатно)
- false - если условия для передачи true не выполнены.
* - Обязательный параметр, если был передан параметр products.subscription.
Варианты значений:
- active - подписка действует и не требует оплаты
- not paid - подписка ожидает оплаты
- cancelled - продление отменено
Для подписок с продлением вручную (PMR) используются аналогичные статусы, но не доступно восстановление подписки.
Это срок действия продукта из последнего оплаченного заказа, созданного в рамках подписки. Обратите внимание, этот срок относится к подписке в целом может не совпадать со сроком действия продукта в заказе из ответа на запрос.
Например:
- Была создана подписка на продукт со сроком действия 7 дней:
- При запросе данных по родительскому заказу в ответе будет передано products.subscription.period = P7D
- Произошло создание дочернего заказа на продукт со сроком действия 1 месяц:
- При запросе данных и по дочернему, и по родительскому заказу в ответе будет передано products.subscription.period = P7D. Так как дочерний заказ еще не был оплачен и подписка еще не продлена, то передается срок из действующего периода подписки
- Произошла оплата дочернего заказа:
- При запросе данных и по дочернему, и по родительскому заказу в ответе будет передано products.subscription.period = P1M, так как дочерний заказ был оплачен, подписка продлена и действующий период подписки обновился
- * - Обязательный параметр, если был передан параметр subscription
- Формат: ISO 8601 code: P[число][ед.измерения]
- Поддерживаемые единицы измерения: Y - год, M - месяц, D - день. Например, "P1Y" соответствует сроку "1 год"
- * - Обязательный параметр, если был передан параметр products.subscription
- Формат: YYYY-MM-DDThh:mm:ss±hh:mm
Передается только дата первой попытки оплаты, дополнительные повторные попытки при неуспешной оплате не учитываются. Если дата наступила, и попытка была неуспешна, или все попытки оплаты закончены (но подписка не была продлена), то передаваемая дата не изменится. После успешной оплаты будет рассчитана новая дата для оплаты следующего продления.
- * - Обязательный параметр, если был передан параметр products.subscription, и products.subscription.type равен AR
- Формат: YYYY-MM-DDThh:mm:ss±hh:mm
Ведет на якорь секции подписки на странице заказа-инициатора подписки.
* - Обязательный параметр, если был передан параметр products.subscription, и products.subscription.type равен AR. В ином случае параметр не передается.
Обратите внимание:
- Если текущий заказ инициирует подписку, то в параметрах order_detail_url и products.subscription.detail_url будет ссылка на одну и ту же страницу
- Если текущий заказ продлевает подписку (дочерний), то url в параметре order_detail_url ведет на страницу заказа на продление (текущего), а products.subscription.detail_url – на страницу заказа инициатора подписки
- Если заказ был создан в тестовой среде, то ссылка будет предназначена для тестовой среды (ссылка будет иметь суффикс .demoslweb.com)
Передается, если был сделан возврат. В ином случае не передается.
* - Обязательный параметр, если был передан параметр products.return.
Варианты значений:
- returned - возврат или замена
- removed - удаление некорректной лицензионной информации, например, если по техническим причинам покупатель получил ошибочные данные вместо лицензионной информации
- * - Обязательный параметр, если был передан параметр products.return
- Формат: YYYY-MM-DDThh:mm:ss±hh:mm
* - Обязательный параметр, если был передан параметр return.
Примеры значений:
- Проблема установки / активации
- Географически ограничения
- Ошибка при выборе продукта
- Не устроил срок доставки
- Не возможно поставить продукт
- Автопродление
- Повторная оплата
- ChargeBack
- Недоволен программой
- TYPO
- Дубли заказа
- Тестовый заказ
Узнайте подробнее о дополнительных параметрах. Обратите внимание, срок хранения дополнительных параметров в заказе ограничен.
* - Обязательный параметр, если был передан параметр additional_data.
* - Обязательный параметр, если был передан параметр additional_data.
Пример положительного ответа
{
"order_id": 6666666,
"order_name": "A0006666666",
"status": "paid",
"external_id": "TEST12025",
"create_date": "2021-08-13T09:16:35+03:00",
"pay_date": "2021-08-13T09:20:05+03:00",
"currency": "RUB",
"recurring_indicator":false,
"locale": "ru_RU",
"order_detail_url": "https://shop.checkout.softline.ru/order/status/6666666/1a97507",
"total_discount_amount": "0.00",
"total_vat_amount": "0.00",
"total_amount": "200.00",
"payment": {
"payment_method": "CreditCard",
"payment_system_name": "Bank Card",
"card_last_4": "1234",
"card_expiration_date": "12/2026",
"is_card_expired": false,
"is_installment_payment": false
},
"customer": {
"country": "RU",
"type": "physical",
"email": "customer@gmail.com",
"first_name": "Иван",
"last_name": "Петров",
"phone": "",
"vat_number": "",
"company_name": "",
"company_billing_address": "",
"company_delivery_address": ""
},
"products": [
{
"id": 111111,
"vendor_code": "0001",
"sku": "0001",
"business_segment": "b2c",
"name": "Демо-продукт",
"price": "100.00",
"quantity": 1,
"discount_percent": "",
"discount_amount": "",
"vat_percent": "0.000",
"vat_amount": "0.00",
"amount": "100.00",
"margin": "95.00",
"activation_codes": [
"XXX-XXX-YYYY"
],
"subscription": {
"id": "6666666_456660",
"previous_order_id": null,
"previous_order_item_id": null,
"type": "AR",
"status": "cancelled",
"period": "P1Y",
"expiration_date": "2022-08-13T23:59:00+03:00",
"next_charge_date": "2022-07-24T23:59:00+03:00",
"detail_url": "https://shop.checkout.softline.ru/order/status/6666666/1a97507#autorenewal"
},
"return": {
"type": "returned",
"reason": "test purchase",
"date": "2022-08-14T09:16:35+03:00"
}
},
{
"id": 22222,
"vendor_code": "0002",
"sku": "0002",
"business_segment": "b2c",
"name": "Демо-продукт 2",
"price": "100.00",
"quantity": 1,
"discount_percent": "",
"discount_amount": "",
"vat_percent": "0.000",
"vat_amount": "0.00",
"amount": "100.00",
"margin": "95.00",
"activation_codes": [
"XXX-XXX-YYYY"
]
}
],
"additional_data": [
{
"name": "referer2",
"value": "test"
},
{
"name": "referer3",
"value": "TEST12025"
}
]
}
Ответ об ошибке
В случае ошибки при обработке запроса вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Справочник 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 | Описание |
15000 | Unable to identify your configuration for accessing this API. Please contact technical support. | При обработке не смогли однозначно определить настройки вашего аккаунта. Обратитесь в службу поддержки. |
Справочник дополнительных кодов ошибок для HTTP 401
Справочник этих ошибок одинаковый для всех API, которые используют авторизацию по токену.
Справочник дополнительных кодов ошибок для HTTP 404
Error | Message | Описание |
15020 | Order not found. | Запрос не может быть выполнен. Заказ с переданным id не найден или у вас нет доступа к нему. |
Пример ответа об ошибке
{
"errors": [{
"error": 15020,
"message": "Order not found."
}
]
}