Создание заказа

Для сохранения заказа в системе используется API POST /api/order.

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

Минимальный запрос создания заказа

Минимальный необходимый набор данных для создания заказа в системе состоит из ключей unit, sales и current_stage. Ключ sales при этом может содержать пустой список.

curl -X POST \
https://demo.idealist.one/api/order \
-H 'Authorization: Bearer persistent 2adbd5dc-38c4-4963-8930-6d75827ff0fe' \
-d '{
        "unit": "56985551ec27b52aed1580df",
        "sales": [],
        "current_stage": {
            "status": "order",
            "substatus": "active"
        }
    }'

Создание открытого заказа с указанием клиента

Примечание

Основной кейс создания такого заказа - бронирование столика, мастера или времени обслуживания в целом. В зависимости от вышей логики работы, может так же требоваться передача ключа sales.user.

Предупреждение

В примере используется подстановка клиента по номеру телефона. Для выбора клиента через этот механизм пользователю, выполняющему запрос, необходимо иметь права Order.ProvideUnverifiedClient. Это подразумевает, что запрос поступает из системы с подтвержденными данными - CRM, биллинг, интеграция с сайтом и т.п., и клиент аутентифицируется на стороне системы.

curl -X POST \
    https://demo.idealist.one/api/order \
    -H 'Authorization: Bearer persistent 2adbd5dc-38c4-4963-8930-6d75827ff0fe' \
    -H 'Content-Type: application/json' \
    -H 'Postman-Token: 600b9831-a100-48f9-991b-fa831cb0a266' \
    -H 'cache-control: no-cache' \
    -d '{
            "unit": "56985551ec27b52aed1580df",
            "date": "2019-04-01T12:25:40.041002+00:00",
            "sales": [
                {
                    "_cls": "ServiceSale",
                    "prototype": "58b49f1260e8d9000ff4888b",
                    "option": "73d2847a-b46f-448e-b4d2-8c3b5fd465eb",
                    "price": 80,
                    "begin": "2019-04-01T12:25:40.041002+00:00",
                    "end": "2019-04-01T13:25:40.041002+00:00"
                }
            ],
            "current_stage": {
                "status": "order",
                "substatus": "active"
            },
            "client": {
                "phone": "+79122281488"
            }
        }'