Як створити порожній протокол сканування
Що це: запит створює протокол приймання без відсканованих марок. Марки додаються пізніше окремим запитом або застосунком EDIN Акциз Mobile
Що потрібно мати перед початком
Section titled “Що потрібно мати перед початком”- Тенант (
TENANT, наприкладedin) і дійсний токен доступу. - Код об’єкта, який сканує (
OBJECT_CODE_RECEIVER). Він має існувати в master-data. - За потреби: код кореневого УГІ (
Ugi1) з АЕД, який уже синхронізований.
Метод і адреса:
POST {{PSCAN_BASE_URL}}/api/des-pscan/protocols?tenant={{TENANT}}&closeProtocol=falseПараметр closeProtocol=false означає, що протокол залишається відкритим для наповнення.
Що вказати в тілі
Section titled “Що вказати в тілі”| Поле | Що це означає | Обов’язкове? |
|---|---|---|
protocolType |
Тип протоколу. Для приймання: receiving |
Так |
operatorObjectCode |
Код об’єкта, який виконує сканування (отримувач) | Так, якщо не вказано businessUnitId |
businessUnitId |
Код філії. Замінює operatorObjectCode або доповнює його (тоді між ними має бути мапінг) |
Так, якщо не вказано operatorObjectCode |
ugiCode |
Кореневий УГІ, з яким пов’язаний протокол | Ні |
senderEconomicOperatorCode |
Код економічного оператора відправника | Так |
receiverEconomicOperatorCode |
Код економічного оператора отримувача | Так |
receiverEconomicOperatorObjectCode |
Код об’єкта отримувача | Так, якщо не вказано receiverBusinessUnitId |
receiverBusinessUnitId |
Код філії отримувача (мапінг з кодом об’єкта отримувача має існувати) | Так, якщо не вказано receiverEconomicOperatorObjectCode |
senderEconomicOperatorObjectCode |
Код об’єкта відправника | Ні |
senderBusinessUnitId |
Код філії відправника (мапінг з кодом об’єкта відправника має існувати) | Ні |
operationDocuments |
Операційні документи (накладні) з артикулами й кількістю | Ні |
items |
Елементи сканування. Тут завжди порожній масив [] |
Так, але порожній |
Операційний документ містить:
operationDocumentType: тип документа (наприкладpurchase-invoice).operationDocumentId: номер документа.items: список{ articleId, quantity }. Щоб документ зберігся, потрібен хоча б одинarticleId. Також ці дані будуть використані для звірки товарного документа із фактичним результатом сканування.
Приклад
Section titled “Приклад”{ "protocolType": "receiving", "operatorObjectCode": "OBJ-RECEIVER-001", "ugiCode": "<код кореневого УГІ>", "senderEconomicOperatorCode": "<код ЕО відправника>", "receiverEconomicOperatorCode": "<код ЕО отримувача>", "receiverEconomicOperatorObjectCode": "OBJ-RECEIVER-001", "operationDocuments": [ { "operationDocumentType": "purchase-invoice", "operationDocumentId": "INV-0001", "items": [ { "articleId": "10012", "quantity": 30 }, { "articleId": "10013", "quantity": 40 } ] } ], "items": []}Що відбувається після відправки
Section titled “Що відбувається після відправки”- Сервіс створює порожній відкритий протокол і повертає його дані.
- У відповіді є
protocolId. У Postman він зберігається автоматично, а в інших клієнтах його треба зберегти самостійно. - Далі додайте марки або УГІ запитом
POST /protocols/{protocolId}/items, після чого перевірте й закрийте протокол. - Або відкрийте EDIN Акциз Mobile, знайдіть створений протокол, і опрацюйте його.
Типові помилки
Section titled “Типові помилки”- Не вказано ні
operatorObjectCode, ніbusinessUnitId. Потрібно передати хоча б одне з них. - Не вказано
senderEconomicOperatorCodeабоreceiverEconomicOperatorCode. Обидва поля обов’язкові. - Не вказано ні
receiverBusinessUnitId, ніreceiverEconomicOperatorObjectCode. Потрібно передати одне з них. - Немає мапінгу між об’єктом і філією. Перевірте дані в master-data.
- Операційний документ без
articleId. Такий документ не збережеться.