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

Метод используется для создания корзины покупок и получения стоимости заказа в валюте реселлера для аккаунта, к которому есть доступ у текущего пользователя. В текущей версии в одной корзине покупок может быть только один заказ.

Метод возвращает информацию о созданной корзине покупок. Код ответа 201 Created.

POST {reseller_domain}/internal_api/shopping_carts

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

Авторизация

Требуется авторизация с помощью 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

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

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

account_id

form

integer

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

ID аккаунта, для которого оформляется заказ

order_type

form

string

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

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

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

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

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

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

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

async_task_id

form

string

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

Указывается ID ранее созданной асинхронной задачи для связи с дополнительными атрибутами заказа (см.

Валидация дополнительных атрибутов заказа

). Для успешного вызова метода дополнительные атрибуты заказа должны быть валидны (см.

Получение результатов валидации дополнительных атрибутов заказа

)

subscription_id

form

integer

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

ID подписки. Не указывается для заказа на покупку

plan_id

form

integer

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

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

plan_period_id

form

integer

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

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

provisioning_date

form

string

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

Дата предоставления заказа. Не более 15 дней от текущей даты сервера, если оформляется отложенный заказ на покупку (ГГГГ-ММ-ДД)

resources

form

array of objects

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

Список ресурсов в заказе


plan_resource_id

form

integer

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

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


quantity

form

integer

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

Количество ресурса тарифного плана в заказе

switch_type

form

string

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

Обязательный, если order_type = SwitchPlanOrder. Сценарий предоставления заказа на переключение тарифного плана (см. ). Доступные значения:

  • immediate_switch — немедленное переключение.

  • delayed_switch — отложенное переключение.

friendly_subscription_name

form

string

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

Пользовательское название заказываемой подписки. Только для order_type = SalesOrder. Если указано пустое значение или только пробелы, значение параметра игнорируется, а подписка будет создана с названием по шаблону

top_up

form


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

Сумма пополнения баланса

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

Модель ответа соответствует методу Получение информации о корзине покупок.

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

Bash
curl --location --request POST 'https://test.activeplatform.com/internal_api/shopping_carts' \
--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": "SalesOrder",
      "async_task_id": "XXX",
      "plan_period_id": 10606,
      "plan_id": 5856,
      "subscription_id": null,
      "account_id": 2092,
      "provisioning_date": "2023-11-11",
      "friendly_subscription_name": "",
      "resources": [
        {
          "quantity": 1,
          "plan_resource_id": 23078
        },
        {
          "quantity": 4,
          "plan_resource_id": 23077
        }
      ],
      "top_up": null
    }
  }
}'

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

JSON
{
    "data": {
        "id": "20703",
        "type": "shopping_cart",
        "attributes": {
            "created_at": "2023-11-11T18:58:15.072880+0300",
            "provisioning_date": "2023-11-11",
            "total": 2.73,
            "total_with_currency": "2.73 USD",
            "has_discount": true,
            "total_discount": 0.31,
            "total_discount_with_currency": "0.31 USD",
            "promo_code": null,
            "trial": false,
            "billing_day": 1,
            "next_billing_date": "2023-12-01",
            "items": [
                {
                    "name": "\"License\" for subscription \"Monthly Commitment\" from 11.11.2023 to 30.11.2023 (recurring fee)",
                    "quantity": 5,
                    "discount_amount": "0.22 USD",
                    "amount": "1.95 USD",
                    "top_up": false,
                    "duration": "0.667",
                    "unit_price": "0.65 USD"
                },
                {
                    "name": "\"Users\" for subscription \"Monthly Commitment\" from 11.11.2023 to 30.11.2023 (recurring fee)",
                    "quantity": 1,
                    "discount_amount": "0.09 USD",
                    "amount": "0.78 USD",
                    "top_up": false,
                    "duration": "0.667",
                    "unit_price": "1.30 USD"
                }
            ],
            "taxes_total": null,
            "tax_is_calculated_using": "net_prices",
            "payment_model": "postpay",
            "work_permit_for_postpaid": "verification_not_performed",
            "allow_order_postpaid_subscription": "manually",
            "po_number": null,
            "po_document": null,
            "next_month_amount_with_currency": "4.10 USD"
        }
    },
    "meta": {
        "server_current_time": "2023-11-11T18:58:15.146688+0300"
    }
}