Скарги та побажання

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

Отримати список типів помилок пов’язаних з товаром

GET /claims/product/error_types

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

{
    [
        {"key": "name", "value": "Неправильний опис"},
        {"key": "analog", "value": "Невірний аналог"},
        {"key": "photo", "value": "Невідповідне фото"},
        {"key": "other", "value": "інше"},
    ]
}

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

GET /claims/issues/departments
GET /claims/issues/departments/

Повертає список доступних департаментів.

Типи пріоритетів

GET /claims/issues/priorities/

Повертає список доступних пріоритетів.

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

{
  "priorities": [
    {
      "id": "8b700f24-f46b-1410-ee8c-0050ba5d6c38",
      "description": "Високий"
    },
    {
      "id": "afb33208-f46b-1410-ec8c-0050ba5d6c38",
      "description": "Критичний"
    },
    {
      "id": "cbb93036-f46b-1410-ef8c-0050ba5d6c38",
      "description": "Низький"
    },
    {
      "id": "d9bd322c-f46b-1410-ee8c-0050ba5d6c38",
      "description": "Середній"
    }
  ]
}

Список видів діяльності

GET /claims/issues/activities
GET /claims/issues/activities/

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

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

{
  "activities": [
    {
      "id": "3a1f07de-ba05-4fdb-8f61-93f99f496645",
      "description": "Корпоративний клієнт"
    },
    {
      "id": "425e8191-e5ee-4018-b021-30feba615a64",
      "description": "Магазин 121212"
    },
    {
      "id": "889748fb-134b-4262-b23f-f0d105e49977",
      "description": "СТО "
    },
    {
      "id": "f0778105-0c58-405c-a41b-a94602925723",
      "description": "Інтернет-магазин"
    }
  ]
}

Типи задач

GET /claims/issues/types
GET /claims/issues/types/

Вертає список доступних типів для задач.

Список скарг клієнта

GET /claims/issues
GET /claims/issues/
Query Parameters:
 
  • type – Тип звернення. Може приймати значения parts_lookup, Запрос, Жалоба, Предложение. За замовчуванням, вертає всі звернення.
  • page – Номер сторінки
  • per_page – Кількість об’єктів на сторінці

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

{
  "issues": [
    {
      "attachments_count": 1,
      "attachments_url": "https://api.bm.parts/claims/issue/CLAIMS-1405/attachments",
      "client_code": "000000000",
      "comments_count": 3,
      "comments_url": "https://api.bm.parts/claims/issue/CLAIMS-1405/comments",
      "created_at": "2021-02-26T13:52:55Z",
      "description": "Помилка в товарі  -  0 281 002 445 BOSCH",
      "issue_id": "CLAIMS-1405",
      "priority": "Обычная",
      "reporter": "Вы",
      "resolved": "2021-03-19T07:00:50Z",
      "state": "Закрыта",
      "summary": "Тип помилки - Невідповідне фото; Опис: Не проставлено основне  фото!",
      "type": "Жалоба",
      "updated_at": "2021-03-01T09:45:19Z",
      "updater": "Павло Ігорович"
    }
  ]
}

Створення звернення

POST /claims/issues
Query Parameters:
 
  • summaryОбов’язковий Короткий опис
  • description – Детальний опис
  • issue_type – Тип задач див. Типи задач
  • product_uuid – ID товара
  • product_error_type – список типов ошибок связанных с товаром

Приклад виконання запиту, використовуючи curl.

curl -i -X POST https://api.bm.parts/claims/issues
--cookie "session=c5db6d5a-ef3e-4c0c-a2a3-0512e0109dbd"
--header "Content-Type: application/json"
-d '''
{
  "summary": "hello",
  "description": "world",
  "issue_type": "Epic",
  "priority": "Major"
}
'''

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

HTTP/1.0 201 CREATED
Content-Type: application/json; charset=utf-8
Location: https://api.bm.parts/claims/issue/CLAIMS-1/
{
  "issue_id": "ITP-9"
}

У випадку якщо передані невірні параметри:

HTTP/1.0 422 UNPROCESSABLE ENTITY
{
  "documentation_url": "http://developer.bm.parts/",
  "errors": {
    "issue_type": [
      "Передано недопустимое значение типа"
    ]
  },
  "message": "Ошибка проверки параметров запроса"
}

Файли прикріплені до скарги

GET /claims/issue/(string: issue_id)/attachments
GET /claims/issue/(string: issue_id)/attachments/
Query Parameters:
 
  • issue_id – ID скарги

Вертає список файлів прикріплених до скарги

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

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

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

GET /claims/issue/(string: issue_id)/attachment/(string: attach_id)/(path: attach_name)
Query Parameters:
 
  • issue_id – ID скарги
  • attach_id – ID файлу
  • attach_name – Назва файлу

Щоб отримати файл, потрібно передати ідентифікатор скарги, ідентифікатор і назву файлу

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

POST /claims/issue/(string: issue_id)/attachment
POST /claims/issue/(string: issue_id)/attachment/
Query Parameters:
 
  • attachmentОбов’язковий файл, що прикріплюється

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

Примітка

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

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

HTTP/1.0 201 CREATED
Content-Type: application/json; charset=utf-8
Location: https://api.bm.parts/claims/issue/CLAIMS-1/attachment/ID-1/test.jpeg

Список коментарів до скарги

GET /claims/issue/(string: issue_id)/comments
GET /claims/issue/(string: issue_id)/comments/
Query Parameters:
 
  • issue_id – ID скарги

Вертає список коментарів до звернення відсортованого по даті оновлення.

Примітка

Самі свіжі коментарі і відповіді будуть розміщені зверху.

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

{
  "comments": [
    {
      "author": "Вы",
      "created_at": "2018-02-16T14:10:40Z",
      "id": "115-13029",
      "issue_id": "CLAIMS-119",
      "text": "тест"
    },
    {
      "author": "Менеджер Бусмаркет",
      "created_at": "2018-01-26T16:35:54Z",
      "id": "115-11730",
      "issue_id": "CLAIMS-119",
      "text": "Например, это комментарий менеджера... Уважаемый клиент мы решим вашу проблему..."
    }
  ]
}

Додати коментар до задачі

POST /claims/issue/(string: issue_id)/comment
POST /claims/issue/(string: issue_id)/comment/
Query Parameters:
 
  • commentОбов’язковий Текст коментаря

Метод вертає статус 201 CREATED при успішному створенні коментаря, завантажити оновлений список коментарів можна по URL, котрий вертається в заголовку Location.

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

HTTP/1.0 201 CREATED
Content-Type: application/json; charset=utf-8
Location: https://api.bm.parts/claims/issue/CLAIMS-1/comments/

Отримати задачу

GET /claims/issue/(string: issue_id)
GET /claims/issue/(string: issue_id)/

Вертає задачу по ID