Перейти к содержанию

Краткое описание возможностей API Anywash

Swagger: https://app.anywash.ru/swagger/

Base url: https://app.anywash.ru/api/v2/

Действия с автомобилями:

GET /cars/

Получить список автомобилей, закрепленных за вашей компанией.

Возможные фильтры для запроса

1) По company_id (id компании):

    exact`: Фильтрует по id компании.
Пример запроса:
    GET /api/v2/cars/?company_id=company_id

Запрос:

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/cars/' \
--header 'Authorization: Bearer {auth_token}'

Ответ:

{
    "count": 986,                                           //Общее количество автомобилей, закрепленных за компанией
    "next": "https://app.anywash.ru/api/v2/cars/?page=2",   //Эндпоинт следующей страницы
    "previous": null,                                       //Эндпоинт предыдущей страницы
    "results": [
        {
            "id": 0,                                        //id автомобиля
            "plate_number": "string",                       //ГРЗ автомобиля
            "car_model_id": 0,                              //ID модели машины
            "cost_center": "string"                         //Центр затрат
        }
    ]
}

GET /cars/{id}/ or GET /cars/{plate_number}/

Получить список установленных доступных услуг для конкретного автомобиля вашей компании.

Запрос:

{id} - id автомобиля {plate_number} - ГРЗ автомобиля

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/cars/{id}/' \
--header 'Authorization: Bearer {auth_token}'

Ответ:

{
  "plate_number": "string",                 //ГРЗ автомобиля
  "allowed_services": [                     //Услуги, доступные автомобилю
        {
            "id": 1,                        //ID услуги
            "name": "Техническая мойка",    //Наименование услуги
            "category": "washing"           //Категория услуги ("washing" - автомойка; "tires" - шиномонтаж, "tires_storage" - Хранение шин, "fuel" - топливо, "evacuation" - эвакуация, "tech_service" - Техническое обслуживание)
        },
        {
            "id": 2,
            "name": "Кузов коврики",
            "category": "washing"
        },
        {
            "id": 3,
            "name": "Комплекс",
            "category": "washing"
  ]                              
}

POST /cars/

Добавить новый автомобиль вашей компании в список а\м.

Запрос:

cUrl:

curl --location --request POST 'https://app.anywash.ru/api/v2/cars/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "plate_number": "string",          //ГРЗ автомобиля
    "cost_center": "string",           //Центр затрат
    "brand": "string",                 //Марка автомобиля (опционально)
    "car_model": "string"              //Модель автомобиля (опционально)
}'

Ответ:

{
    "plate_number": "string",
    "cost_center": "string",
    "brand": 0,
    "car_model": 0,
    "car_class": 1,                     // Заполняется автоматически, если найдена информация по brand и car_model
    "form_factor": 1                    // Заполняется автоматически, если найдена информация по brand и car_model
}

Действия с компанией:

GET /companies/

Для компаний с доступом

Получить информацию о компаниях

Возможные фильтры для запроса

1) По type (тип компании):

    exact`: Фильтрует компании по типу.
Пример запроса:
    GET /api/v2/companies/?type=client
Available values : client, master_client, washer, 4, all_seeing


cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/companies/' \
--header 'Authorization: Bearer {auth_token}'

Ответ:

{
    "count": 0,
    "next": "https://app.anywash.ru/api/v2/companies/?page=2",
    "previous": null,
    "results": [
        {
            "id": 551,                          //ID компании
            "name": "ООО 'Test Company'",       //Наименование компании
            "allowed_services": [               //Массив доступных услуг
                {
                    "id": 2,                    //ID услуги
                    "name": "Кузов коврики",    //Наименование услуги
                    "category": "washing"       //Категория услуги ("washing" - автомойка; "tires" - шиномонтаж, "tires_storage" - Хранение шин, "fuel" - топливо, "evacuation" - эвакуация, "tech_service" - Техническое обслуживание)
                }
            ],
            "type": "string",                   //Тип компании
            "inn": "00000",                     //ИНН
            "ogrn": "0000",                     //ОГРН
            "is_active": true,
            "address": "string",                //Адрес
            "phone": 71111111111,               //Телефон
            "is_prepaid": true,                 //Работает по предоплате
            "account_number": "0000",           //Счет плательщика
            "payer_check_kor": "0000",          //Кор счет
            "bik": "0000",                      //БИК плательщика
            "bank_name": "string",              //Название банка плательщика
            "kpp": "0000"                       //КПП плательщика
        }
    ]
}

GET /companies/{id}/

Получить список доступных услуг для всех автомобилей вашей компании.

Запрос:

{id} - ID вашей компании в системе ©Anywash.

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/companies/{company_id}/' \
--header 'Authorization: Bearer {auth_token}'

Ответ:

{
    "id": 551,                          //ID компании
    "name": "ООО 'Test Company'",       //Наименование компании
    "allowed_services": [               //Массив доступных услуг
        {
            "id": 2,                    //ID услуги
            "name": "Кузов коврики",    //Наименование услуги
            "category": "washing"       //Категория услуги ("washing" - автомойка; "tires" - шиномонтаж, "tires_storage" - Хранение шин, "fuel" - топливо, "evacuation" - эвакуация, "tech_service" - Техническое обслуживание)
        }
    ],
    "type": "string",                   //Тип компании
    "inn": "00000",                     //ИНН
    "ogrn": "0000",                     //ОГРН
    "is_active": true,
    "address": "string",                //Адрес
    "phone": 71111111111,               //Телефон
    "is_prepaid": true,                 //Работает по предоплате
    "account_number": "0000",           //Счет плательщика
    "payer_check_kor": "0000",          //Кор счет
    "bik": "0000",                      //БИК плательщика
    "bank_name": "string",              //Название банка плательщика
    "kpp": "0000"                       //КПП плательщика


}

Действия с заказами\транзакциями:

GET /orders/

Получить список всех транзакций вашей компании.

Возможные фильтры для запроса

1) По plate_number (номеру автомобиля):

    exact`: Фильтрует заказы по полному совпадению номера автомобиля.
Пример запроса:
    GET /api/v2/orders/?plate_number=C157MM790


2) По confirmed_at (дата подтверждения):

   - `exact`: Заказы с указанной датой подтверждения.
   - `gte`: Заказы, подтвержденные в указанную дату или позже.
   - `lte`: Заказы, подтвержденные в указанную дату или раньше.
   - `gt`: Заказы, подтвержденные позже указанной даты.
   - `lt`: Заказы, подтвержденные раньше указанной даты.
Примеры запросов:
    GET /api/v2/orders/?confirmed_at=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?confirmed_at__gte=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?confirmed_at__lte=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?confirmed_at__gt=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?confirmed_at__lt=2024-05-23T15:16:31.631044


3) По confirmed_at_time (время подтверждения):

    - `exact`: Заказы с указанным временем подтверждения.
    - `gte`: Заказы, подтвержденные в указанное время или позже.
    - `lte`: Заказы, подтвержденные в указанное время или раньше.
    - `gt`: Заказы, подтвержденные позже указанного времени.
    - `lt`: Заказы, подтвержденные раньше указанного времени.
Примеры запросов:
    GET /api/v2/orders/?confirmed_at_time=15:00:00
    GET /api/v2/orders/?confirmed_at_time__gte=08:00:00
    GET /api/v2/orders/?confirmed_at_time__lte=18:00:00
    GET /api/v2/orders/?confirmed_at_time__gt=10:00:00
    GET /api/v2/orders/?confirmed_at_time__lt=14:00:00


4)По updated_at (время изменения):

    - `exact`: Заказы с указанным временем изменения.
    - `gte`: Заказы, измененные в указанное время или позже.
    - `lte`: Заказы, измененные в указанное время или раньше.
    - `gt`: Заказы, измененные позже указанного времени.
    - `lt`: Заказы, измененные раньше указанного времени.
Примеры запросов:
    GET /api/v2/orders/?updated_at=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?updated_at=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?updated_at=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?updated_at=2024-05-23T15:16:31.631044
    GET /api/v2/orders/?updated_at=2024-05-23T15:16:31.631044


5)По order_number (номеру заказа):

    exact`: Фильтрует заказы по полному совпадению номера заказа.
Пример запроса:
    GET /api/v2/orders/?order_number={order_number}


Запрос:

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/orders/' \
--header 'Authorization: Bearer {auth_token}'

Ответ:

{
    "count": 66,
    "next": "https://app.anywash.ru/api/v2/orders/?page=2",
    "previous": null,
    "results": [
        {
            "order_number": "{order_number}",           //ID заказа
            "status": "pre_init",                       //Статус
            "client_price": 0.0,                        //Общая стоимость заказа
            "partner_price": 0,
            "services": [                               //Массив услуг в рамках заказа
                {
                    "quantity": 1,                      //Количество по данной услуге
                    "service": {
                        "id": 2,                        //ID услуги
                        "name": "Кузов коврики",        //Наименование услуги
                        "category": "washing"           //Категория услуги ("washing" - автомойка; "tires" - шиномонтаж, "tires_storage" - Хранение шин, "fuel" - топливо, "evacuation" - эвакуация, "tech_service" - Техническое обслуживание)
                    },
                    "client_price_for_one": 0.0,        //Стоимость за единицу услуги
                    "wheel_size": null                  //Радиус колес(для категории tires)
                }
            ],
            "driver": {                                 //Информация о водителе (если он есть)
                    "id": 0,                            //ID водителя
                    "phone": "string",                  //Телефон водителя
                    "first_name": "string",             //Имя водителя
                    "last_name": "string",              //Фамилия водителя
                    "patronymic_name": "string"         //Отчество водителя
                    },
            "plate_number": "C696TO899",                //ГРЗ автомобиля
            "car": {
                    "plate_number": "C696TO899"
                    },
            "form_factor": 2,                           //Тип кузова а/м
            "car_class": 2,                             //Класс а/м
            "poi": {                                
                "id": 13,                               //ID точки
                "point": {
                    "lat": 55.81902894806981,           //Широта
                    "lon": 37.513913197629236           //Долгота
                         },
                "company": {
                    "id": 110,                          //ID компании-партнера
                    "name": "testwash"                  //Наименование компании-партнера
                },
                "phone": "88006004159"                  //Контактный телефон
            },
            "client": {
              "id": 1,
              "name": "string"
            },
            "partner": {
              "id": 1,
              "name": "string"
            },
            "created_at": "2022-02-03T11:39:11.587062", //Дата и время создания транзакции
            "confirmed_at": "2022-08-24T14:15:22Z",      //Дата и время подтверждения транзакции
            "updated_at": "2022-08-24T14:15:22Z"      //Дата и время изменения транзакции
        }
}

POST /orders/

// Для компаний-партнеров. Отправить заказ на подтверждение.

Запрос:

cUrl:

curl --location --request POST 'https://app.anywash.ru/api/v2/orders/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "plate_number": "{plate_number}",     //ГРЗ автомобиля
  "poi": 13,                            //ID ТОУ
  "services": [                         //Набор услуг в рамках заказа
    {
      "quantity": 2,                    //Количество выполненных работ по данной услуге
      "service": 4,                     //ID услуги
      "partner_price_for_one": 250,     //Стоимость услуги за единицу
      "wheel_size": "R15C"              //Радиус колеса для услуг шиномонтажа
    }
  ],
  "tire_set": 
    {                          
      "brand": "string",                //Марка шин
      "model": "string",                //Модель шин
      "lot_number": 1,                  //Номер партии шин
      "size": "string",                 //Размер
      "radius": 2147483647,             //Радиус шины
      "have_spikes": true,              //Имеют ли шины шипы
      "quantity": 2147483647            //Количество шин
    },
  "order_date": "2019-08-24",           //Дата
  "order_time": "string"                //Время
}'

Ответ:

{
  "plate_number": "string",                                   //ГРЗ автомобиля
  "poi": "string",                                            //ID ТОY
  "status": "pre_init",                                       //Статус
  "order_number": "73800fa8-e7a3-4f0b-8646-f7258cfe8e41",     //Токен
  "services": [                                               //Набор услуг в рамках заказа
    {
      "quantity": 2,                                          //Количество выполненных работ по данной услуге
      "service": 4,                                           //ID услуги
      "partner_price_for_one": 250,                           //Стоимость услуги за единицу
      "wheel_size": "R15C"                                    //Радиус колеса для услуг шиномонтажа
    }
  ],
  "tire_set": 
    {                          
      "brand": "string",                                      //Марка шин
      "model": "string",                                      //Модель шин
      "lot_number": 1,                                        //Номер партии шин
      "size": "string",                                       //Размер
      "radius": 2147483647,                                   //Радиус шины
      "have_spikes": true,                                    //Имеют ли шины шипы
      "quantity": 2147483647                                  //Количество шин
    },
  "order_date": "2019-08-24",                                 //Дата
  "order_time": "string"                                      //Время
}

PATCH /orders/{id}/

Изменение статуса заказа.

Запрос:

{id} - ID заказа.

cUrl:

curl --location --request PATCH 'https://app.anywash.ru/api/v2/orders/ac5ed186-0ddd-4cc7-9a3e-1eef3caf7d14/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "status": "confirmed"     //Статус подтверждения("pre_init", "init", "confirmed", "rejected")
}'

Действия с ТОУ:

GET /pois/

Получить детализированный список ТОУ Anywash с ценами клиента.

Возможные фильтры для запроса

1) По company (id компании):

    exact`: Фильтрует по id компании.
Пример запроса:
    GET /api/v2/pois/?company=company_id

Запрос:

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/pois/' \
--header 'Authorization: Bearer {auth_token}' \
--data-raw ''

Ответ

{
    "count": 479,                                           //Общее количество ТОУ
    "next": "https://app.anywash.ru/api/v2/pois/?page=2",   //Ендпоинт следующей страницы списка
    "previous": null,
    "results": [                                            //Список ТОУ
        {
            "id": 13,                                       //ID точки                   
            "name": "testwash",                             //Наименование точки
            "point": {
                "lat": 55.695591,                           //широта
                "lon": 37.728281                            //долгота
            },
            "opening_hours": "08:00:00",                    //Время открытия
            "closing_hours": "22:00:00",                    //Время закрытия
            "advance_registration": "possible",             //Предварительная запись: required, possible, no (Обязательна, возможна, нет)
            "rating": "string"                              //Рейтинг
        }
    ]
}

GET /pois/{id}/

Получить информацию по ID конкретной точки.

Запрос:

{id} - ID точки.

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/pois/{id}/' \
--header 'Authorization: Bearer {auth_token}' \
--data-raw ''

Ответ:

{
    "id": 13,                               //ID точки
    "name": "Test place",                   //Наименование точки
    "info": "some info...",                 //Информация по точке   
    "company": "string",                    //Компания
    "phone": "88006004159",                 //Номер телефона тех. поддержки
    "opening_hours": "string",              //Время открытия
    "closing_hours": "string",              //Время закрытия
    "post_height": 0,                       //Высота поста
    "advance_registration": "required",     //Предварительная запись ("required", "possible", "no")
    "services": [                           //Список услуг, доступных на ТОУ
        {
            "id": 1,                        //ID услуги
            "name": "Техническая мойка",    //Наименование услуги
            "category": "washing",          //Категория услуги ("washing" - автомойка; "tires" - шиномонтаж, "tires_storage" - Хранение шин, "fuel" - топливо, "evacuation" - эвакуация, "tech_service" - Техническое обслуживание)
            "prices": [                     //Список цен для данной услуги
                {
                    "car_class": 1,         //Класс а/м
                    "form_factor": 1,       //Тип кузова а/м(1 - легковой, 2-грузовой)
                    "wheel_size": null,     //Радиус колеса(для транзакций шиномонтажа)
                    "price": 150.0          //Стоимость для клиента
                },
                {
                    "car_class": 2,
                    "form_factor": 1,
                    "wheel_size": null,
                    "price": 160.0
                },
                {
                    "car_class": 3,
                    "form_factor": 1,
                    "wheel_size": null,
                    "price": 170.0
                },
                {
                    "car_class": 4,
                    "form_factor": 1,
                    "wheel_size": null,
                    "price": 180.0
                }
            ]
        }
    ],
    "rating": "string",                     //Рейтинг
    "rating_color": "string"
}

POST /pois/

//Для партнеров. Создать ТОУ в системе Anywash, в ответ получить ее ID.

Запрос:

cUrl:

curl --location --request POST 'https://app.anywash.ru/api/v2/pois/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "тест",                                       //Наименование точки
  "info": "инфо",                                       //Информационное поле
  "address": "г Санкт-Петербург, Почтамтский пер, д 2", //Адрес
  "phone": "88006004159",                               //Телефон тех. поддержки Anywash
  "opening_hours": "10:00",                             //Время открытия
  "closing_hours": "23:00",                             //Время закрытия
  "post_height": 4.5,                                   //Высота поста
  "advance_registration": "required",                   //Параметр предварительной записи(required, possible, no)
  "services": [9]                                       //Набор услуг, доступных на ТОУ(ID услуг)
  "point": {
    "lat": 55.695591,                                   //Широта
    "lon": 37.728281                                    //Долгота
  },
}'

Ответ:

{
    "id": 636,                                              //ID новой точки
    "name": "тест",
    "info": "инфо",
    "address": "г Санкт-Петербург, Почтамтский пер, д 2",
    "phone": "88006004159",
    "opening_hours": "10:00:00",
    "closing_hours": "23:00:00",
    "post_height": 4.5,
    "advance_registration": "required",
    "services": [
        9
    ],
    "point": {
        "lat": 55.695591,
        "lon": 37.728281
    }
}

Действия с заявками:

GET /tickets/

Получить список заявок на тех. поддержку.

Запрос:

cUrl:

curl --location --request GET 'https://app.anywash.ru/api/v2/tickets/' \
--header 'Authorization: Bearer {auth_token}'

Ответ:

{
    "count": 2,                                                     //Общее количество заявок
    "next": "https://app.anywash.ru/api/v2/tickets/?page=2",
    "previous": null,
    "results": [
        {
            "ticket_num": "c91efdd1-c597-4951-a941-313861bd2a2e",   //ID заявки
            "title": "Запрос водителя М ТАКСИ",                     //Название заявки
            "description": "Отказывают услугу на мойке",            //Описание проблемы
            "address": "Москва, даниловский вал д 13 а",            //Адрес
            "poi": 133                                              //ID точки
        },

POST /tickets/

Создать заявку на тех. поддержку.

Запрос:

cUrl:

curl --location --request POST 'https://app.anywash.ru/api/v2/tickets/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "{title}",
  "description": "{description}",
  "address": "{adress}",
  "poi": {poi_id}
}'

Ответ:

{
    "ticket_num": "{ticket_num}",
    "title": "{title}",
    "description": "{description}",
    "address": "{adress}",
    "poi": 0
}

PUT /tickets/{id}/

Изменить заявку в тех. поддержку.

Запрос:

{id} - ID заявки

cUrl:

curl --location --request POST 'https://app.anywash.ru/api/v2/tickets/{id}/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "{title}",
  "description": "{description}",
  "address": "{adress}",
  "poi": {poi_id}
}'

Ответ:

{
    "ticket_num": "{ticket_num}",
    "title": "{title}",
    "description": "{description}",
    "address": "{adress}",
    "poi": {poi_id}
}

PATCH /tickets/{id}/

Частично изменить заявку в тех. поддержку.

Запрос:

{id} - ID заявки

cUrl:

curl --location --request POST 'https://app.anywash.ru/api/v2/tickets/{id}/' \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "{title}",
  "description": "{description}",
  "address": "{adress}",
  "poi": {poi_id}
}'

Ответ:

{
    "ticket_num": "{ticket_num}",
    "title": "{title}",
    "description": "{description}",
    "address": "{adress}",
    "poi": {poi_id}
}