Оформление
Создание и редактирование заявки
Заявки созданные по API в CRM будут помечены “Заявка создана по API”
Методы для работы с заявками
POST запрос добавления заявки
https://toursystema.com/org-api/request/create
POST запрос редактирования заявки
Заявки https://toursystema.com/org-api/request/update?id=1 GET параметр ID заявки (id)
Пример тела запроса для создания и редактирования заявки
json
{
"base_sale_status": 1,
"email_for_confirm": "org@test.com",
"tour_id": 123,
"individual_tour": false,
"date_start": "2025-01-01",
"date_end": "2025-01-15",
"date_price": 50000,
"currency": "RUB",
"adults_amount": 2,
"children_amount": 1,
"comment": "Комментарий к заявке",
"language_id": 1,
"surname": "Иванов",
"name": "Иван",
"middlename": "Иванович",
"phone": "+79990000000",
"email": "test@test.com",
"timezone": "Asia/Yekaterinburg",
"discount": {
"type": 2,
"format": 2,
"size": 45,
"start_date": null,
"end_date": null,
"count_days": null,
"conditions": null
}
}Параметры для создания и редактирования заявки.
| Параметр | Описание | Тип данных | Обязательность |
|---|---|---|---|
| id | ID заявки | integer | Да |
| base_sale_status | Статус в СRM | integer | Нет |
| email_for_confirm | Требуется отправка уведомления о создании заявки на указанный email | string | Нет |
| tour_id | ID тура | integer | Нет |
| individual_tour | Является индивидуальным туром | boolean | Нет |
| date_start | Дата начала | date (YYYY-MM-DD) | Да, если “Является индивидуальным туром” |
| date_end | Дата завершения | date (YYYY-MM-DD) | Да, если заполнено поле “Дата начала” |
| date_price | Стоимость тура за одного туриста | integer | Да, если “Является индивидуальным туром” |
| currency | Валюта | string | Да, если не заполнен параметр “Тур” И заполнен параметр “Стоимость тура за одного туриста” |
| adults_amount | Количество взрослых | integer | Нет |
| children_amount | Количество детей | integer | Нет |
| comment | Комментарий к заявке | string | Нет |
| language_id | Язык | integer | Да |
| surname | Контактное лицо. Фамилия | string | Нет |
| name | Контактное лицо. Имя | string | Нет |
| middlename | Контактное лицо. Отчество | string | Нет |
| phone | Номер телефона | string | Нет |
| Электронная почта | string | Нет | |
| timezone | Часовой пояс | string | Нет |
| discount | Скидка на заезд | Объект скидка | Нет |
Список поддерживаемых часовых поясов https://www.php.net/manual/ru/timezones.php
Параметр email_for_confirm используется на данный момент только при создании заявки
Описание объекта "Скидка"
| Параметр | Описание | Тип |
|---|---|---|
| id | ID скидки | integer |
| name | Название скидки | string |
| type | Тип скидки | integer |
| size | Размер скидки | float |
| format | Формат скидки | integer |
| conditions | Условия скидки | string |
| start_date | Дата начала действия скидки | string |
| end_date | Дата окончания действия скидки | string |
Описание параметра “Язык”
| Значение | Описание |
|---|---|
| 1 | Русский |
| 2 | Английский |
| 3 | Немецкий |
| 4 | Китайский |
Описание параметра “Валюта”
| Значение | Описание |
|---|---|
| RUB | Рубли |
| USD | Доллары |
| EUR | Евро |
Описание параметра "Тип скидки"
| Значение | Описание |
|---|---|
| 1 | Скидка за раннее бронирование до указанной даты |
| 2 | Скидка за раннее бронирование до установленного количества дней до даты тура |
| 3 | Сезонная скидка |
| 4 | Скидка на заезд |
Описание параметра "Формат скидки"
| Значение | Описание |
|---|---|
| 1 | Валюта |
| 2 | % |
Успешный ответ (HTTP 200)
json
{
"success": true,
"request_id": 234238
}Нет прав на создание и редактирование заявки (HTTP 403)
json
{
"name": "Not Found",
"message": "У вас нет права на совершение этого действия",
"code": 0,
"status": 403
}Заявка не найдена (HTTP 404)
json
{
"name": "Not Found",
"message": "Заявка не найдена",
"code": 0,
"status": 404
}Ошибки валидации данных (HTTP 422)
json
{
"tour_id": [
"Тур не существует"
],
"base_sale_status": [
"Значение неверно."
],
"children_amount": [
"Значение должно быть целым числом.",
"Значение не должно превышать 99."
],
"language_id": [
"Значение неверно."
]
}Описание ошибок для валидации каждого параметра
| Параметр | Возможные ошибки |
|---|---|
| base_sale_status | - Значение неверно. |
| tour_id | - Тур не существует |
| individual_tour | - Значение неверно. |
| date_start | - Необходимо заполнить. - Неверный формат даты. - Значение должно быть строкой |
| date_end | - Необходимо заполнить. - Неверный формат даты. - Значение должно быть строкой. - Дата окончания не может быть раньше даты начала. |
| date_price | - Необходимо заполнить. - Значение должно быть числом. - Значение не должно превышать 100000000. |
| currency | - Необходимо заполнить. - Выбранная валюта не поддерживается. |
| adults_amount | - Значение должно быть целым числом. - Значение не должно превышать 99. |
| children_amount | - Значение должно быть целым числом. - Значение не должно превышать 99. |
| comment | - Слишком длинная строка. (>10000) |
| language_id | - Необходимо заполнить. - Значение неверно. |
| surname | - Слишком длинная строка. (>255) |
| name | - Слишком длинная строка. (>255) |
| middlename | - Слишком длинная строка. (>255) |
| phone | - Неверный формат номера телефона. |
| - Слишком длинная строка. (>255). - Не является правильным email адресом. | |
| timezone | - Слишком длинная строка. (>255) |
Ошибка "Необходимо заполнить." появляется в некоторых полях, по определенному условию подробннее смотри выше таблицу " Параметры для создания и редактирования заявки".