Претензії

У цьому розділі описано функціонал роботи з претензіями клієнтів. Базова адреса для функцій даного розділу /complaints.

Список документів, доступних для створення претензії по реалізації.

GET /complaints/documents
Query Parameters:
 
  • client_uuid – ID Контрагента
  • page – номер сторінки (пагінація)
  • per_page – кількість елементів на сторінці (пагінація)
  • q – Пошукова строка. Дозволяє шукати по номеру реалізації

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

{
  "documents": [
    {
      "uuid": "92FD005056BAD76D11EEB9B4FC0364E0",
      "number": "ДГ000184193",
      "url": "https://devapi.bm.parts/documents/0000013C/92FD005056BAD76D11EEB9B4FC0364E0",
      "type": "0000013C",
      "currency_name": "ГРН",
      "total": 366.9,
      "owner": {
        "name": "Контрагент [000047662]",
        "number": "1983701",
        "uuid": "92E2005056BAA48611ECB71968E5EDBF",
        "f": 1
      },
      "created_at": "2024-01-01T00:00:00Z"
    },
    {
      "uuid": "22E2005056BAA48611ECB71968E5EDBF",
      "number": "ДГ000184122",
      "url": "https://devapi.bm.parts/documents/0000013C/22E2005056BAA48611ECB71968E5EDBF",
      "type": "0000013C",
      "currency_name": "ГРН",
      "total": 456.9,
      "owner": {
        "name": "Контрагент [000047662]",
        "number": "1983701",
        "uuid": "92E2005056BAA48611ECB71968E5EDBF",
        "f": 1
      },
      "created_at": "2024-01-02T00:00:00Z"
    }
  ]
}

Отримати список претензій

GET /complaints/issues
Query Parameters:
 
  • page – Номер сторінки
  • per_page – Кількість обʼєктів на сторінці. За замовчуванням: 30

Примітка

Сортування по найновіших.

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

{
  "complaints": [
    {
      "uuid": "81CA005056BA39E811EEC4C1B88412EA",
      "document_uuid": "81CA001111BA11E811EEC4C1B88411EA",
      "created_at": "2024-02-06T09:47:38Z",
      "can_edit": true,
      "can_delete": true,
      "comments_count": 2
      "status": {
        "name": "Нова",
        "uuid": "B21951A52D38578740A7C1035EDB5939"
      },
      "title": "Претензія по ДГ000294413",
      "reasons": [
        "Брак",
        "Невірний крос-код"
      ],
      "timer_to_response": "2024-02-06T10:47:38Z"
    }
  ]
}

Отримати список причин претензії

GET /complaints/causes

Примітка

Присутнє кешування на 60 хвилин.

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

{
  "complaint_causes": [
    {
      "uuid": "81CB005056AC66D611E89949D1E3B985",
      "name": "Брак",
      "code": "000000007",
            "photo_required": true
        },
        {
            "uuid": "81E1005056AC66D611E99680A3503DCE",
            "name": "Пересорт (відвантажили не той товар)",
            "code": "000000010",
            "photo_required": false
    }
  ]
}

Створити претензію на всю реалізацію по причині “Відсутня доставка”

POST /complaints/issue/(string: document_uuid)/not_delivered

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

{
  "result": true,
  "error": false,
  "complaint_uuid": "111AC026DF1142B04E111B11FFC11ACB",
  "message": "Очікуйте відповідь максимум до 13:40 / 30.12.2023",
  "photo_required": False
}

Файли прикріплені до претензії

GET /complaints/issue/(string: complaint_uuid)/attachments
Query Parameters:
 
  • complaint_uuid – ID претензії

Повертає список файлів прикріплених до претензії.

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

{
  "attachments": [
    {
      "id": "01-0001",
      "name": "image.png",
      "url": "https://api.bm.parts/complaints/issue/COMP-1/attachment/93-1752/image.png"
    },
    {
      "id": "01-0002",
      "name": "Last month by budget.csv",
      "url": "https://api.bm.parts/complaints/issue/COMP-1/attachment/01-0002/Last%20month%20by%20budget%20%282%29.csv"
    }
  ]
}

Контент файлу прикріпленого до задачі

GET /complaints/issue/(string: complaint_uuid)/attachment/(string: attach_id)/(string: attach_name)
query complaint_uuid:
 ID претензії
query attach_id:
 ID файла
query attach_name:
 Ім’я файла

Прикріпити файл до претензії

POST /complaints/issue/(string: complaint_uuid)/attachment
Query Parameters:
 
  • attachmentОбов’язковий файл

Можливо прикріпити тільки файл типу зображення!

Метод повертає статус 201 CREATED при успішному надсиланні файлу та повертає список всіх файлів до претензії.

Примітка

Форму з файлом необхідно передавати POST запитом з типом multipart/form-data.

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

{
  "attachments": [
    {
      "id": "01-0001",
      "name": "image.png",
      "url": "https://api.bm.parts/complaints/issue/COMP-1/attachment/93-1752/image.png"
    },
    {
      "id": "01-0002",
      "name": "Last month by budget.csv",
      "url": "https://api.bm.parts/complaints/issue/COMP-1/attachment/01-0002/Last%20month%20by%20budget%20%282%29.csv"
    }
  ]
}

Отримати дані для редагування претензії

GET /complaints/issue/(string: complaint_uuid)/edit_data
Query Parameters:
 
  • complaint_uuid – ID претензії

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

{
  "document": {
    "uuid": "81E3005056BA39E811EFCC45E351C6E6",
    "number": "ДГ000011923",
    "type": "0000013C",
    "created_at": "2025-01-06T17:50:02Z"
  },
  "status": {
    "name": "Нова",
    "uuid": "945CA012DB5777C94CCB587244473F90"
  },
  "created_at": "2025-01-07T16:46:47Z",
  "title": "Претензія по ДГ000011923",
  "uuid": "81E3005056BA39E811EFCD06383F9DCB",
  "products": [
    // Товару не було в створеній претензії
    {
      "quantity": 0,
      "available": 3,
      "sold_quantity": 3,
      "product": {
        "name": "Втулка стабілізатора (переднього/внутрішнього) Audi 80/VW Passat 80- (d=21mm)",
        "uuid": "8A59D5A4DCE87A50473932116B9D47AD",
        "article": "819 0031 10",
        "default_image": "photo\d\s\s\a\l\eb4630ed.jpeg",
        "brand": {
          "name": "FAG",
          "uuid": "812C000C2999A7E611E55EB9C240D5F1"
        }
      },
      "reason": null,
      "is_missing": false
    },
    // Вибрано всі 4 з доступних
    {
      "quantity": 4,
      "available": 0,
      "sold_quantity": 4,
      "product": {
        "uuid": "BA6677090A3E7E49472EFDC01F4476AF",
        "article": "18115",
        "default_image": "photo\r\l\b\w\k\66a0cb23.jpeg",
        "brand": {
          "uuid": "812C000C2999A7E611E55EBC7125685B",
          "name": "QUICK BRAKE"
        },
        "name": "Пружина супорта (заднього) Skoda Octavia/VW Golf IV/V/Passat 94-10 (R)"
      },
      "reason": {
        "name": "Пошкоджена упаковка",
        "uuid": "92F1005056BAA48611EF5626B5547602"
      },
      "is_missing": false
    },
    // Вибрано 2 одиниці товару з причиною надлишок (його немає серед куплених товарів)
    {
      "quantity": 2,
      "available": 0,
      "sold_quantity": 0,
      "product": {
        "article": "Рамка номерного знака ROWE чорна",
        "brand": {
          "uuid": "92E8005056BA7D7A11EE1C01384C1BD0",
          "name": "ROWE"
        },
        "uuid": "B4E85EFA8D41CCAC4DB6C2192D1C1DA4",
        "name": "Рамка номерного знака ROWE, чорна",
        "default_image": "photo\v\q\v\z\g\3d80a74f.jpeg"
      },
      "reason": {
        "name": "Надлишок (відвантажили зайвий товар)",
        "uuid": "92F3005056BA7D7A11EF4D8526CD406A"
      },
      "is_missing": true
    }
  ]
}

Список повідомлень до претензії

GET /complaints/issue/(string: complaint_uuid)/comments
Query Parameters:
 
  • complaint_uuid – ID претензії

Повертає список повідомлень до претензій відсортованих по даті оновлення.

Примітка

Сортування по найновіших.

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

{
  "comments": [
    {
      "author": "Ви",
      "created_at": "2018-02-16T14:10:40Z",
      "id": "115-13029",
      "document_uuid": "COMP-119",
      "is_client": true,
      "text": "тест"
    },
    {
      "author": "Менеджер Бусмаркет",
      "created_at": "2018-01-26T16:35:54Z",
      "id": "115-11730",
      "document_uuid": "COMP-119",
      "is_client": false,
      "text": "Приклад, коментаря менеджера."
    }
  ]
}

Додати повідомлення до претензії

POST /complaints/issue/(string: complaint_uuid)/comment
Query Parameters:
 
  • commentОбов’язковий Текст повідомлення

Приклад payload:

{
  "comment": "тест"
}

Метод повертає статус 201 CREATED при успішному надсиланні повідомлення та повертає список всіх повідомлень до претензії.

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

{
  "comments": [
    {
      "author": "Ви",
      "created_at": "2018-02-16T14:10:40Z",
      "id": "115-13029",
      "document_uuid": "COMP-119",
      "is_client": true,
      "text": "тест"
    },
    {
      "author": "Менеджер Бусмаркет",
      "created_at": "2018-01-26T16:35:54Z",
      "id": "115-11730",
      "document_uuid": "COMP-119",
      "is_client": false,
      "text": "Приклад, коментаря менеджера."
    }
  ]
}

Створити претензію

POST /complaints/issue/(string: document_uuid)
Query Parameters:
 
  • products – Список продуктів (об’єктів) по яким створюємо претензію

Приклад тіла запиту:

{
  "products": [
    {
      "product_uuid":"12FD005056BAD76D11EE8880F2C0C6EE",
      "quantity":"1",
      "cause_uuid":"11FD005056BAD76D11EE8880F2C0C6EE"
    }
  ]
}

Приклад успішної відповіді (по одному з товарів претензія не створилась):

{
  "result": true,
  "data": [
    {
      "product_uuid": "12FD005056BAD76D11EE8880F2C0C6EE",
      "quantity": "1",
      "result": false,
      "cause_uuid": None,
      "message": "Не знайдено причину"
    },
    {
      "product_uuid": "32FD005056BAD76D11EE8880F2C0C6EE",
      "quantity": "1",
      "result": true,
      "cause_uuid": "11FD005056BAD76D11EE8880F2C0C6EE",
      "message": "Успішно створено претензію"
    }
  ],
  "error": false,
  "complaint_uuid": "111AC011DF1142B04E111B11FFC11ACB"
  "message": "Очікуйте відповідь максимум до 13:40 / 30.12.2023",
  "photo_required": False
}

Приклад неуспішної відповіді (422 status code):

{
  "error": true,
  "result": false,
  "data": null,
  "message": "Помилка валідації",
  "errors": {
    "products": [
      {
        "cause_uuid": [
          "Вказано некоректне значення"
        ]
      }
    ]
  }
}

Редагування претензії

PUT /complaints/issue/(string: complaint_uuid)

Приклад payload:

{
  "products": [
    {
      "quantity": 3,
      "product_uuid": "8A59D5A4DCE87A50473932116B9D47AD",
      "cause_uuid": "92F1005056BAA48611EF5626B5547602"
    },
    {
      "quantity": 1,
      "product_uuid": "BA6677090A3E7E49472EFDC01F4476AF",
      "cause_uuid": "92F1005056BAA48611EF5626B5547602"
    },
  ]
}

Приклад успішної відповіді (200 status code):

{
  "message": "Претензію від 11.02.2025 / 12:37 успішно змінено"
  "success": true
}

Приклад неуспішної відповіді (422 status code):

{
  "message": "Редагування доступне тільки для претензій зі статусом 'Нова'"
  "success": false
}

Скасування претензії

DELETE /complaints/issue/(string: complaint_uuid)
Query Parameters:
 
  • complaint_uuid – UUID претензії

Приклад успішної відповіді (200 status code):

{
  "success": true,
  "message": "Претензію від 22.01.2025 / 17:50 успішно скасовано"
}

Приклад неуспішної відповіді (422 status code):

{
  "success": false,
  "message": "Скасування претензії можливе тільки для претензії зі статусом 'Нова'"
}

Список товарів, доступних для створення претензії по реалізації.

GET /complaints/(string: document_uuid)/products
Query Parameters:
 
  • page – номер сторінки (пагінація)
  • per_page – кількість елементів на сторінці (пагінація)
  • q – Пошукова строка. Дозволяє шукати по артикулу,

назві товару, назві бренду

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

{
  "products": [
    {
      "quantity": 1,
      "uuid": "9B24C6D045638C044BA2F21340F45323",
      "article": "480612100",
      "default_image": "photo\o\b\d\w\h\22a2a2f2.jpeg",
      "name": "Автолампа H4 12V 60/55W P43t Range Power 110 (к-кт 2шт)",
      "brand": {
        "name": "NARVA",
        "uuid": "1A24C6D045638C044BA2F21340F45111"
      }
    },
    {
      "quantity": 1,
      "uuid": "A96DF1539732A6DD4E675B9B96D39F89",
      "article": "WH 504",
      "default_image": "photo\o\b\d\w\h\11a1a1f1.jpeg",
      "name": "Фільтр повітряний Fiat Scudo 1.9D 2.0JTD (з поролоном)",
      "brand": {
        "name": "WUNDER FILTER",
        "uuid": "V11DF1539732A6DD4E675B9B96D39F11"
      }
    }
  ],
  "not_delivered_status_access": true
}

Отримати детальну інформацію по претензії

GET /complaints/(string: complaint_uuid)
Query Parameters:
 
  • page – Номер сторінки
  • per_page – Кількість обʼєктів на сторінці. За замовчуванням: 30

Примітка

Сортування по найновіших.

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

{
  "complaint": {
    "uuid": "81D2005056BA39E811EF4443C53E4080",
    "title": "Претензія по ДГ000294413",
    "created_at": "2024-02-06T09:47:38Z",
    "timer_to_response": "2024-02-06T10:47:38Z",
    "can_edit": true,
    "can_delete": true,
    "status": {
      "name": "Нова",
      "uuid": "B21951A52D38578740A7C1035ED#####"
    },
    "document": {
      "uuid": "81CA005056BA39E811EEC4C1B88412EA",
      "number": "ДГ000294413",
      "type": "0000013C",
      "created_at": "2024-02-06T09:31:20Z"
    },
    "reasons": [
      "Невірний крос-код",
      "Брак"
    ],
    "products": [
      {
        "product": {
          "uuid": "BD0A3ED4F4C5D4F9448720074E730563",
          "article": "099996001050",
          "default_image": "photo\o\u\t\j\f\0b2a3343.jpeg",
          "brand": {
            "name": "MAGNETI MARELLI",
            "uuid": "812C000C2999A7E611E55EBAE141FAA0"
          },
          "name": "Паста для рук (4л)"
        },
        "quantity": 1,
        "reason": {
          "name": "Брак",
          "uuid": "81CB005056AC66D611E89949D1E3B985"
        }
      }
    ],
    "attachments": [
      {
        "id": "93-149632",
        "name": "image_2.png",
        "url": "https://api.bm.parts/complaints/issue/81D2005056BA39E811EF4443C53E4080/attachment/93-149632/image_2.png"
      },
      {
        "id": "93-149633",
        "name": "image_3.png",
        "url": "https://api.bm.parts/complaints/issue/81D2005056BA39E811EF4443C53E4080/attachment/93-149633/image_3.png"
      }
    ],
    "comments_count": 3
  }
}