Подтверждение заказа

Метод используется для подтверждения заказа через ранее созданную корзину покупок (см. Создание корзины покупок) для аккаунта, к которому есть доступ у текущего пользователя. Если подтверждается заказ для подписки по модели Постоплата, проверяются требования к непревышению кредитного лимита по подписке и доступности модели Постоплата для аккаунта (см. и ). Если подтверждается заказ с новым количеством ресурса, проверяется доступность его изменения с учетом правила предоставления (см. Параметры изменения ресурсов в ).

В результате вызова метода создаются заказ и связанные сущности по стандартной логике платформы или создается ручная операция Разрешать работу клиента по постоплате.

Метод возвращает информацию о созданном заказе или ручной операции, а также инструкции для Панели управления Клиента, на какую страницу нужно перенаправить пользователя. Код ответа 200 OK.

PATCH {reseller_domain}/internal_api/shopping_carts/{shopping_cart_id}/submit

В этой статье:

Авторизация

Требуется авторизация с помощью access token пользователя.

Аргументы

Название

Тип параметра

Тип данных

Обязательный/ 
Опциональный

Описание

Content-Type

header

string

Обязательный

Тип данных, передаваемых в запросе. Укажите application/vnd.api+json

Accept

header

string

Обязательный

Поддерживаемые типы данных в ответе. Укажите application/vnd.api+json

X-Api-Locale

header

string

Опциональный

Двухбуквенный код языка данных в ответе и созданной асинхронной задачи

Authorization 

header

string

Обязательный

Действующий access token пользователя. Формат: Bearer <access token>

reseller_domain

path

string

Обязательный

Доменное имя реселлера

shopping_cart_id

path

integer

Обязательный

ID корзины покупок, созданной в результате вызова метода 

Создание корзины покупок

order_type

form

string

Обязательный

Тип заказа. Доступные значения:

  • SalesOrder — заказ на покупку.

  • SwitchPlanOrder — заказ на переключение тарифного плана.

  • RenewalOrder — заказ на продление.

  • ProlongOrder — заказ на пролонгацию.

  • ChangeOrder — заказ на изменение количества ресурсов.

Модель ответа

Информация о заказе

Название

Тип данных

Описание

data

object

Данные ответа


id

string

ID заказа


type

string

Тип данных


attributes

object

Информация о заказе



account_id

integer

ID аккаунта



total

number

Стоимость заказа



created_at

string

Дата и время создания заказа



updated_at

string

Дата и время последнего обновления заказа



payment_id

integer

ID платежа по заказу



status

string

Статус заказа:

  • waiting_for_paymentОжидает оплаты — заказ создан, связанный платеж ожидает оплаты.

  • waiting_for_provisioning Ожидает предоставления — отложенный заказ подтвержден, начало предоставления услуги запланировано на дату предоставления.

  • provisioning Предоставляется — заказ подтвержден, услуга в процессе активации.

  • provisioning_failed Ошибка активации — заказ подтвержден, но услуга не была активирована.

  • completed Завершен — заказ обработан.

  • cancelled Отменен — заказ отменен вручную или автоматически.



type

string

Тип заказа:

  • SalesOrder — заказ на покупку.

  • SwitchPlanOrder — заказ на переключение тарифного плана.

  • RenewalOrder — заказ на продление.

  • ProlongOrder — заказ на пролонгацию.

  • ChangeOrder — заказ на изменение количества ресурсов.



expiration_date

string

Дата истечения заказа (ГГГГ-ММ-ДД)



owner_id

integer

ID Владельца аккаунта



promo_code

string

Промокод, указанный при оформлении заказа



document_id

string

Номер заказа



requester_ip

string

IP-адрес менеджера или пользователя аккаунта, создавшего заказ



params

object

Период, покрываемый заказом




operate_from

string

Дата начала периода (ГГГГ-ММ-ДД)




operate_to

string

Дата конца периода (ГГГГ-ММ-ДД)



denominated

bool

Не используется



closed_at

string

Дата завершения заказа



manager_id

integer

ID ответственного менеджера



custom_price

bool

Признак индивидуальной цены:

  • true — к заказу применяются индивидуальные цены.

  • false — к заказу не применяются индивидуальные цены.



net_cost

string

Стоимость заказа в валюте тарифного плана



renew_prices

object

Маппинг ресурсов и цен для продления




period

integer

ID периода тарифного плана




resources

object

Список пар "ID ресурса подписки ID ресурса тарифного плана"



discount_amount

number

Сумма скидки по заказу



payment_model

string

Модель оплаты подписки, для которой создан заказ:

  • prepay Предоплата.

  • postpay Постоплата.



details

object

Детальная информация о заказе




common

object

Общая информация о заказе





currency

object

Информация о валюте тарифного плана






iso_code

string

Код валюты тарифного плана





reseller_currency

object

Информация о валюте реселлера






iso_code

string

Код валюты реселлера





subscription_id

integer

ID подписки





from_date

string

Дата начала периода, оплачиваемого заказом (ГГГГ-ММ-ДД)





to_date

string

Дата конца периода, оплачиваемого заказом (ГГГГ-ММ-ДД)





subscription_name

string

Название подписки





plan_id

integer

ID текущего тарифного плана подписки





plan_name

string

Название текущего тарифного плана подписки





new_plan_id

integer

ID нового тарифного плана подписки





new_plan_name

string

Название нового тарифного плана подписки





product_id

integer

ID продукта, связанного с тарифным планом, на который заказана подписка





product_name

string

Название продукта, связанного с тарифным планом, на который заказана подписка





product_category_id

integer

ID категории продуктов, связанной с тарифным планом, на который заказана подписка





product_category_name

string

Название категории продуктов, связанной с тарифным планом, на который заказана подписка




items

array of objects

Позиции заказа





type

string

Тип позиции





fees

object

Информация о типах стоимости






setup

number

Стоимость установки






recurring

number

Абонентская плата






renewal

number

Стоимость продления






overuse

number

Стоимость перерасхода






transfer

number

Стоимость переноса





totals

object

Суммы стоимостей по типу






setup

number

Сумма стоимостей установки






recurring

number

Сумма абонентской платы






renewal

number

Сумма стоимостей продления






overuse

number

Сумма стоимостей перерасхода






transfer

number

Сумма стоимостей переноса





discounts

object

Суммы скидок по типу






setup

number

Сумма скидок для стоимости установки






recurring

number

Сумма скидок для абонентской платы






renewal

number

Сумма скидок для стоимости продления






overuse

number

Сумма скидок для стоимости перерасхода






transfer

number

Сумма скидок для стоимости переноса





discount_ids

array

Список ID скидок





raw_durations

object

Информация о периоде для каждого типа стоимости (в месяцах)






setup

number

Период для стоимости установки






recurring

number

Период для абонентской платы






renewal

number

Период для стоимости продления






overuse

number

Период для стоимости перерасхода






transfer

number

Период для стоимости переноса





raw_paid_durations

object

Информация об оплачиваемом периоде для каждого типа стоимости (в месяцах)






setup

number

Оплачиваемый период для стоимости установки






recurring

number

Оплачиваемый период для абонентской платы






renewal

number

Оплачиваемый период для стоимости продления






overuse

number

Оплачиваемый период для стоимости перерасхода






transfer

number

Оплачиваемый период для стоимости переноса





raw_quantities

object

Количество единиц для каждого типа стоимости






setup

number

Количество единиц для стоимости установки






recurring

number

Количество единиц для абонентской платы






renewal

number

Количество единиц для стоимости продления






overuse

number

Количество единиц для стоимости перерасхода






transfer

number

Количество единиц для стоимости переноса





raw_paid_from_dates

object

Дата начала оплачиваемого периода для каждого типа стоимости (ГГГГ-ММ-ДД)






setup

string

Дата начала оплачиваемого периода для стоимости установки






recurring

string

Дата начала оплачиваемого периода для абонентской платы






renewal

string

Дата начала оплачиваемого периода для стоимости продления






overuse

string

Дата начала оплачиваемого периода для стоимости перерасхода






transfer

string

Дата начала оплачиваемого периода для стоимости переноса





raw_paid_to_dates

object

Дата конца оплачиваемого периода для каждого типа стоимости (ГГГГ-ММ-ДД)






setup

string

Дата конца оплачиваемого периода для стоимости установки






recurring

string

Дата конца оплачиваемого периода для абонентской платы






renewal

string

Дата конца оплачиваемого периода для стоимости продления






overuse

string

Дата конца оплачиваемого периода для стоимости перерасхода






transfer

string

Дата конца оплачиваемого периода для стоимости переноса





currency_rate_id

integer

ID курса валюты





first_charge_ids

object

Список ID списаний для генерации виртуальных списаний для каждого типа стоимости






setup

integer

ID списания для стоимости установки






recurring

integer

ID списания для абонентской платы






renewal

integer

ID списания для стоимости продления






overuse

integer

ID списания для стоимости перерасхода






transfer

integer

ID списания для стоимости переноса





first_charge_discount_ids

object

Список ID скидок для генерации виртуальных списаний для каждого типа стоимости






setup

number

ID скидки для стоимости установки






recurring

number

ID скидки для абонентской платы






renewal

number

ID скидки для стоимости продления






overuse

number

ID скидки для стоимости перерасхода






transfer

number

ID скидки для стоимости переноса





first_charge_types

object

Тип списания для генерации виртуальных списаний для каждого типа стоимости






setup

string

Тип списания для стоимости установки






recurring

string

Тип списания для абонентской платы






renewal

string

Тип списания для стоимости продления






overuse

string

Тип списания для стоимости перерасхода






transfer

string

Тип списания для стоимости переноса





quantity

integer

Заказанное количество





subscription_resource_id

integer

ID ресурса подписки





plan_resource_id

integer

ID ресурса тарифного плана





resource_name

string

Название ресурса





priority

integer

Приоритет ресурса




provisioning_items

array of objects

Информация о позициях заказа





type

string

Внутренний класс позиции заказа





target_type

string

Тип сущности, к которой относится позиция заказа





target_id

integer

ID сущности, к которой относится позиция заказа





operation_value

string

Значение операции



net_cost_discount_percent

number

Процент скидки к стоимости заказа



delayed

bool

Признак отложенного заказа:

  • true — отложенный заказ.

  • false — обычный заказ.



provisioning_date

string

Дата предоставления отложенного заказа



requester_type

string

Информация о том, кто создал заказ:

  • manager — менеджер.

  • user — пользователь аккаунта.

  • system — платформа (автоматически).



requester_id

integer

ID менеджера или пользователя аккаунта, создавшего заказ



prolong_prices

object

Маппинг ресурсов и цен для пролонгации




period

integer

ID периода тарифного плана




resources

object

Список пар "ID ресурса подписки ID ресурса тарифного плана"



switch_plan_prices

object

Маппинг ресурсов и цен для переключения тарифного плана




period

integer

ID периода тарифного плана




resources

object

Список пар "ID ресурса подписки ID ресурса тарифного плана"



individual_currency_rate

bool

Признак индивидуального курса валюты:

  • true — для заказа применяется индивидуальный курс валюты.

  • false — для заказа применяется курс валюты, установленный реселлером.



currency_rate_id

integer

ID курса валюты



start_plan_prices

object

Маппинг ресурсов и цен для покупки




period

integer

ID периода тарифного плана




resources

object

Список пар "ID ресурса подписки ID ресурса тарифного плана"



redirect_to

string

Инструкции для Панели управления Клиента о том, на какую страницу нужно переадресовать пользователя после подтверждения заказа:

  • payment — раздел Платежи.

  • subscription — раздел Подписки.

  • main Главная.



po_number

string

Номер заказа в системе закупок клиента (Purchase Order, PO) (см. Обновление информации о PO в корзине покупок)



po_document

object

Информация о файле заказа из системе закупок клиента




name

string

Имя файла




url

string

Ссылка на файл




size

integer

Размер файла в байтах

meta

object

Дополнительная информация


server_current_time

string

Текущие дата и время сервера

Информация о ручной операции

Название

Тип данных

Описание

data

object

Данные ответа


attributes

object

Информация о ручной операции



id

integer

ID ручной операции



reseller_id

integer

ID реселлера



target_id

integer

ID корзины покупок



target_type

string

Тип данных



operation

string

Тип ручной операции:

  • postpay_subscription_verifyРазрешать работу клиента по постоплате.



status

string

Статус ручной операции:

  • approval_requriedОжидает подтверждения.



created_at

string

Дата и время создания ручной операции



updated_at

string

Дата и время последнего обновления ручной операции



params

object

Не используется



closer_id

integer

Не используется



redirect_to

string

Инструкции для Панели управления Клиента о том, на какую страницу нужно переадресовать пользователя после подтверждения заказа:

  • main Главная.

meta

object

Дополнительная информация


server_current_time

string

Текущие дата и время сервера

Пример запроса

Bash
curl --location --request PATCH 'https://test.activeplatform.com/internal_api/shopping_carts/18946/submit' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--header 'X-Api-Locale: en' \
--header 'Authorization: Bearer AccessTokenExample' \
--data-raw '{
  "data": {
    "attributes": {
      "order_type": "ProlongOrder"
    }
  }
}'

Пример ответа

Информация о заказе

JSON
{
    "data": {
        "id": "18595",
        "type": "order",
        "attributes": {
            "account_id": 1938,
            "total": 14.0,
            "created_at": "2023-02-07T16:38:22.340+03:00",
            "updated_at": "2023-02-07T16:38:22.523+03:00",
            "payment_id": 13355,
            "status": "waiting_for_payment",
            "type": "ProlongOrder",
            "expiration_date": "2023-04-01",
            "owner_id": null,
            "promo_code": "",
            "document_id": "PO0000768",
            "requester_ip": null,
            "params": {
                "operate_from": "2023-03-01",
                "operate_to": "2023-04-01"
            },
            "denominated": false,
            "closed_at": null,
            "manager_id": null,
            "custom_price": false,
            "net_cost": null,
            "renew_prices": {},
            "discount_amount": 0.0,
            "payment_model": "prepay",
            "details": {
                "common": {
                    "currency": {
                        "iso_code": "USD"
                    },
                    "reseller_currency": {
                        "iso_code": "USD"
                    },
                    "subscription_id": 3010828,
                    "from_date": "2023-02-07",
                    "to_date": "2024-02-07",
                    "subscription_name": "Office",
                    "plan_id": 5851,
                    "plan_name": "Office",
                    "new_plan_id": null,
                    "new_plan_name": null,
                    "product_id": 2100,
                    "product_name": "Office",
                    "product_category_id": 1306,
                    "product_category_name": "Office"
                },
                "items": [
                    {
                        "type": "purchase",
                        "fees": {
                            "setup": 0.0,
                            "recurring": 2.0,
                            "renewal": 0.0,
                            "overuse": 0.0,
                            "transfer": 0.0
                        },
                        "totals": {
                            "recurring": 10.0
                        },
                        "discounts": {
                            "recurring": 0.0
                        },
                        "discount_ids": [],
                        "raw_durations": {
                            "recurring": 1.0
                        },
                        "raw_paid_durations": {
                            "recurring": 1.0
                        },
                        "raw_quantities": {
                            "recurring": "5.0"
                        },
                        "raw_paid_from_dates": {
                            "recurring": "2023-03-01"
                        },
                        "raw_paid_to_dates": {
                            "recurring": "2023-04-01"
                        },
                        "currency_rate_id": 120,
                        "first_charge_ids": {
                            "recurring": 108917
                        },
                        "first_charge_discount_ids": {
                            "recurring": null
                        },
                        "first_charge_types": {
                            "recurring": "Charge::Recurring"
                        },
                        "quantity": 5,
                        "subscription_resource_id": 120615,
                        "plan_resource_id": 23047,
                        "resource_name": "Licenses",
                        "priority": 3
                    },
                    {
                        "type": "purchase",
                        "fees": {
                            "setup": 0.0,
                            "recurring": 4.0,
                            "renewal": 0.0,
                            "overuse": 0.0,
                            "transfer": 0.0
                        },
                        "totals": {
                            "recurring": 4.0
                        },
                        "discounts": {
                            "recurring": 0.0
                        },
                        "discount_ids": [],
                        "raw_durations": {
                            "recurring": 1.0
                        },
                        "raw_paid_durations": {
                            "recurring": 1.0
                        },
                        "raw_quantities": {
                            "recurring": "1.0"
                        },
                        "raw_paid_from_dates": {
                            "recurring": "2023-03-01"
                        },
                        "raw_paid_to_dates": {
                            "recurring": "2023-04-01"
                        },
                        "currency_rate_id": 120,
                        "first_charge_ids": {
                            "recurring": 108918
                        },
                        "first_charge_discount_ids": {
                            "recurring": null
                        },
                        "first_charge_types": {
                            "recurring": "Charge::Recurring"
                        },
                        "quantity": 1,
                        "subscription_resource_id": 120617,
                        "plan_resource_id": 23045,
                        "resource_name": "Users",
                        "priority": 0
                    }
                ],
                "provisioning_items": [
                    {
                        "type": "prolong",
                        "target_type": "Subscription",
                        "target_id": 3010828,
                        "operation_value": "2023-03-01"
                    }
                ]
            },
            "net_cost_discount_percent": 0.0,
            "delayed": false,
            "provisioning_date": null,
            "requester_type": "User",
            "requester_id": 1650,
            "prolong_prices": {
                "period": 142725,
                "resources": {
                    "120614": 143591,
                    "120615": 142719,
                    "120616": 142717,
                    "120617": 142715,
                    "120618": 142713,
                    "120619": 143786,
                    "120620": 142709
                }
            },
            "switch_plan_prices": {},
            "individual_currency_rate": false,
            "currency_rate_id": null,
            "start_plan_prices": {},
            "redirect_to": "payment",
            "po_number": null,
            "po_document": null
        }
    },
    "meta": {
        "server_current_time": "2023-06-30 T12:34:56.199973+0300"
    }
}

Информация о ручной операции

JSON
{
    "data": {
        "attributes": {
            "id": 23,
            "reseller_id": 1,
            "target_id": 18946,
            "target_type": "ShoppingCart",
            "operation": "postpay_subscription_verify",
            "status": "approval_required",
            "created_at": "2023-02-07T16:38:22.340+03:00",
            "updated_at": "2023-02-07T16:38:22.523+03:00",
            "params": {},
            "closer_id": null,
            "redirect_to": "main"
        }
    },
    "meta": {
        "server_current_time": "2023-06-30 T12:34:56.199973+0300"
    }
}