Алгоритм приймання замовлення в 1С: POST /orders

Алгоритм приймання замовлення в 1С: POST /orders Діаграма робочого процесу, створена в Archify. 01 / До транзакції: кроки 1-4 02 / У транзакції: 5-10 Сервіс 1С: кроки в порядку коду Відповідь сервісу Портал: черга (у роботі) у роботі у роботі 2. Тіло запиту · JSON-об'єкт і обов'язкові поля · До транзакції: кроки 1-4 › Сервіс 1С: кроки в порядку коду 2. Тіло запиту JSON-об'єкт і обов'язкові поля 3. Налаштування · Організація, Склад, Валюта: GUID · До транзакції: кроки 1-4 › Сервіс 1С: кроки в порядку коду 3. Налаштування Організація, Склад, Валюта: GUID 4. Пошук ключа · idempotencyKey, без блокування · До транзакції: кроки 1-4 › Сервіс 1С: кроки в порядку коду 4. Пошук ключа idempotencyKey, без блокування 1. Токен · Authorization: Bearer ТокенВхідний · До транзакції: кроки 1-4 › Сервіс 1С: кроки в порядку коду 1. Токен Authorization: Bearer ТокенВхідний Ключ уже є · ті самі контрагент і рядки? · До транзакції: кроки 1-4 › Сервіс 1С: кроки в порядку коду Ключ уже є ті самі контрагент і рядки? 200 OK · той самий документ, без дубля · До транзакції: кроки 1-4 › Відповідь сервісу 200 OK той самий документ, без дубля 400 VALIDATION · перелік помилок по полях · До транзакції: кроки 1-4 › Відповідь сервісу 400 VALIDATION перелік помилок по полях 401 UNAUTHORIZED · Не авторизовано · До транзакції: кроки 1-4 › Відповідь сервісу 401 UNAUTHORIZED Не авторизовано 409 IDEMPOTENCY_CONFLICT · інший контрагент або інші рядки · До транзакції: кроки 1-4 › Відповідь сервісу 409 IDEMPOTENCY_CONFLICT інший контрагент або інші рядки 500 INTERNAL_ERROR · перелік незаповнених ключів · До транзакції: кроки 1-4 › Відповідь сервісу 500 INTERNAL_ERROR перелік незаповнених ключів posted · доставлено · До транзакції: кроки 1-4 › у роботі › Портал: черга (у роботі) posted доставлено rejected · відхилено обліком · До транзакції: кроки 1-4 › у роботі › Портал: черга (у роботі) rejected відхилено обліком failed + стоп пачки · збій зв'язку · До транзакції: кроки 1-4 › у роботі › Портал: черга (у роботі) failed + стоп пачки збій зв'язку rejected · відхилено обліком · До транзакції: кроки 1-4 › у роботі › Портал: черга (у роботі) rejected відхилено обліком failed · повтор за паузою · До транзакції: кроки 1-4 › у роботі › Портал: черга (у роботі) failed повтор за паузою 6. Контрагент і договір · договір виду «з покупцем» · У транзакції: 5-10 › Сервіс 1С: кроки в порядку коду 6. Контрагент і договір договір виду «з покупцем» 10. Документ · ЗаказПокупателя: запис, проведення · У транзакції: 5-10 › Сервіс 1С: кроки в порядку коду 10. Документ ЗаказПокупателя: запис, проведення 5. Блокування ключа · нова транзакція, повторний пошук · У транзакції: 5-10 › Сервіс 1С: кроки в порядку коду 5. Блокування ключа нова транзакція, повторний пошук 8. Ціна · за видом цін договору · У транзакції: 5-10 › Сервіс 1С: кроки в порядку коду 8. Ціна за видом цін договору 7. Товар рядка · Номенклатура за productId · У транзакції: 5-10 › Сервіс 1С: кроки в порядку коду 7. Товар рядка Номенклатура за productId 9. Кількість і вага · ваговий: actualKg або qty × Вес · У транзакції: 5-10 › Сервіс 1С: кроки в порядку коду 9. Кількість і вага ваговий: actualKg або qty × Вес 201 Created · orderId, number, totalUah, lines · У транзакції: 5-10 › Відповідь сервісу 201 Created orderId, number, totalUah, lines 404 CUSTOMER_NOT_FOUND · немає контрагента чи договору · У транзакції: 5-10 › Відповідь сервісу 404 CUSTOMER_NOT_FOUND немає контрагента чи договору 404 PRODUCT_NOT_FOUND · товар не знайдено: productId · У транзакції: 5-10 › Відповідь сервісу 404 PRODUCT_NOT_FOUND товар не знайдено: productId 409 DUPLICATE_PROCESSING · ключ обробляє паралельний запит · У транзакції: 5-10 › Відповідь сервісу 409 DUPLICATE_PROCESSING ключ обробляє паралельний запит 422 POSTING_FAILED · текст причини від 1С · У транзакції: 5-10 › Відповідь сервісу 422 POSTING_FAILED текст причини від 1С 422 PRICE_MISSING · немає актуальної ціни товару · У транзакції: 5-10 › Відповідь сервісу 422 PRICE_MISSING немає актуальної ціни товару 422 WEIGHT_MISSING · не заповнена вага одиниці · У транзакції: 5-10 › Відповідь сервісу 422 WEIGHT_MISSING не заповнена вага одиниці posted · доставлено · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) posted доставлено rejected · відхилено обліком · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) rejected відхилено обліком rejected · відхилено обліком · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) rejected відхилено обліком failed · повтор за паузою · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) failed повтор за паузою rejected · відхилено обліком · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) rejected відхилено обліком rejected · відхилено обліком · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) rejected відхилено обліком rejected · відхилено обліком · У транзакції: 5-10 › у роботі › Портал: черга (у роботі) rejected відхилено обліком знайдено знайдено під блокуванням цикл не JSON або невірні поля GUID порожній або елемента немає не знайдено виняток запису або проведення блокування не взято ціни немає не знайдено токен не збігся ваги немає проведено, ключ зафіксовано так ні Легенда Крок обробника 1С Відмова сервісу: HTTP + code Реакція порталу: failed (у роботі) Успішна відповідь Реакція порталу: posted (у роботі) Реакція порталу: rejected (у роботі)