Создание заказа через REST API

Изменено Чт, 26 Дек, 2024 на 1:39 PM


Route: https://cdek.orderadmin.ru/api/products/order
Method: POST
Headers: Accept: application/json
Authorization: basic
Generic



Пример данных для создания заказа:

{
    "profile": {
        "name": "Петров Петр Петрович",
        "email": "mail1@mail.ru"
    },
    "phone": "+79051111111",
    "shop": 101354,
    "extId": "ext_1212179",
    "paymentState": "not_paid",
    "orderProducts": [
        {
            "productOffer": 5757436,
            "count": 2,
            "price": 1200
        }
    ],
    "eav": {
        "order-reserve-warehouse": 6092
    },
    "deliveryRequest": {
            "deliveryService": 1,
            "rate": 49,
            "sender": 7781
    },
    "address": {
        "postcode": "127474",
        "street": "ул. Дубнинская",
        "house": "53",
        "apartment": "1",
        "locality": {
            "name": "Москва",
            "type": "город",
            "country": 28
        },
        "notFormal": "Россия, Москва, Москва, ул. Дубнинская, 53, к. 1"
    },
    "comment": "Комментарий, виден в ЛК"
}
JavaScript





Описание параметров заказа




ФИО и контакты получателя

"profile": {
        /* Имя получателя */
        "name": "Иван",
        /* Фамилия получателя */
        "surname": "Иванов",
        /* email */
        "email": "mail1@mail.ru"
},
/* Телефон получателя */
"phone": "+79051111111"
JavaScript




Оплата заказа

/* 
Состояние оплаты: paid, not_paid
paid     - заказ уже оплачен
not_paid - требуется получить оплату при доставке
*/
"paymentState": "not_paid"
JavaScript




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

"orderProducts": [
    /*  список объектов представляющих собой  указание на товары */
]
JavaScript


Каждый товар можно описать одни из 2 способов: по ID товара, по extId


По ID товара:

{
   /* id товара */
   "productOffer": 5420868,
   /* кол-во единиц данного товара */
   "count": 2,
   /* цена за единицу товара, не обязательно. по умолчанию возьмётся цена из карточки товара */
   "price": 3000
}
JavaScript


По extId товара:

Данный вариант позволяет использовать произвольные идентификаторы для поиска товара. Параметр extId задается при создании товара.

{
    "productOffer": {
        /* id магазина */
        "shop": "177755",
        /* extId товара */
        "extId": 16173
    },
    /* кол-во единиц данного товара */
    "count": 1,
    /* цена за единицу товара */
    "price": 2838
}
JavaScript

Список товаров вы можете увидеть в личном кабинете. Товары




Адрес получателя

"address": {
    /* почтовый индекс */
    "postcode": "127474",
    /* улица */
    "street": "ул. Дубнинская",
    /* номер дома */
    "house": "53",
    /* квартира */
    "apartment": "1",
    /* Населенный пункт (город, село и тд.) */
    "locality": {
        "name": "Москва",
        "type": "город",
        "country": 28
    },
    /* Адрес одной строкой. Не  рекомендуется использовать и набор полей выше, и notFormal одновременно. Выберите один вариант передачи адреса. */
    "notFormal": "Россия, Москва, Москва, ул. Дубнинская, 53, к. 1"
},
JavaScript

Параметр locality может содержать ID Locality или объект с описанием населенного пункта. Подробнее читайте в статье "Работа с сущностью "Населенный пункт (locality)"




Склад сборки заказ

"eav": {
    /* ID склада */
    "order-reserve-warehouse": 6092
}
JavaScript

Список складов вы можете увидеть в личном кабинете. Склады




Заявка на доставку

"deliveryRequest": {
  /* Сервис доставки. Всегда - 1 (Сдэк) */
  "deliveryService": 1,
  /* Тариф службы доставки */
  "rate": 49,
  /* Отправитель, информация об адресе отправителя */
  "sender": 7781,
  /* цена доставки, необязательно */
  "retailPrice": 200
}
JavaScript

Список отправителей вы можете увидеть в личном кабинете. Отправители

Тарифы Фулфилмент на доставку


Для доставки по пункта выдачи (ПВЗ)

"eav": {
  /* Нужно ли создавать заявку на доставку? */
  "delivery-services-request": true
},
"deliveryRequest": {
  /* Сервис доставки. Всегда - 1 (Сдэк) */
  "deliveryService": 1,
  /* Тариф службы доставки */
  "rate": 48,
  /* Отправитель, информация об адресе отправителя */
  "sender": 7781,
  /* ID ПВЗ */
  "servicePoint": 172777
}
JavaScript

ID ПВЗ можно уточнить в личном кабинете, при создании заказа.

Блок "address" для доставки на ПВЗ не требуется




Другие параметры

/* id магазина */
"shop": 101354,
/* произвольный ID для нужд разработчиков интеграций */
"extId": "ext_1212179",
/* Дата создания */
"date": "2022-07-20",
"comment": "Комментарий, виден в ЛК"
JavaScript

Список магазинов вы можете увидеть в личном кабинете. Магазины



Пример, с режимом склад-дверь:


{
  "profile": {
    /* Имя получателя */
    "name": "Иван",
    /* Фамилия получателя */
    "surname": "Иванов",
    /* email */
    "email": "mail1@mail.ru"
  },
  /* Телефон получателя */
  "phone": "+79051111111",
  /* произвольный ID для нужд разработчиков интеграций.
  Вы можете тут указать номер заказа из вашей системы
  Или номер заказа в маркетплейсе
  */
  "extId": "ext_1212179",
  /*
  Состояние оплаты: paid, not_paid
  paid     - заказ уже оплачен
  not_paid - требуется получить оплату при доставке
  */
  "paymentState": "not_paid",
  /* id магазина */
  "shop": 101354,
  "eav": {
    /* Нужно ли создавать заявку на доставку? */
    "delivery-services-request": true,
    /* ID склада */
    "order-reserve-warehouse": 6092
  },
  "orderProducts": [
    /*  список объектов представляющих собой  указание на товары */
    {
      /* id товара */
      "productOffer": 5420868,
      /* кол-во единиц данного товара */
      "count": 2,
      /* цена за единицу товара, не обязательно. по умолчанию возьмётся цена из карточки товара */
      "price": 3000
    }
  ],
  "address": {
    /* почтовый индекс */
    "postcode": "127474",
    /* улица */
    "street": "ул. Дубнинская",
    /* номер дома */
    "house": "53",
    /* квартира */
    "apartment": "1",
    /* Населенный пункт (город, село и тд.) */
    "locality": {
      "name": "Москва",
      "type": "город",
      "country": 28
    },
    /* Адрес одной строкой. Не  рекомендуется использовать и набор полей выше, и notFormal одновременно. Выберите один вариант передачи адреса. */
    "notFormal": "Россия, Москва, Москва, ул. Дубнинская, 53, к. 1"
  },
  "deliveryRequest": {
    /* Сервис доставки. Всегда - 1 (Сдэк) */
    "deliveryService": 1,
    /* Трек номер */
    "tracking_number": "1516052861",
    /* Тариф службы доставки */
    "rate": 49,
    /* Отправитель, информация об адресе отправителя */
    "sender": 7781,
    /* цена доставки, необязательно */
    "retailPrice": 200
  },
  "comment": "Комментарий, виден в ЛК"
}
JavaScript



Пример, с режимом склад-склад


{
  "profile": {
    /* Имя получателя */
    "name": "Иван",
    /* Фамилия получателя */
    "surname": "Иванов",
    /* email */
    "email": "mail1@mail.ru"
  },
  /* Телефон получателя */
  "phone": "+79051111111",
  /* произвольный ID для нужд разработчиков интеграций.
  Вы можете тут указать номер заказа из вашей системы
  Или номер заказа в маркетплейсе
  */
  "extId": "ext_1212179",
  /*
  Состояние оплаты: paid, not_paid
  paid     - заказ уже оплачен
  not_paid - требуется получить оплату при доставке
  */
  "paymentState": "not_paid",
  /* id магазина */
  "shop": 101354,
  "eav": {
    /* Нужно ли создавать заявку на доставку? */
    "delivery-services-request": true,
    /* ID склада */
    "order-reserve-warehouse": 6092
  },
  "orderProducts": [
    /*  список объектов представляющих собой  указание на товары */
    {
      /* id товара */
      "productOffer": 5420868,
      /* кол-во единиц данного товара */
      "count": 2,
      /* цена за единицу товара, не обязательно. по умолчанию возьмётся цена из карточки товара */
      "price": 3000
    }
  ],
  "deliveryRequest": {
    /* Сервис доставки. Всегда - 1 (Сдэк) */
    "deliveryService": 1,
    /* Трек номер */
    "tracking_number": "1516052861",
    /* Тариф службы доставки 48- склад_склад, 384- склад_постамат */
    "rate": 48,
    /* Отправитель, информация об адресе отправителя */
    "sender": 7781,
    /* цена доставки, необязательно */
    "retailPrice": 200
  },
  "comment": "Комментарий, виден в ЛК"
}
JavaScript



Статья помогла?

Отлично!

Спасибо за ваш отзыв

Извините, что не удалось помочь!

Спасибо за ваш отзыв

Расскажите, как мы можем улучшить эту статью!

Выберите хотя бы одну причину
Требуется проверка CAPTCHA.

Комментарий отправлен

Мы ценим вашу помощь и постараемся исправить статью