# Достависта Business API: POST /create-order — Создание заказа

В ответе — объект `order`: `order_id`, `order_name`, `status`, `status_description`, `points` и др.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `type` | body | string | нет | Тип заказа, по умолчанию standard; также same_day |
| `matter` | body | string | да | Что везём (категория товара), до 5000 символов |
| `vehicle_type_id` | body | integer | нет | Тип транспорта; по умолчанию 6 (пеший курьер); для same_day не передаётся |
| `total_weight_kg` | body | integer | нет | Общий вес, кг; для same_day обязателен и больше 0 |
| `insurance_amount` | body | money | нет | Сумма страховки |
| `is_client_notification_enabled` | body | boolean | нет | Уведомлять клиента о статусе |
| `is_contact_person_notification_enabled` | body | boolean | нет | SMS получателям с интервалом и телефоном курьера |
| `is_route_optimizer_enabled` | body | boolean | нет | Оптимизировать порядок адресов |
| `loaders_count` | body | integer | нет | Число грузчиков, до 11 |
| `payment_method` | body | string | нет | Способ оплаты |
| `bank_card_id` | body | integer | нет | Привязанная карта (для bank_card) |
| `promo_code` | body | string | нет | Промокод |
| `is_return_required` | body | boolean | нет | Заказ с возвратом |
| `points` | body | list | да | Адреса (точки) заказа |
| `points[].address` | body | string | да | Полный адрес: город, улица, дом; до 350 символов |
| `points[].contact_person.phone` | body | string | да | Телефон контактного лица |
| `points[].contact_person.name` | body | string | нет | Имя контактного лица |
| `points[].client_order_id` | body | string | нет | Номер заказа в магазине, до 32 символов |
| `points[].latitude` | body | coordinate | нет | Широта |
| `points[].longitude` | body | coordinate | нет | Долгота |
| `points[].required_start_datetime` | body | datetime | нет | Ожидаемое прибытие курьера, от |
| `points[].required_finish_datetime` | body | datetime | нет | Ожидаемое прибытие курьера, до |
| `points[].taking_amount` | body | money | нет | Сумма к получению от клиента на точке |
| `points[].buyout_amount` | body | money | нет | Сумма выкупа на точке |
| `points[].note` | body | string | нет | Информация для курьера |
| `points[].apartment_number` | body | string | нет | Квартира/офис |
| `points[].packages` | body | list | нет | Товары на точке: ware_code, description, items_count, item_payment_amount |

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

```
curl --include --header 'X-DV-Auth-Token: SECRET_AUTH_TOKEN' --data '{"matter":"Документы","points":[{"address":"Москва, ул. Покровка, 11","contact_person":{"phone":"79030000001"}},{"address":"Москва, ул. Солянка, 4","contact_person":{"phone":"79030000001"}}]}' 'https://robotapitest.dostavista.ru/api/business/1.5/create-order'
```

## Базовые URL

- Боевой: `https://robot.dostavista.ru/api/business/1.5`
- Тестовый: `https://robotapitest.dostavista.ru/api/business/1.5`

## Авторизация

Тип: API-ключ

Секретный токен из личного кабинета передаётся в заголовке `X-DV-Auth-Token` в каждом запросе. Используются только методы GET (параметры в строке запроса) и POST (JSON в UTF-8), только по HTTPS.

Ответ:

```
curl --include --header 'X-DV-Auth-Token: SECRET_AUTH_TOKEN' 'https://robotapitest.dostavista.ru/api/business/1.5'
```

## Нюансы

- Успешный ответ — HTTP 200 и `is_successful: true`; ошибка — HTTP 400, `is_successful: false`, список `errors` и при `invalid_parameters` — объект `parameter_errors` той же структуры, что запрос.
- Неизвестные ключи в запросе дают предупреждение `invalid_schema` в `schema_warnings`; неизвестные поля в ответах нужно игнорировать.
- Даты — ISO 8601 (`YYYY-MM-DDThh:mm:ss±hh:mm` или с `Z`); в GET-запросах дату нужно url-кодировать (`+` → `%2B`).
- Callback-уведомления о заказах (`order_created`, `order_changed`), доставках и местоположении курьера приходят POST с JSON на URL из личного кабинета. Подпись — заголовок `X-DV-Signature`: HMAC-SHA256 от тела с ключом Callback Secret Key из кабинета.
- Новые поля и методы добавляются без смены версии; версия меняется только при несовместимых изменениях.

## Сценарии с этим методом

- [Создать заказ на курьерскую доставку](https://mcp-everything.ru/integrations/dostavista/scenarios/sozdat-zakaz-na-kurerskuyu-dostavku.md)

---

Если этого недостаточно — официальная документация: https://apitest.dostavista.ru/business-api/doc
Вся интеграция одним документом: https://mcp-everything.ru/integrations/dostavista.md
