Создать заказ
POST /api/v1/orders/create
POST
/api/v1/orders/createcreamy:orders:createСоздать заказ
Создаёт заказ по переданному payload
Защита от повторов
apiOrderKey = source + ":" + (num ?? requestKey). Другой payload вернёт 409 order_key_conflict
Номер заказа
id — технический UUID заказа. num — readable номер для пользователя; если в create передан только requestKey, Creamy сгенерирует num из общей серии
Переданные ID
client.id и products[].id сохраняются как snapshot и используются только для автоматизации внутри Creamy
Валидация справочников
platform, delivery и payments всегда сохраняются напрямую из запроса и не проверяются дополнительно. statusId валидируется как активный status id tenant-а или виртуальный system id для пустого набора
Параметры
| Параметр | Тип | Где | Обяз. | По умолчанию | Описание |
|---|---|---|---|---|---|
requestKey | string | body | одно из | - | Внешний ID запроса для idempotency. Передайте либо requestKey, либо num, но не оба |
num | string | body | одно из | - | Readable номер заказа во внешней системе. Если передан только requestKey, Creamy выдаст num из общей серии |
platform | string | body | нет | - | Snapshot источника заказа. Не связан с source ключа и справочником платформ |
statusId | string | body | нет | status-new | Начальный статус заказа. Если не передан, используется status-new |
date | datetime | body | да | - | Дата заказа. API принимает ISO datetime с timezone: 2026-06-10T00:00:00Z или 2026-06-10T00:00:00+05:00, а в ответах отдаёт календарную дату YYYY-MM-DD |
timeStart | HH:mm | body | нет | - | Время начала заказа |
timeEnd | HH:mm | body | нет | - | Время окончания заказа |
client | object | body | нет | - | Данные клиента |
recipient | object | body | нет | - | Получатель, если отличается от клиента |
products | object[] | body | да | - | Список товаров или услуг. От 1 до 100 элементов |
delivery | object | body | нет | - | Доставка заказа |
additional | object | body | нет | - | Комментарии заказа |
payments | object[] | body | нет | - | Подтверждённые оплаты, если они уже есть |
Объекты
ПримерыОткрытьСкрыть
Пример запроса
curl "https://your-creamy-domain.ru/api/v1/orders/create" \
-X POST \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"requestKey": "site-order-1024",
"platform": "site",
"date": "2026-06-10T00:00:00Z",
"client": {
"name": "Анна",
"phone": "+79990000000"
},
"products": [
{
"name": "Торт",
"quantity": 1,
"price": 4000
}
],
"delivery": {
"deliveryType": "Курьер",
"price": 200,
"adress": "Ленина, 10",
"flat": "15"
}
}'Пример ответа
{
"ok":true
"code":"ok"
"requestId":"req_01H"
"data":{
"id":"8f8f7b41-7d59-4e0d-96a8-4c9f9d75d624"
"num":"81"
"platform":"site"
"statusId":"status-new"
"date":"2026-06-10"
"timeStart":null
"timeEnd":null
"productsAmount":4000
"price":4200
"paidAmount":0
"paymentStatus":"unpaid"
"createdAt":"2026-06-10T07:00:00.000Z"
"updatedAt":"2026-06-10T07:00:00.000Z"
}
}
Пример запроса
curl "https://your-creamy-domain.ru/api/v1/orders/create" \
-X POST \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"requestKey": "site-order-1024",
"platform": "site",
"date": "2026-06-10T00:00:00Z",
"client": {
"name": "Анна",
"phone": "+79990000000"
},
"products": [
{
"name": "Торт",
"quantity": 1,
"price": 4000
}
],
"delivery": {
"deliveryType": "Курьер",
"price": 200,
"adress": "Ленина, 10",
"flat": "15"
}
}'Пример ответа
{
"ok":true
"code":"ok"
"requestId":"req_01H"
"data":{
"id":"8f8f7b41-7d59-4e0d-96a8-4c9f9d75d624"
"num":"81"
"platform":"site"
"statusId":"status-new"
"date":"2026-06-10"
"timeStart":null
"timeEnd":null
"productsAmount":4000
"price":4200
"paidAmount":0
"paymentStatus":"unpaid"
"createdAt":"2026-06-10T07:00:00.000Z"
"updatedAt":"2026-06-10T07:00:00.000Z"
}
}