Управлять отправлениями (FBS LAliExpress)
Для этих методов используется авторизация по jwt токену.
Адрес рабочей среды: https://openapi.ru.laliexpress.com

Создать отправление

POST /seller-api/v1/logistic-order/create
Создаёт отправления для локальных заказов. Предсплитованные отправления из заказа (поле pre_split_postings из ответа метода получения списка заказов) можно разделять, но нельзя объединять. Количество товаров в отправлении должно быть не больше, чем есть в предсплитованном отправлении.

Параметры запроса

ПараметрТипОбязательныйОписание
ordersarray of objectsДаСписок заказов.
trade_order_idintДаИдентификатор заказа, значение поля orders.id из ответа метода получения списка заказов.
total_lengthintДаДлина посылки (см).
total_widthintДаШирина посылки (см).
total_heightintДаВысота посылки (см).
total_weightdoubleДаВес посылки (кг).
itemsintДаСписок товаров в отправлении.
  ↳ quantityintДаКоличество единиц вариации товара в отправлении, значение поля orders.orders_lines.quantity из ответа метода получения списка заказов.
  ↳ sku_idintДаИдентификатор вариации товара, значение поля orders.orders_lines.sku_id из ответа метода получения списка заказов.
  ↳ product_source_idintНетИдентификатор источника товара. По умолчанию: 0. Значение product_source_id из ответа метода POST /seller-api/v1/order/get-order-list.
  ↳ jewelry_codesarray of objectsНетМассив кодов маркировки для ювелирных изделий.
   ↳ sku_indexintНетПорядковый номер вариации товара, используется для маркировки одинаковых товаров.
   ↳ codesarray of stringsНетКоды маркировки ювелирных изделий.

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

curl --location --request POST 'https://openapi.ru.laliexpress.com/seller-api/v1/logistic-order/create' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <YOUR_API_TOKEN>' \
--data-raw '{
    "orders": [
        {
            "trade_order_id": 2207197727599807,
            "total_length": 20,
            "total_width": 10,
            "total_height": 5,
            "total_weight": 1.5,
            "items": [
                {
                    "quantity": 1,
                    "sku_id": 12000027037707016
                }
            ]
        }
    ]
}'

Параметры ответа

ПараметрТипОписание
dataobjectРезультат запроса.
ordersarray of objectsСписок заказов.
  ↳ trade_order_idintИдентификатор заказа.
  ↳ logistic_ordersarray of objectsСписок отправлений.
    ↳ idintИдентификатор отправления.
    ↳ linesarray of objectsСписок товаров в отправлении.
      ↳ sku_idintИдентификатор вариации товара.
      ↳ quantityintКоличество единиц этой вариации товара в отправлении.
      ↳ product_source_idintИдентификатор источника товара.
errorobjectОшибки при создании отправления.
codestring

Код ошибки:

messagestringСообщение об ошибке.
detailsobjectДополнительная информация по ошибке.

Пример ответа

{
  "data": {
    "orders": [
      {
        "trade_order_id": 2212196848241455,
        "logistic_orders": [
          {
            "id": 9804616,
            "lines": [
              {
                "sku_id": 12000026559024132,
                "product_source_id": 0,
                "quantity": 3
              }
            ]
          }
        ]
      }
    ]
}
}

Пример ответа с ошибкой

{
    "data": {
        "orders": [],
        "errors": {
            "common_errors": [
                {
                    "code": "NoTradeOrderFound",
                    "message": "Заказ не найден"
                }
            ],
            "item_errors": null
        }
    },
    "error": null
}

Получить список отправлений

POST /seller-api/v1/logistic-order/get
Возвращает список отправлений в соответствии с заданным фильтром.

Параметры запроса

ПараметрТипОбязательныйОписание
logistic_order_idsarray of integersНетСписок идентификаторов отправлений, значение поля orders.logistic_orders.id из ответа метода создания отправления.
tracking_numbersarray of stringsНетНомера отслеживаний.
trade_order_idsarray of integersНетИдентификаторы заказов.
filter_statusstringНет
Фильтр по статусу отправлений, может принимать значения:
  • NEW (Отправление создается),
  • AWAITING_ADDING_TO_HANDOVER (Ожидает добавления в лист передачи),
  • AWAITING_REPORT_AS_SHIP (Ожидает подтверждения передачи),
  • DELIVERING (Доставляется),
  • DELIVERED (Доставлено),
  • RETURNING_TO_SENDER (Возвращается),
  • RETURNED_TO_SENDER (Возвращено),
  • CANCELLED (Отменены),
  • WITH_ERRORS (с ошибками).
gmt_create_fromstringНетВывести в список заказы с датой создания после этой даты, формат: YYYY-MM-DDThh:mm:ssZ.
gmt_create_tostringНетВывести в список заказы с датой создания не позднее этой даты, формат: YYYY-MM-DDThh:mm:ssZ.
page_sizeintДаЧисло страниц, которые нужно вывести.
pageintДаНомер страницы из списка, которую нужно вывести.
gmt_cut_off_date_fromstringНетФильтр заказов с датой отгрузки после этой даты, формат: YYYY-MM-DDThh:mm:ssZ.
gmt_cut_off_date_tostringНетФильтр заказов с датой отгрузки не позднее этой даты, формат: YYYY-MM-DDThh:mm:ssZ.
problem_state_filterstringНет
Фильтр по типу ошибки, может принимать значения:
  • Unclaimed,
  • ExceptUnclaimed,
  • Missed.
sort_paramsobjectНетПараметры сортировки.
order_sort_typestringНет
Метод сортировки, может принимать значения:
  • LogisticOrderSort (по идентификатору отправления),
  • TradeOrderSort (по идентификатору заказа),
  • CutOffDateSort (по дате отгрузки),
  • CreatedAtSort (по дате создания).
query_sortstringНет
Тип сортировки, может принимать значения:
  • ASC (по возрастанию),
  • DESC (по убыванию),
  • NONE (не сортировать).
logistic_order_infostringНет
Флаг предоставляемой информации, может принимать значения:
  • Common (только основная информаци),
  • PackageItems (информация о товарах),
  • HandoverListId (идентификатор листа передачи),
  • StateStatusName (название статуса),
  • BuyerName (имя покупателя),
  • BuyerCountryCode (код страны покупателя),
  • All (вся информация).

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

curl --location --request POST 'https://openapi.ru.laliexpress.com/seller-api/v1/logistic-order/get' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <YOUR_API_TOKEN>' \
--data-raw '{
    "page_size": 1,
    "page": 1
}'

Параметры ответа

ПараметрТипОписание
errorobjectОшибка при запросе.
codestring
Код ошибки, возможные значения:
  • HeaderNotFound (Отсутствует параметр seller_id в заголовке).
messagestringСообщение об ошибке.
detailsobjectДополнительная информация по ошибке.
dataobjectИнформация по запросу.
logistic_ordersarray of objectsИнформация по отправлениям.
  ↳ logistic_order_idintИдентификатор отправления.
  ↳ trade_order_idintИдентификатор заказа.
  ↳ handover_list_idintИдентификатор листа передачи.
  ↳ cut_off_datestring
Если отправление уже отгружено, указана дата отгрузки.
Если отправление ещё не отгружено, указана дата, до которой его нужно отгрузить.
Дата может меняться, если отгрузка переносится (не более 2 раз).
  ↳ statusstring
Статус отправления, возможные значения:
  • NEW (Отправление создается),
  • AWAITING_ADDING_TO_HANDOVER (Ожидает добавления в лист передачи),
  • AWAITING_REPORT_AS_SHIP (Ожидает подтверждения передачи),
  • DELIVERING (Доставляется),
  • DELIVERED (Доставлено),
  • RETURNING_TO_SENDER (Возвращается),
  • RETURNED_TO_SENDER (Возвращено),
  • CANCELLED (Отменены),
  • WITH_ERRORS (с ошибками).
  ↳ state_status_namestringНазвание статуса.
  ↳ platform_tracking_codestringКод отслеживания.
  ↳ items_countintКоличество товаров.
  ↳ creation_errorstringОшибка создания заказа.
  ↳ gmt_createstringДата создания заказа.
  ↳ trade_order_sourcestringИсточник заказа.
  ↳ total_amountintСумма заказа.
  ↳ buyer_namestringИмя покупателя.
  ↳ buyer_country_codestringКод страны покупателя.
  ↳ itemsobjectИнформация о товаре.
    ↳ item_idintУникальный идентификатор товара.
    ↳ sku_idintИдентификатор вариации товара.
    ↳ namestringНазвание товара.
    ↳ item_priceintЦена товара.
    ↳ img_urlstringСсылка на изображение товара.
    ↳ total_amountintСумма за товар.
    ↳ properties[string]Свойства товара.
    ↳ mobile_urlstringСсылка на товар в мобильном приложении.
    ↳ web_urlstringСсылка на товар на сайте.
    ↳ quantityintКоличество единиц этой вариации товара в отправлении.
    ↳ marking_requiredbooleanФлаг обязательной маркировки.
    ↳ jewelry_codesarray of objectМассив маркируемых ювелирных изделий.
      ↳ sku_indexintПорядковый номер вариации товара, используется для маркировки одинаковых товаров.
      ↳ codesarray of stringКоды маркировки ювелирных изделий.
page_infoobjectИнформация по страницам созданного списка.
  ↳ currentintНомер текущей страницы в списке.
  ↳ page_sizeintКоличество страниц в списке.
  ↳ totalintКоличество отправлений, удовлетворяющих фильтру.

Пример ответа

{
  "data": {
    "logistic_orders": [
      {
        "logistic_order_id": 1249390,
        "trade_order_id": 2409231561178782,
        "handover_list_id": 0,
        "cut_off_date": "2024-09-25T00:06:16+00:00",
        "status": "DELIVERING",
        "state_status_name": "Order accepted by carrier",
        "platform_tracking_code": "21619418835187",
        "items_count": 7,
        "gmt_create": "2024-09-23T00:06:17.312172+00:00",
        "trade_order_source": "LocalTrade",
        "total_amount": 184270,
        "buyer_name": "Сократ Гурьевич Абрамов",
        "buyer_country_code": "643",
        "addresses": {
          "receiver_address": {
            "zip_code": "109456",
            "country_code": "RU",
            "country": "Россия",
            "province": "Ямало-Ненецкий АО",
            "city": "г. Печенга",
            "street": "д. Анива, бул. Железнодорожный, д. 2/1 стр. 7/2, 068410",
            "detail_address": "г. Печенга, Ямало-Ненецкий АО, д. Анива, бул. Железнодорожный, д. 2/1 стр. 7/2, 068410"
          }
        },
        "external_provider": 6488,
        "last_mile_provider": "OFFLINE",
        "first_mile_provider": "OFFLINE",
        "first_mile": "offline",
        "danger_type": "General",
        "items": [
          {
            "item_id": 1005004671188872,
            "sku_id": 12000030050065440,
            "product_source_id": 0,
            "name": "TEST_MARKING_REQUIRED",
            "item_price": 46036,
            "currency": "RUB",
            "total_amount": 92072,
            "properties": [],
            "mobile_url": "https://laliexpress.com/item/100500467118882.html",
            "web_url": "https://laliexpress.com/item/100500467118882.html",
            "quantity": 2,
            "marking_required": false
          },
          {
            "item_id": 1005004487766806,
            "sku_id": 12000029404675044,
            "product_source_id": 0,
            "name": "2",
            "item_price": 17918,
            "currency": "RUB",
            "total_amount": 35836,
            "properties": [],
            "mobile_url": "https://laliexpress.com/item/100500448766806.html",
            "web_url": "https://laliexpress.com/item/100500448766806.html",
            "quantity": 2
          },
          {
            "item_id": 1005007271508429,
            "sku_id": 12000040018902276,
            "product_source_id": 0,
            "name": "QA Gold Ring Lux",
            "item_price": 34466,
            "currency": "RUB",
            "total_amount": 34466,
            "properties": [],
            "mobile_url": "https://laliexpress.com/item/1005007271508429.html",
            "web_url": "https://laliexpress.com/item/1005007271508429.html",
            "quantity": 1,
            "jewelry_codes": [
              {
                "sku_index": 0,
                "codes": [
                  "4095436341322049",
                  "2314167189189686"
                ]
              }
            ]
          }
        ]
      }
    ],
    "page_info": {
      "current": 1,
      "page_size": 25,
      "total": 1
    }
  }
}

Напечатать этикетки для отправлений

POST /seller-api/v1/labels/orders/get
Возвращает ссылку на PDF-файл для печати этикетки отправления.

Параметры запроса

ПараметрТипОбязательныйОписание
logistic_order_idsarray of integersДаСписок идентификаторов отправлений, значение поля orders.logistic_orders.id из ответа метода создания отправления.

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

curl --location --request POST 'https://openapi.ru.laliexpress.com/seller-api/v1/labels/orders/get' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <YOUR_API_TOKEN>' \
--data-raw '{
    "logistic_order_ids": [
        88236
    ]
}'

Параметры ответа

ПараметрТипОписание
errorobjectОшибки при запросе.
codestring
Код ошибки, возможные значения:
  • UnsuccessfulUploadFile (Не удалось загрузить файл с этикетками в хранилище),
  • LogisticOrdersNotFound (Отправления не найдены),
  • LogisticProviderNotFound (Логистический провайдер не найден),
  • LogisticOrdersHaveNotOrderExternalProvider (Отсутствует внешний идентификатор отправления),
  • LogisticOrdersHaveNotOrderExternal (Отсутствует внешний идентификатор отправления),
  • UnsuccessfulRuPostOrderForms (Не удалось получить этикетки в Почте России),
  • UnknownLogisticOrderStateStatus (Отправление имеет неизвестный статус),
  • DifferentProvidersForLogisticOrders (Логистические провайдеры в отправлениях отличаются),
  • LogisticOrderHasNotTrackingCode (Логистические провайдеры в отправлениях отличаются),
  • DifferentSellersForLogisticOrders (Продавцы в отправлениях отличаются),
  • DifferentOwner (Отправления принадлежат другому продавцу).
messagestringСообщение об ошибке.
detailsobjectДополнительная информация по ошибке.
dataobjectИнформация по этикетке.
label_urlstringCсылка на PDF с этикетками для запрошенных отправлений.

Пример ответа

{
  "data": {
    "label_url": "https://st.aestatic.net/providers-doc-storage/8317da5a-8961-4958-8e39-20ffb660f236"
  },
  "error": null
}

Удалить отправление

POST /seller-api/v1/logistic-order/delete
Удаляет отправления, если они не были добавлены в лист передачи.

Параметры запроса

ПараметрТипОбязательныйОписание
logistic_order_idsarray of integersДаИдентификаторы отправлений, значение поля logistic_orders.logistic_order_id из ответа метода получения списка отправлений.

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

curl --location --request POST 'https://openapi.ru.laliexpress.com/seller-api/v1/logistic-order/delete' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <YOUR_API_TOKEN>' \
--data-raw '{
    "logistic_order_ids": [
        1113736
    ]
}'

Параметры ответа

ПараметрТипОписание
dataobjectИнформация по запросу.
deletion_result_mapobjectРезультаты удаления.
  ↳ additionalPropobjectИнформация по удалению отправления.
    ↳ deleted_atstringДата удаления отправления.
    ↳ error_messagestringСообщение об ошибке, если удаление неуспешно.
errorobjectОшибки при удалении отправления.
messagestringСообщение об ошибке.
detailsobject
Дополнительная информация по ошибке, возможные значения:
  • HeaderNotFound (Отсутствует параметр seller_id в заголовке).

Пример ответа

{
    "data": {
        "deletion_result_map": {
            "1113736": {
                "deleted_at": null,
                "error_message": "Failed to delete logistic order 1113736: it doesn't belong to seller 1042630114"
            }
        }
    },
    "error": null
}