Журнал документів

Базова адреса для функцій роботи з документами /documents/.

Едо статуси

GET /documents/filters/edo_statuses
{
  "edo_statuses": [
    {
      "key": "all",
      "name": "Всі"
    },
    {
      "key": "signed",
      "name": "Підписані"
    },
    {
      "key": "unsigned",
      "name": "Непідписані"
    }
  ]
}

Групи документів

GET /documents/filters/groups
_images/documents_filter_types.png
{
  "groups": [
    {
      "code": "deliveries",
      "name": "ТТН",
      "types": ["0000013C"],
      "edo_filter": true
    },
    {
      "code": "payments",
      "name": "Оплаты",
      "types": ["00000133"],
      "edo_filter": false
    }
  ]
}

Типи документів

GET /documents/filters/types
_images/documents_filter_types.png
{
  "types": [
    {
      "description": "Товарно-транспортная накладная",
      "code": "00003A4D",
      "name": "ТТН"
    },
    {
      "description": "Приходный кассовый ордер",
      "code": "00000133",
      "name": "Оплаты"
    }
  ]
}

Швидкий вибір дат

GET /documents/filters/dates
{
  "dates": {
    "today": {
      "name": "Сегодня",
      "start": "2018-07-26T00:00:01Z",
      "end": "2018-07-26T23:59:59Z"
    },
    "yesterday": {
      "name": "Вчера",
      "start": "2018-07-25T00:00:01Z",
      "end": "2018-07-25T23:59:59Z"
    },
    "week": {
      "name": "Неделя",
      "start": "2018-07-23T00:00:01Z",
      "end": "2018-07-29T23:59:59Z"
    },
    "month": {
      "name": "Месяц",
      "start": "2018-07-01T00:00:01Z",
      "end": "2018-07-31T23:59:59Z"
    },
    "quarter": {
      "name": "Квартал",
      "start": "2018-07-01T00:00:01Z",
      "end": "2018-09-30T23:59:59Z"
    },
    "year": {
      "name": "Год",
      "start": "2018-01-01T00:00:01Z",
      "end": "2018-12-31T23:59:59Z"
    },
    "all": {
      "name": "Весь період",
      "start": "2012-01-01T00:00:00Z",
      "end": "2025-01-17T23:59:59Z"
    }
  }
}

Список документів з товарами (спрощений response)

GET /documents/sales_with_products
Query Parameters:
 
  • direction – Напрям сортування. Може бути asc або desc. По замочуванню: desc
  • period – Період вибірки. По замочуванню: month
  • q – Фільтр по номеру документу
  • page – Номер сторінки
  • per_page – Кількість об’єктів на сторінці

Приклад відповіді:

{
  "number": "ДГ000011921",
  "total": 65.64,
  "created_at": "2025-01-21T14:24:30Z",
  "currency": {
    "name": "ГРН"
  },
  "document_uuid": "81E3005056BA39E811EFCC292D49FA75",
  "carrier": {
    "uuid": "9B113526DEFB3CAA4DAC2BD7858DF97E",
    "name": "Таксі"
  },
  "ttn_status": {
    "status": "Доставлено",
    "period": "2025-01-10T15:00:59Z"
  },
  "delivery_config": {
    "name": "Такси, Луцьк, вул. Яблунева 20/30, iOs"
  },
  "products": [
    {
      "price": 65.64,
      "product": {
        "article": "10238",
        "uuid": "9E16079BB689088849A68190C7149AF9",
        "brand": {
          "name": "JBM",
          "uuid": "815F000C2999A7E611E6BC4F8E64D60E"
        },
        "name": "Бітотримач 3/8"хМ8 22 мм",
        "default_image": ""
      },
      "total": 65.64,
      "uct_zed": [
        {
          "code": "8207 90 99 00",
          "quantity": 1.000,
          "is_imported": true,
          "name_for_invoice": "Адаптер"
        }
    ],
      "quantity": 1.000
    }
  ]
}

Перетворення даних штрихкоду документа в uuid цього документа.

POST /documents/decode_barcode
Query Parameters:
 
  • barcode – Дані штрихкоду документа

Приклад відповіді:

{
  "uuid": "81FF005056AC66D611EB02F8056A4423",
  "result": true,
  "message": "Штрихкод успешно преобразован"
}

Журнал документів згрупований по датам

GET /documents/grouped
Query Parameters:
 
  • direction – Напрямок сортування. Може бути asc або desc. За замовчуванням:
  • period – Період вибірки. За замовчуванням: month
  • type – Фільтр по типу документа. За замовчуванням: всі документи. Див. Типи документів
  • q – Фільтр по номеру документа
  • group – Фільтр по групі документів
  • edo_signed – Фільтр по статусу підписанню документа signed, unsigned або all
  • page – Номер сторінки
  • per_page – Кількість об’єктів на сторінці
{
  "documents": {
    "2021-06-02": [
      {
        "city": null,
        "total": 17533.32,
        "address": "",
        "places": 0,
        "number": "ПП000229181",
        "carrier": null,
        "document_type": "0000013C",
        "carrier_warehouse": null,
        "carrier_number": "",
        "currency": {
          "name": "ГРН"
        },
        "warehouse": {
          "name": "Луцк"
        },
        "client": "81EB005056AC66D611EA2AF9E6FFC44D",
        "document_uuid": "8190005056BA39E811EBB7BC95863266",
        "created_at": "2021-06-02T00:00:00+00:00",
        "owner": {
          "uuid": "81EB005056AC66D611EA2AF9E6FFC44D",
          "name": "Иванов Иван Иванович",
          "f": 2
        },
        "document_url": "https://api.bm.parts/documents/0000013C/8190005056BA39E811EBB7BC95863266",
        "weight": 2.05,
        "document_name": "Реализация товаров и услуг",
        "comment": "",
        "edo_signed": false
      }
    ],
    "2021-06-01": [
      {
        "city": null,
        "total": 315.36,
        "address": "",
        "places": 0,
        "number": "ПП000229175",
        "carrier": null,
        "document_type": "0000013C",
        "carrier_warehouse": null,
        "carrier_number": "",
        "currency": {
          "name": "ГРН"
        },
        "warehouse": {
          "name": "Луцк"
        },
        "client": "81EB005056AC66D611EA2AF9E6FFC44D",
        "document_uuid": "8190005056BA39E811EBB7AB7C96B4E0",
        "created_at": "2021-06-01T00:00:00+00:00",
        "owner": {
          "uuid": "81EB005056AC66D611EA2AF9E6FFC44D",
          "name": "Иванов Иван Иванович",
          "f": 2
        },
        "document_url": "https://api.bm.parts/documents/0000013C/8190005056BA39E811EBB7AB7C96B4E0",
        "weight": 1.08,
        "document_name": "Реализация товаров и услуг",
        "comment": "",
        "edo_signed": true
      }
    ]
  }
}

Приклад використання:

_images/documents_group.png

Примітка

Допускається фільтрація документів по типу і по номеру. Для документу ТТН фільтрація відбувається також по номеру перевізника.

Список документів

GET /documents/list
Query Parameters:
 
  • direction – Напрямок сортування. Може бути asc або desc. За замовчуванням:
  • period – Період вибірки. За замовчуванням: month
  • type – Фільтр по типу документа, за замовчуванням вертаються всі документи
  • q – Фільтр по номеру документа
  • group – Фільтр по групі документів
  • edo_signed – Фільтр по статусу підписанню документа signed, unsigned або all
  • page – Номер сторінки
  • per_page – Кількість об’єктів на сторінці
{
  "documents": [
    {
      "number": "ПП000229181",
      "carrier": null,
      "currency": {
        "name": "ГРН"
      },
      "total": 17533.32,
      "warehouse": {
        "name": "Луцк"
      },
      "document_name": "Реализация товаров и услуг",
      "document_url": "https://api.bm.parts/documents/0000013C/8190005056BA39E811EBB7BC95863266",
      "carrier_number": "",
      "client": "81EB005056AC66D611EA2AF9E6FFC44D",
      "document_uuid": "8190005056BA39E811EBB7BC95863266",
      "carrier_warehouse": null,
      "city": null,
      "owner": {
        "name": "Иванов Иван Иванович",
        "uuid": "81EB005056AC66D611EA2AF9E6FFC44D",
        "f": 2
      },
      "weight": 2.05,
      "comment": "",
      "address": "",
      "created_at": "2021-06-02T00:00:00+00:00",
      "places": 0,
      "document_type": "0000013C",
      "edo_signed": true
    }
  ]
}

Зберегти рахунок про оплату

GET /documents/download_invoice/(string: uuid)
query uuid:ID документу реалізації

Отримати реалізації товарів по замовленню покупця

GET /documents/sales_by_order/(string: uuid)
Query Parameters:
 
  • uuid – ID документа Замовлення покупця

Приклад відповіді:

{
  "order": {
    "uuid": "AABBCC112233445566778899AABBCC00",
    "number": "ДГ001234567",
    "status": "Собран",
    "processed": true
  },
  "sales": [
    {
      "uuid": "AABBCC112233445566778899AABBCC00",
      "number": "ДГ000000020"
    }
  ]
}

Примітка

Ключ order.processed вказує на завершення формування документа(ів) реалізації

Стан рекламації

GET /documents/reclamation/(string: act_uuid)
query act_uuid:ID документа рекламації

Зберегти документ

GET /documents/download/(string: type_)/(string: uuid)/(string: file_type)
Query Parameters:
 
  • type – Тип документа
  • uuid – ID документа
  • file_type – Тип файлу. Можливі варіанти: pdf, xlsx, csv.

Примітка

Зверніть увагу, що не всі документи можуть бути збережені як pdf` або xlsx.

Отримати статус підписання документу

GET /documents/(string: uuid)/check_sign
Query Parameters:
 
  • uuid – ID документа

Приклад відповіді:

{
  "edo_signed": false
}

Отримати документ по UUID

GET /documents/(string: type_)/(string: uuid)
query type_:Тип документу
query uuid:ID документу

Приклад відповіді для документу - Товарно-транспортна накладна:

{
  "document": {
    "excel": false,
    "uuid": "930B005056BAD76D11EF90ED734FE584",
    "carrier_number": "",
    "places": 1,
    "uklon_order_id": "",
    "marked": false,
    "created_at": "2024-10-23T06:18:21Z",
    "city": {
      "region": {
        "name": "Волинська область"
      },
      "name": "Луцьк - 2"
    },
    "number": "00014504179",
    "receiver": {
      "uuid": "812D000C2999A7E611E57EECEFA73268",
      "full_name": "Иванов Иван Иванович"
    },
    "warehouse": {
      "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
      "name": "Луцьк"
    },
    "weight": 0.002,
    "address": "просп. Відродження 51",
    "pdf": false,
    "return_money": false,
    "notes": "",
    "owner": {
      "uuid": "831C005056BAF70311EB92D4AC9B5F1F",
      "name": "Иванов Иван Иванович (м. Луцьк)",
      "number": "1221101",
      "code": "1221101",
      "f": 1
    },
    "total": 0.00,
    "document_name": "Товарно-транспортна накладна",
    "carrier": {
      "uuid": "A38B158FEBD71FDF44901B05CFDE8A32",
      "name": "Доставка"
    },
    "csv": false,
    "return_money_total": 0.00,
    "departure_date": "2024-10-23T12:20:00Z",
    "sale_documents": [
      {
        "uuid": "B67E005056BAE4A011EBA68A0280B282",
        "currency": {
          "name": "ГРН"
        },
        "number": "ДГ002814112",
        "document_name": "Реалізація товарів і послуг",
        "type": "0000013C",
        "document_url": "https://api.bm.parts/documents/0000013C/B67E005056BAE4A011EBA68A0280B282",
        "warehouse": {
          "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
          "name": "Луцьк"
        },
        "shipped_at": "2024-10-23T12:20:00Z"
      }
    ],
    "type": "00003A4D",
    "expense_document_type": "0000013C",
    "comment": "",
    "carrier_warehouse": {
      "address": "просп. Відродження",
      "name": "Відродження просп."
    },
    "ttn_status": {
      "status": "Повернуто на склад - Луцьк",
      "period": "2024-10-23T12:57:02Z"
    },
    "edo_signed": null
  }
}

Приклад відповіді для документу - Реалізація товарів та послуг:

{
  "document": {
    "csv_url": "https://api.bm.parts/documents/download/0000013C/8190005056BA39E811EBB7AB7C96B4E0/csv",
    "total": 111.24,
    "number": "ДГ000078976",
    "warehouse": {
      "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
      "name": "Луцьк"
    },
    "products": [
      {
        "total": 111.24,
        "product": {
          "brand": {
            "uuid": "92E8005056BA7D7A11EE1C01384C1BD0",
            "name": "ROWE"
          },
          "name": "Засіб для розморожування скла HIGHTEC SCREEN DEFROSTER (500ml)",
          "uuid": "8434552718793001495551AC97486849",
          "article": "21110-0005-99",
          "default_image": "photo\b\r\h\v\m\8ce1fcf0.jpeg"
        },
        "discount": 0.00,
        "uct_zed": [
          {
            "code": "3820 00 00 90",
            "quantity": 1.000,
            "is_imported": true,
            "name_for_invoice": "Засіб для розморожування скла HIGHTEC SCREEN DEFROSTER (0,5 L)"
          }
        ],
        "quantity": 1.000,
        "price": 111.24,
        "line_num": 1
      }
    ],
    "pdf_url": "https://api.bm.parts/documents/download/0000013C/8190005056BA39E811EBB7AB7C96B4E0/pdf",
    "created_at": "2025-01-09T16:48:17Z",
    "transmission_type": "85E670CB73CCFD80482D06B910692491",
    "ttn_documents": [
      {
        "city": {
          "region": {
            "name": "Волинська область"
          },
          "name": "Луцьк"
        },
        "document_url": "https://api.bm.parts/documents/00003A4D/8190005056BA39E811EBB7AB7C96B4E0",
        "carrier": {
          "uuid": "927D8673D92E46174374F9AB37AF08FB",
          "name": "Самовивіз"
        },
        "number": "00015300685",
        "type": "00003A4D",
        "document_name": "Товарно-транспортна накладна",
        "warehouse": {
          "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
          "name": "Луцьк"
        },
        "uuid": "81EB005056AC66D611EA2AF9E6FFC44D"
      }
    ],
    "type": "0000013C",
    "currency": {
      "name": "ГРН"
    },
    "shipped_at": "2025-01-09T00:00:00Z",
    "currency_rate": 1.0000,
    "uuid": "8190005056BA39E811EBB7AB7C96B4E0",
    "excel": true,
    "delivery_config": {
      "name": "Самовывоз, користувач Testовий, Луцьк"
    },
    "comment": "ВМС Розхідний ордер на товари 007007023",
    "excel_url": "https://api.bm.parts/documents/download/0000013C/8190005056BA39E811EBB7AB7C96B4E0/xlsx",
    "weight": 0.520,
    "owner": {
      "uuid": "81EB005056AC66D611EA2AF9E6FFC44D",
      "name": "Иванов Иван Иванович (м. Луцьк)",
      "number": "1221101",
      "code": "1221101",
      "f": 1
    },
    "document_url": "https://api.bm.parts/documents/0000013C/8190005056BA39E811EBB7AB7C96B4E0",
    "pdf": true,
    "document_name": "Реалізація товарів і послуг",
    "invoice_pdf": "https://api.bm.parts/documents/download_invoice/8190005056BA39E811EBB7AB7C96B4E0",
    "csv": true,
    "ttn_status": {
      "status": "Замовлення сформовано",
      "period": "2025-01-09T16:48:21Z"
    },
    "has_created_complaint": true,
    "can_create_complaint": false,
    "edo_signed": true
  }
}

Примітка

У випадку, якщо документ не знайдено, буде повертатися відповідь 404 NOT FOUND.