Краткое описание возможностей 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
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}
}