Работа с API FBS: Почта России и AliExpress

1. user1694717 07.11.21 14:02 Сейчас в теме
Всем привет! Пытаюсь разобраться с API AliExpress. Зарегистрирован как Self-Developer. Использую sdk php. Есть отправление, используется шаблон доставки "FBS: Почта России и AliExpress". Заказ был собран (распечатан ярлык и накладная) в админ панели сайта, на данный момент заказ находится в пути. Я пытаюсь с помощью методов API получить ярлык и накладную в данный момент времени (у меня есть в наличии: trade_order_id, warehouse_order_id, intl_tracking_no). Использую следующие методы API: aliexpress.logistics.redefining.getprintinfos, cainiao.global.handover.pdf.get. Оба метода не дают результата, есть ощущение что эти методы для других видов доставки. Больше не смог найти как печатать ярлык и накладную( Может кто то сможет показать куда двигаться! Спасибо!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. LastRoot 23 10.11.21 15:31 Сейчас в теме
У вас не получается создать логистический заказ?

https://business.aliexpress.ru/docs/print-documents
3. user1694717 10.11.21 22:04 Сейчас в теме
(2) Здравствуйте! На сколько я понял шаблон доставки "FBS: Почта России и AliExpress" не является методом «Цайняо», это мне подтвердили в чате поддержки. После сбора заказа, формирования ярлыка и квитанции в админ панели, во вкладке "логистические заказы" пусто, то есть логистического заказа не появляется. На сколько я понял у меня в наличии после данных манипуляций в админ панели есть: trade_order_id, warehouse_order_id, intl_tracking_no. Далее я пытаюсь вызвать метод aliexpress.logistics.redefining.getprintinfos передаю в него warehouse_order_id, intl_tracking_no. Получаю следующий ответ:
{"errorDesc":"You can only print pdfs of the same class per time."}.
Вызываю метод cainiao.global.handover.pdf.get передаю в него: название магазина, локаль, тип необходимого документа, trade_order_id или warehouse_order_id (пробовал оба варианта для параметра HandoverContentId), поле top_user_key оставляю не заполненным. Получаю следующий ответ:
{ "result":{ "data":{"Content-Disposition" : "attachment;filename=************","StatusCode":200,"Content-Type":"application/x-zip-compressed"} "success":"true" } "request_id":"*******" }.
Понимаю что метод cainiao.global.handover.pdf.get скорее всего предназначен для других ситуаций. Больше методов для печати ярлыка и квитанции в документациях: https://business.aliexpress.ru/docs ; https://developers.aliexpress.com/en/doc.htm ; https://developer.alibaba.com/docs/api.htm я найти не смог. Спасибо, что откликнулись. Может быть у вас появятся мысли как решить данную ситуацию.
4. LastRoot 23 12.11.21 09:37 Сейчас в теме
Похоже всё сводится к той же проблеме. И не у одного меня. Служба поддержки ничего внятного не отвечает, кроме упоминания метода.
Документация на китайско-английском https://developers.aliexpress.com/en/api.htm?docId=30141&docType=2 тоже мало что даёт.

Пока в общем не получается...
5. LastRoot 23 12.11.21 11:16 Сейчас в теме
Как вариант - получать этикетку через личный кабинет, эмулируя действия в браузере: идентификацию, потом заход в заказ с номером, там поиск информации с номером отправления, а потом генерация запроса на получение запроса к pdf файлу.

Получаем номер отправления по номеру заказа:
POST: https://seller.aliexpress.ru/api/v1/logistics/orders/get-logistic-orders-by-trade-order-id
{
"trade_order_id": 5012428143046305 }
}
В заголовке Cookie: x-auth-token=<ТУТ ТОКЕН ВРЕМЕННЫЙ>;

В ответе будет:
{
"data": [
{
"id": 1645175,
"created_at": "2021-11-11T05:10:50.490910Z",
"state_status_id": 370,
"state_status_name": "Покинуло сортировочный центр службы доставки",
"logistic_method": "MYMALL_PUDO_CITY",
"logistic_method_alias": "Посылка онлайн обыкновенная",
"order_items": [
{
"item_id": 12000024515789654,
"qty": 1,
"name": "IPhone 11 PRO"
}
]
}
],
"error_code": null,
"message": null,
"success": true,
"details": null
}
, где ("id": 1645175 - НОМЕР ОТПРАВЛЕНИЯ)

Далее запрос на получение ссылки на этикетку:

POST: https://seller.aliexpress.ru/api/v1/logistics/orders/get-label-by-logistic-order-id
{
"logistic_order_id": <ТУТ НОМЕР ОТПРАВЛЕНИЯ>,
"print_type": "DEFAULT"
}
В заголовке Cookie: x-auth-token=<ТУТ ТОКЕН ВРЕМЕННЫЙ>;

В ответе будет:
{
"data": {
"label_url": "https://st.aliexpress.ru/providers-doc-storage/<ТУТ UID ЭТИКЕТКИ ДЛЯ ПЕЧАТИ>"
},
"error_code": null,
"message": null,
"success": true,
"details": null
}

И по этому адресу - сама этикетка в PDF.

Остаётся вопрос, как получать токен (временный выцепленный из браузере быстро истекает)
6. LastRoot 23 12.11.21 15:08 Сейчас в теме
Как вариант пробовали использовать метод cainiao.global.handover.pdf.get
https://developer.alibaba.com/apitools/apiTools.htm?apiId=47829&apiName=cainiao.global.handover.pdf.get
Но он хоть и возвращает "success": true, файла или ссылки в нем на этикетку нет.

Ответ:
{
"cainiao_global_handover_pdf_get_response": {
"result": {
"data": "{\"Content-Disposition\":\"attachment;filename=1645157\",\"StatusCode\":200,\"Content-Type\":\"application\/x-zip-compressed\"}",
"success": true
},
"request_id": "rnbhuru8692v"
}
}
7. user1694717 12.11.21 22:46 Сейчас в теме
(5) Спасибо! А каким образом получилось получить эти ссылки:
https://seller.aliexpress.ru/api/v1/logistics/orders/get-label-by-logistic-order-id
https://seller.aliexpress.ru/api/v1/logistics/orders/get-label-by-logistic-order-id,
на сколько я понимаю это ссылки API версии 1(описание для API данной версии я не нашел)!?
Или это ссылки из админки личного кабинета магазина, но там я их не нашел(
8. user1723402 06.01.22 01:29 Сейчас в теме
Это ссылки из браузера, из личного кабинета. Ява-скрипты в личном кабинете работают с этим апи, документации на него нет, только если сами разберетесь, посмотрев какие запросы отпраляет браузер. Х-токен живет 10 минут, потом надо получать новый, через обращение на auth.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот