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

Изменено Вт, 13 Фев на 12:44 PM


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



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

{
    "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": "Комментарий, виден в ЛК"
}





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




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

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




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

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




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

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


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


По ID товара:

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


По extId товара:

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

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

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




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

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

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




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

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

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




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

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

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

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


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

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

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

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




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

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

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



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


{
  "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": 137,
    /* Отправитель, информация об адресе отправителя */
    "sender": 7781,
    /* цена доставки, необязательно */
    "retailPrice": 200
  },
  "comment": "Комментарий, виден в ЛК"
}



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


{
  "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",
    /* Тариф службы доставки 136 - склад_склад, 368 - склад_постамат */
    "rate": 136,
    /* Отправитель, информация об адресе отправителя */
    "sender": 7781,
    /* цена доставки, необязательно */
    "retailPrice": 200
  },
  "comment": "Комментарий, виден в ЛК"
}



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

Отлично!

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

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

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

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

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

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

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