Тази инструкция показва как външна Shopify интеграция може да генерира и изтегля товарителници от Izprati.bg — по една или на пакет. Готовата Postman колекция е приложена в края на статията.
Преди да започнете #
- Нужни са OAuth клиент и потребител с права за работа с пратките.
- Използвайте
https://api.izprati.bgи изпращайтеAuthorization: Bearer <access token>след успешен вход. - Действие със статус
measuredможе да създаде реална пратка при куриера. Работете с подходяща тестова пратка.
Една Shopify поръчка: генериране на товарителница #
- Намерете поръчката по нейния числов Shopify ID чрез
GET /api/products/order, като филтриратеextId. - Намерете свързаната пратка чрез
GET /api/delivery-services/requests, като филтрирате по ID на намерената поръчка. - Прочетете текущата задача и опашката чрез
GET /api/delivery-services/delivery-request-service?action=tasks, като подадете ID на пратката. - Ако няма задача за предварителна обработка, създайте я с
POST /api/delivery-services/preprocessing-task. Ако има валидна задача, използвайтеPATCH /api/delivery-services/preprocessing-task/{taskId}. - В заявката подайте
state: measured, ID на пратката, тегло в грамове, размери в милиметри и ID на опашката.
Не използвайте отново анулирана задача. При конфликт 409 прочетете задачите отново и използвайте текущата задача само ако вече е в обработка.
Една товарителница: изтегляне и печат #
За готова товарителница не създавайте нова задача. Използвайте:
GET /api/delivery-services/preprocessing-task/{taskId}
Accept: application/pdf
Ако отговорът е PDF, той е готов за запазване или печат. Ако отговорът е JSON, задачата още се обработва — повторете същата заявка след кратко изчакване.
По желание добавете packing slip: ?withPackingSlip=true&packingSlipFormat=10x15. Поддържаните формати са 10x15 и A4.
Пакет от товарителници #
- За всяка избрана Shopify поръчка намерете съществуващото ID на пратката.
- Създайте един import с
POST /api/integrations/import,handler: delivery-servicesи масивshipmentsс ID на пратките. - В
sourceData.asyncModeподайтеOrderadmin\DeliveryServices\Service\ImportLabelsService: true. - Проверявайте
GET /api/integrations/import/{importId}, докато състоянието станеconfirmed. - Изтеглете обединения PDF от
loadResult.url.
За пакета използвайте ID на пратките, а не Shopify ID на поръчките. При частичен успех failedTaskIds посочва пратките, които трябва да се прегледат и повторят отделно.
Postman колекция #
Колекцията съдържа вход с OAuth, търсене на Shopify поръчка, създаване или обновяване на задача, изтегляне на единичен PDF, пакетен import и проверка на неговия статус.
Изтеглете Postman колекцията за Shopify товарителници
След import в Postman попълнете променливите за OAuth, Shopify order ID и тестовите идентификатори. Колекцията не съдържа реални ключове или данни за клиенти.
