API
Отправляемые данные могут быть как в XML так и в JSON. Адреса запросов можно переопределить в настройках приложения: config/web:
components=>urlManager=>rules
SITE
login
Адрес: /api/site/login
Метод запрос: POST
Данные:
[
'username'=>'admin',
'password'=>'111111'
]
Возвращаемые данные:
[
'token'=>'0FbEBD-Mo5EzAu9o51684F6hPk7ufCLR',
'expired'=>'2018-09-22T10:10:11+05:00'
]
Полученный токен используется при работе. Отправляется заголовком способом авторизации Bearer
JSON
POST http://susanin.loc/api/request/index Accept: application/json Cache-Control: no-cache Content-Type: application/json; charset=utf-8 Authorization: Bearer Ciuw2qcWDXbQJIv2tYiB2IeeM9_JEoOc
XML
POST http://susanin.loc/api/request/index Accept: application/xml Cache-Control: no-cache Content-Type: text/xml; charset=utf-8 Authorization: Bearer Ciuw2qcWDXbQJIv2tYiB2IeeM9_JEoOc
REQUEST Заявки
index
Адрес: /api/request/index</code>, <code>/api/request/>,
Метод запрос: POST
Данные:
может быть передан массив, будет фильтровать по этим данным.
[
'contact_name'=>'Николай'
]
Возвращаемые данные: список заявок, с отображением услуг
[
{
"id": "3",
"created_at": "1531998043",
"updated_at": "1536730152",
"status": "3",
"manager": "10",
"client": "2",
"company": "28",
"contact_name": "Николай Иванович",
"contact_phone": "",
"contact_email": "",
"tags": null,
"date": "0",
"subject": null,
"client_comments": null,
"services": [
{
...
}
]
...
}
]
view
Адрес: /api/request/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные:
[
"id": "3",
"created_at": "1531998043",
"updated_at": "1536730152",
"status": "3",
"manager": "10",
"client": "2",
"company": "28",
"contact_name": "Николай Иванович",
"contact_phone": "",
"contact_email": "",
"tags": null,
"date": "0",
"subject": null,
"client_comments": null,
"services": [
{
...
}
]
]
create
Адрес: /api/request/create, /api/request/create?room=1 (при создании от пользователя со стороны клиентов)
Метод запрос: POST
Данные:
[
'status'=>1,
'manager'=>3,
'client'=>7',
'contact_name'=>'Александр Петрович',
...
]
Возвращаемые данные:
[
"id": "3",
"created_at": "1531998043",
"updated_at": "1536730152",
"status": "3",
"manager": "10",
"client": "2",
"company": "28",
"contact_name": "Николай Иванович",
"contact_phone": "",
"contact_email": "",
"tags": null,
"date": "0",
"subject": null,
"client_comments": null,
...
]
change-status
Адрес: /api/request/change-status<br>
Метод запрос: POST<br>
Данные:
[
'status'=>2,
]
Возвращаемые данные: новый статус
[
"status": "2",
]
delete
Адрес: /api/request/delete?id=3
Метод запрос: POST
Данные:
[
"id": 3
]
Возвращаемые данные: ID удаленной записи
"3",
SERVICE-RESIDENCE Услуга проживание
index
Адрес: /api/service-residence/index?request=1 <br>
Метод запрос: GET<br>
Данные: нет
Возвращаемые данные: список услуг проживания, с отображением гостей
[
{
"id": 1,
"status": 1,
"placement": 1,
"hotel_room": 7,
"check_in": "12:00",
"check_out": "10:00",
"unstandart_check_in": 0,
"unstandart_check_out": 0,
"request_for_rest": 1,
"food": 1,
"description_dealer": "Описание поставщика",
"description_client": "Описание клиенту",
"reserve_price": "23",
"reserve_limit": "123",
"reserve_number": "2",
"pay_date": "",
"penalty_service": 123,
"penalty_until": 123,
"penalty_amount": "123",
"dealer": 28,
"dealer_bill": "Счет поставщика",
"dealer_bill_date": 1422990000,
"calc_susanin": "asd",
"calc_client": "123123",
"price_netto_susanin": 1266,
"price_netto_client": 23666,
"discount_susanin": 23,
"discount_client": 34,
"created_at": 1532606691,
"updated_at": 1536901043,
"request": 1,
"guest_check_in": 1424372400,
"guest_check_out": 1455044400,
"guests_rule": null,
"comments": null
"guests": [
{
"id": "52",
"name": "Иванова Алла Сергеевна",
"service": "117",
"request": "1",
"category": "2",
"nationality": "2"
},
]
},
]
view
Адрес: /api/service-residence/view?id=1 <br>
Метод запрос: GET<br>
Данные: нет
Возвращаемые данные: список услуг проживание, с отображением гостей
[
"id": 1,
"status": 1,
"placement": 1,
"hotel_room": 7,
"check_in": "12:00",
"check_out": "10:00",
"unstandart_check_in": 0,
"unstandart_check_out": 0,
"request_for_rest": 1,
"food": 1,
"description_dealer": "Описание поставщика",
"description_client": "Описание клиенту",
"reserve_price": "23",
"reserve_limit": "123",
"reserve_number": "2",
"pay_date": "",
"penalty_service": 123,
"penalty_until": 123,
"penalty_amount": "123",
"dealer": 28,
"dealer_bill": "Счет поставщика",
"dealer_bill_date": 1422990000,
"calc_susanin": "asd",
"calc_client": "123123",
"price_netto_susanin": 1266,
"price_netto_client": 23666,
"discount_susanin": 23,
"discount_client": 34,
"created_at": 1532606691,
"updated_at": 1536901043,
"request": 1,
"guest_check_in": 1424372400,
"guest_check_out": 1455044400,
"guests_rule": null,
"comments": null
"guests": [
{
"id": "52",
"name": "Иванова Алла Сергеевна",
"service": "117",
"request": "1",
"category": "2",
"nationality": "2"
},
]
]
create
Адрес: /api/service-residence/create?request=1 <br>
Метод запрос: POST<br>
Данные:
[
"placement": 41,
"status": 2,
]
Возвращаемые данные: список всех полей созданной модели без гостей
[
"request": "1",
"guest_check_in": false,
"guest_check_out": false,
"dealer_bill_date": false,
"comments": "",
"created_at": 1537511862,
"updated_at": 1537511862,
"id": 124
]
update
Адрес: /api/service-residence/update?id=1 <br>
Метод запрос: POST<br>
Данные:
[
"placement": 33,
"status": 5,
"request": 4,
]
Возвращаемые данные: все данные текущей модели без гостей
[
"request": "1",
"guest_check_in": false,
"guest_check_out": false,
"dealer_bill_date": false,
"comments": "",
"created_at": 1537511862,
"updated_at": 1537511862,
"id": 124
...
]
delete
Адрес: /api/service-residence/delete?id=1 <br>
Метод запрос: POST<br>
Данные:
[
"id": 1
]
Возвращаемые данные: ID удаленной услуги
1
SERVICE-TRANSFER Услуга трансфер
index
Адрес: /api/service-transfer/index?request=1 <br>
Метод запрос: GET<br>
Данные: нет
Возвращаемые данные: список услуг трансфер
[
{
"id": "1",
"delivery_date": "949345200",
"delivery_time": "12:00",
"delivery_place": "гост. Азимут",
"destination": null,
"contact_name": "Иван, 963447892150",
"transport": "Тойота Р123ВР",
"description": "",
"description_dealer": "",
"description_client": "",
"reserve_price": "",
"reserve_limit": "",
"reserve_number": "",
"pay_date": "1532631600",
"penalty_service": null,
"penalty_until": null,
"penalty_amount": "",
"dealer": null,
"dealer_bill": "",
"dealer_bill_date": null,
"calc_susanin": "",
"calc_client": "",
"price_netto_susanin": null,
"price_netto_client": null,
"discount_susanin": null,
"discount_client": null,
"created_at": null,
"updated_at": "1535610295",
"request": "1",
"comments": null
},
]
view
Адрес: /api/service-transfer/view?id=1 <br>
Метод запрос: GET<br>
Данные: нет
Возвращаемые данные: всех услуг трансфер
[
"id": "1",
"delivery_date": "949345200",
"delivery_time": "12:00",
"delivery_place": "гост. Азимут",
"destination": null,
"contact_name": "Иван, 963447892150",
"transport": "Тойота Р123ВР",
"description": "",
"description_dealer": "",
"description_client": "",
"reserve_price": "",
"reserve_limit": "",
"reserve_number": "",
"pay_date": "1532631600",
"penalty_service": null,
"penalty_until": null,
"penalty_amount": "",
"dealer": null,
"dealer_bill": "",
"dealer_bill_date": null,
"calc_susanin": "",
"calc_client": "",
"price_netto_susanin": null,
"price_netto_client": null,
"discount_susanin": null,
"discount_client": null,
"created_at": null,
"updated_at": "1535610295",
"request": "1",
"comments": null
]
create
Адрес: /api/service-transfer/create?request=1 <br>
Метод запрос: POST<br>
Данные:
[ "request": "1", "contact_name": "Иван, 999", "transport": "Bentley, PC345P", "delivery_date": false, "comments": "", "created_at": 1537524343, "updated_at": 1537524343, "id": 3 ]
Возвращаемые данные: список всех полей созданной модели
[
<code>
==== update ====
Адрес: ''/api/service-transfer/update?id=1'' <br>
Метод запрос: ''POST''<br>
Данные:
<code>
[
"delivery_date": 1537524792,
"delivery_time": "12:00",
"comments": "Попросили позвонить уточнить",
]
Возвращаемые данные: все данные текущей модели
[
"id": 1,
"delivery_date": 1537524792,
"delivery_time": "12:00",
"delivery_place": null,
"destination": null,
"contact_name": "Иван, 999",
"transport": "Bentley, PC345P",
"description": null,
"description_dealer": null,
"description_client": null,
"reserve_price": null,
"reserve_limit": null,
"reserve_number": null,
"pay_date": null,
"penalty_service": null,
"penalty_until": null,
"penalty_amount": null,
"dealer": null,
"dealer_bill": null,
"dealer_bill_date": null,
"calc_susanin": null,
"calc_client": null,
"price_netto_susanin": null,
"price_netto_client": null,
"discount_susanin": null,
"discount_client": null,
"created_at": 1537524343,
"updated_at": 1537527582,
"request": 1,
"comments": "Попросили позвонить уточнить"
}
]
delete
Адрес: /api/service-residence/delete?id=1 <br>
Метод запрос: POST<br>
Данные:
[
"id": 1
]
Возвращаемые данные: ID удаленной услуги
1
SERVICE Услуга (остальные)
index
Адрес: /api/service/index?request=1, /api/service/index?request=1&service_type=2 если нужна выборка по типу услуги
Метод запрос: GET
Данные: нет
Возвращаемые данные: список всех остальных услуг
[
{
"id": "6",
"service_type": "2",
"description_dealer": "Описание поставщика",
"description_client": "Описани клиенту",
"reserve_price": "",
"reserve_limit": "",
"reserve_number": "",
"pay_date": "0",
"penalty_service": null,
"penalty_until": "0",
"penalty_amount": "",
"dealer": "29",
"dealer_bill": "",
"dealer_bill_date": "0",
"calc_susanin": "",
"calc_client": "",
"price_netto_susanin": null,
"price_netto_client": null,
"discount_susanin": null,
"discount_client": null,
"created_at": "1532066424",
"updated_at": "1532693171",
"request": "1",
"comments": null
},
]
view
Адрес: /api/service/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: текущая модель
[ "id": 1, "service_type": 2, "description_dealer": "Привет, поставщик!", "description_client": "Клиент, тоже привет", "reserve_price": "бронируем", "reserve_limit": "без лимита", "reserve_number": "121ы", "pay_date": "20122", "penalty_service": 1, "penalty_until": 1, "penalty_amount": "1", "dealer": 1, "dealer_bill": "12312", "dealer_bill_date": 1, "calc_susanin": "", "calc_client": "", "price_netto_susanin": null, "price_netto_client": null, "discount_susanin": 1, "discount_client": 1, "created_at": 1531984986, "updated_at": 1531984986, "request": null, "comments": null ]
create
Адрес: /api/service/create?request=1&service_type=2
Метод запрос: POST
Данные:
[
"reserve_price": 12.5,
"pay_date": "12.10.2019"
]
Возвращаемые данные: список всех ненулевых полей созданной модели
[ "request": 4, "service_type": 2, "reserve_price": 12.5, "pay_date": "12.10.2019", "penalty_until": false, "dealer_bill_date": false, "comments": "", "created_at": 1537531655, "updated_at": 1537531655, "id": 12 ]
update
Адрес: /api/service/update?id=1
Метод запрос: POST
Данные:
[
"description_dealer": "Описание 1",
"pay_date": "12.10.2020",
"very_nice_vacation":"1"
]
Возвращаемые данные: все данные текущей модели
[
"service": {
"id": 14,
"service_type": 2,
"description_dealer": "Описание 1",
"description_client": null,
"reserve_price": "12.5",
"reserve_limit": null,
"reserve_number": null,
"pay_date": "12.10.2020",
"penalty_service": null,
"penalty_until": false,
"penalty_amount": null,
"dealer": null,
"dealer_bill": null,
"dealer_bill_date": false,
"calc_susanin": null,
"calc_client": null,
"price_netto_susanin": null,
"price_netto_client": null,
"discount_susanin": null,
"discount_client": null,
"created_at": 1537532050,
"updated_at": 1537534376,
"request": 4,
"comments": ""
},
"orm": {
"very_nice_vacation": "1"
}
]
delete
Адрес: /api/service/delete?id=1 <br>
Метод запрос: POST<br>
Данные:
[
"id": 1
]
Возвращаемые данные: ID удаленной услуги
1
SERVICE-RESIDENCE-GUEST Гости услуги проживание
index
Адрес: /api/service-residence-guest/index?service=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: Список гостей определенной услуги
[
{
"id":1,
"name": Иван Иванов,
"service": 1,
"request": 1,
"category": 1,
"nationality": 3,
}
]
view
Адрес: /api/service-residence-guest/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: текущая модель с заданным ID
[
"id": 1,
"name": "Иван Петров",
"service": 1,
"request": 1,
"category": 1,
"nationality": 3,
]
create
Адрес: /api/service-residence-guest/create?request=1&service=1 <br>
Метод запрос: POST<br>
Данные:
[
"name": "Василий Иванович",
"category": 2,
"nationality": 3,
]
Возвращаемые данные: модель созданного гостя
[
"service": 1,
"request": 1,
"name": "Василий Иванович",
"category": 2,
"nationality": 3,
"id": 1,
]
update
Адрес: /api/service-residence-guest/update?id=1
Метод запрос: POST
Данные:
[
"name": "Иван Иванович",
"category": 2,
"nationality": 2,
]
Возвращаемые данные: модель с новыми данными
[
"service": 1,
"request": 1,
"name": "Иван Иванович",
"category": 2,
"nationality": 2,
"id": 1,
]
delete
Адрес: /api/service-residence-guest/delete?id=1 <br>
Метод запрос: POST<br>
Данные:
[ "id": 1 ]
Возвращаемые ID удаленной записи
1
===== DOCUMENTS Документы
index
Адрес: /api/document/index?object_type=40&object_id=1
Метод запрос: GET
Данные:
/api/document/index?object_type=40object_id=1
object_type:
20 - 'Компания',
30 - 'Отель',
40 - 'Заявка',
50 - 'Услуга',
51 - 'Услуга трансфер',
52 - 'Услуга проживание',
60 - 'Документ',
<code>
Возвращаемые данные: Список документов текущего объекта
<code>
[
{
"id": 27,
"name": "Name 1",
"description": "",
"object_id": 1,
"object_type": 40,
"type": 1,
"path": "/uploads/documents/4c8510fe4b2bbd1203f3432101f3b6f7.jpg",
"created_at": 1537860073,
"updated_at": 1537861841
},
{
"id": 29,
"name": "Name 2",
"description": "",
"object_id": 1,
"object_type": 40,
"type": 3,
"path": "/uploads/documents/1389ca807d7679f1f9c0078226f57201.docx",
"created_at": 1537861928,
"updated_at": 1537861952
}
]
view
Адрес: /api/document/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
[
"id": 27,
"name": "Name 1",
"description": "",
"object_id": 1,
"object_type": 40,
"type": 1,
"path": "/uploads/documents/4c8510fe4b2bbd1203f3432101f3b6f7.jpg",
"created_at": 1537860073,
"updated_at": 1537861841
]
create
Адрес: /api/document/create?request=1&service=1
Метод запрос: POST
Данные:
[
upload_file: ФАЙЛ (например через form-data)
name: Имя файла,
type: Тип файла (указан в /document-type/index)
]
Возвращаемые данные: модель созданного документа
[
"object_type": "40",
"object_id": "1",
"name": "Документ Тест",
"type": "3",
"path": "/uploads/documents/7c02e12e8f55221c90fd46442b2a0649.jpg",
"created_at": 1537861928,
"updated_at": 1537861928,
"id": 29
]
update
Адрес: /api/document/update?id=27 <br>
Метод запрос: POST<br>
Данные:
[
"upload_file": ФАЙЛ,
"name": 2,
"type": 2,
]
Возвращаемые данные: данные с новыми данными
[
"id": 27,
"name": "Name updated",
"description": "",
"object_id": 1,
"object_type": 40,
"type": 1,
"path": "/uploads/documents/1c565337ecff1652a7af8dd5afba4da6.xlsx",
"created_at": 1537860073,
"updated_at": 1537864591
]
delete
Адрес: /api/document/delete?id=1 <br>
Метод запрос: POST<br>
Данные:
[ "id": 27 ]
Возвращаемые данные: ID удаленной записи
27
NOTIFICATION Уведомления
list
Адрес: /api/notification/list
Метод запрос: GET
Данные: нет
Возвращаемые данные: Список доступных уведомлений
{
"comment": "Комментарии",
"adding_new_object": "Добавление нового объекта"
}
<code>
==== user ====
Адрес: ''/api/notification/user'', ''/api/notification/user?id=1''
Метод запрос: ''GET''
Данные: нет
Возвращаемые данные: Список доступных уведомлений для текущего
пользователя с учетом уведомлений компании. Если ID не указан,
берется ID текущего залогиненного пользователя
<code>
{
"comment": "1",
"adding_new_object": "0"
}
<code>
==== index ====
Адрес: ''/api/notification/index''
Метод запрос: ''GET''
Данные: нет
Возвращаемые данные: Список уведомлений
<code>
[
{
"id": 1,
"object_type": 10,
"object_id": 6,
"notification": "{\"comment\":\"1\",\"adding_new_object\":\"0\"}",
"created_at": 1538153439,
"updated_at": 1538154599
},
{
"id": 2,
"object_type": 20,
"object_id": 6,
"notification": "{\"comment\":\"1\",\"adding_new_object\":\"1\"}",
"created_at": 1538153824,
"updated_at": 1538154592
}
]
view
Адрес: /api/notification/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
{
"id": 2,
"object_type": 20,
"object_id": 6,
"notification": "{\"comment\":\"1\",\"adding_new_object\":\"1\"}",
"created_at": 1538153824,
"updated_at": 1538154592
}
<code>
===== BANK Банки
=====
==== index ====
Адрес: ''/api/bank/index''
Метод запрос: ''POST''
Данные:
<code>
[
name: название банка
bik: БИК банка
]
Возвращаемые данные: Список банков текущего объекта удовлетворяющие переданным параметрам - name, bik. Параметры не обязательные. Без указания параметров будет выведен весь список банков.
[
{
"id": 1,
"name": "Название банка",
"name_private": "Внутреннее название банка",
"bik": "123456789",
"account_number": "123456789",
"kor_number": "123456789",
"created_at": 1535112619,
"updated_at": 1535112844
}
]
view
Адрес: /api/bank/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
{
"id": 1,
"name": "Название банка",
"name_private": "Внутреннее название банка",
"bik": "123456789",
"account_number": "123456789",
"kor_number": "123456789",
"created_at": 1535112619,
"updated_at": 1535112844
}
<code>
==== create ====
Адрес: ''/api/bank/create''
Метод запрос: ''POST''
Данные:
<code>
[
"name": "Название банка" (обязательное поле),
"name_private": "Внутреннее название банка",
"bik": "123456789",
"account_number": "123456789",
"kor_number": "123456789",
"created_at": 1535112619,
"updated_at": 1535112844
]
Возвращаемые данные: модель созданного документа
[
"name": "Название банка" (обязательное поле),
"name_private": "Внутреннее название банка",
"bik": "123456789",
"account_number": "123456789",
"kor_number": "123456789",
"created_at": 1535112619,
"updated_at": 1535112844,
"id":2
]
update
Адрес: /api/bank/update?id=2
Метод запрос: POST
Данные:
[
"name": "Другое название",
]
Возвращаемые данные: модель с новыми данными
[
"id": 2,
"name": "Другое название",
"name_private": "",
"bik": "",
"account_number": "",
"kor_number": "",
"created_by": null,
"created_at": 1538742199,
"updated_at": 1538742606
]
delete
Адрес: /api/bank/delete?id=2
Метод запрос: POST
Данные:
[ "id": 2 ]
Возвращаемые ID удаленной записи
2
===== COMPANY Компании
index
Адрес: /api/company/index
Метод запрос: POST
Данные:
[
name: Название компании (осуществляет поиск по всем именам: name, full_name, private_name
tin: ИНН
group: ID группы компаний
type: Тип компании
]
Типы:
Клиент-агент: 10
Клиент-корп: 11
Поставщик: 20
Канал-менеджер: 30
<code>
Возвращаемые данные: Список компаний текущего объекта удовлетворяющие переданным параметрам. Параметры не обязательные.
Без указания параметров будет выведен весь список компаний.
<code>
[
{
"id": 1,
"name": "Компания",
"full_name": "Полнейшее название компании",
"private_name": "Компашка",
"tin": "123456798",
"type": 10,
"templates": "1235",
"group": "1",
"status": 1,
"created_at": 1531327105,
"updated_at": 1534585480,
"kpp": "",
"email": "no-reply@apple.com",
"commission": null,
"documents": null
"orm_field": null //ORM поля c префиксом orm_
}
]
view
Адрес: /api/company/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
{
"id": "1",
"name": "Apple",
"full_name": "Полное название",
"private_name": "Псевдонимы",
"tin": "12131415",
"markup": "3",
"type": "10",
"group": "1",
"status": "1",
"created_at": "1531327105",
"updated_at": "1534585480",
"kpp": "",
"email": "no-reply@apple.com",
"commission": null,
"documents": null,
"orm_field": null //ORM поля c префиксом orm_
}
<code>
==== create ====
Адрес: ''/api/company/create''
Метод запрос: ''POST''
Данные:
<code>
[
"name":"Компания компаний",
"tin": "121314151617",
"type": 20,
"logo": //ORM поле, без указания префикса
]
Возвращаемые данные: модель компании и модель автоматически созданной компании-поставщика
[
"company": {
"status": 1,
"name": "Компания компаний",
"tin": "12131213",
"type": "20",
"full_name": "",
"private_name": "",
"kpp": "",
"group": "",
"created_at": 1538980496,
"updated_at": 1538980496,
"id": 162,
"orm_logo": "uploads/images/c03cfe3672022df9b0ad4aedbe3d52d6.jpg"
},
"company_consignee": {
"name": "Компания компаний",
"company": 162,
"description": "",
"id": 22
}
]
update
Адрес: /api/company/update?id=1 <br>
Метод запрос: POST<br>
Данные:
[ "name":"Компания компаний", "tin": "121314151617", "type": 20, "logo": //ORM поле, без указания префикса ]
Возвращаемые данные: модель с новыми данными
[
"status": 1,
"name": "Компания компаний",
"tin": "12131213",
"type": "20",
"full_name": "",
"private_name": "",
"kpp": "",
"group": "",
"created_at": 1538980496,
"updated_at": 1538980496,
"id": 162,
"orm_logo": "uploads/images/c03cfe3672022df9b0ad4aedbe3d52d6.jpg"
]
delete
Адрес: /api/company/delete?id=2 <br>
Метод запрос: POST<br>
Данные:
[ "id": 2 ]
Возвращаемые ID удаленной записи
2
delete-file удаление ORM данных
Адрес: /api/company/delete-file?id=2&field=logo <br>
Метод запрос: POST<br>
Данные: имя поля указывается без префикса
Возвращаемые данные: модель с обновленными ORM полями
"status": 1,
"name": "Компания компаний",
"tin": "12131213",
"type": "20",
"full_name": "",
"private_name": "",
"kpp": "",
"group": "",
"created_at": 1538980496,
"updated_at": 1538980496,
"id": 162,
"orm_logo": null
<code>
===== HOTEL Гостиницы =====
==== index ====
Адрес: ''/api/company/index'', ''/api/company/index?limit=20&offset=0'' с указанием количества отображаемый записей (limit) и сдвиг (offset)
Метод запрос: ''POST''
Данные:
<code>
[
search: Строка поиска. Поиск осуществляется по названию, адресу, псевдониму (alias)
city_country: Фильтр по стране
city_name: Фильтр по городу (имеет предпочтение перед city_country)
]
Возвращаемые данные: Список моделей удовлетворяющие переданным параметрам. Параметры не обязательные. Без указания параметров будет выведен весь список гостиниц и их номеров (rooms) с учетом limit, offset. Orm поля начинаются с префикса orm_
{
"id": "3",
"city": "2",
"address": "",
"post_address": "",
"phone": "8123456789",
"email": "mail@mail.com",
"site": "http://site.com",
"company": "11",
"tax": null,
"description_susanin": "",
"description_client": "",
"placement_type": "5",
"cancel_time": "",
"check_in": "12:00",
"check_out": "14:00",
"early_check_in": "",
"late_check_out": "",
"cheque": "",
"payment": "",
"hotel_reserve": "",
"relax_place": "0",
"tax_condition": "",
"contract": "",
"prolongation": "",
"nocontract_reason": "",
"hotel_description": "",
"name": "Мэриленд",
"created_at": 1536215612,
"updated_at": "1536215612",
"alias": "",
"orm_photo": "/image.png",
"rooms": [
{
"id": "5",
"placement_type": "2",
"price_stand": "6200",
"price_netto": "6200",
"hotel": "3",
"created_at": "1531745170",
"updated_at": "1538564302",
"name": "Президентский",
"food_type": "2",
"description": ""
}
]
},
<code>
==== view ====
Адрес: ''/api/company/view?id=1''
Метод запрос: ''GET''
Данные: нет
Возвращаемые данные: данные текущей модели
<code>
{
"id": 1,
"city": 1,
"address": "Ленина, 1",
"post_address": "612345 Ленина, 1",
"phone": "123123123",
"email": "123@123.com",
"site": "http://site.ru",
"company": null,
"tax": 4,
"description_susanin": "Примечания Сусанину",
"description_client": "Примечания Клиенту",
"placement_type": 1,
"cancel_time": "1 сутки",
"check_in": "12:00",
"check_out": "10:00",
"early_check_in": "Ранний заезд",
"late_check_out": "Поздний выезд",
"cheque": "",
"payment": "",
"hotel_reserve": "",
"relax_place": 1,
"tax_condition": "Условий комиссии отеля нет",
"contract": "",
"prolongation": "",
"nocontract_reason": "",
"hotel_description": "Описание гостиницы",
"name": "Гостиница 1",
"created_at": 123451231,
"updated_at": 1538564697,
"alias": "Псевдоним",
"orm_photo": "/image.jpg",
"orm_field": null //ORM поля c префиксом orm_
"rooms": [
{
"id": 2,
"placement_type": 2,
"price_stand": 201,
"price_netto": 193,
"hotel": 1,
"created_at": 1531382157,
"updated_at": 1538563166,
"name": "Название номера",
"food_type": 2,
"description": "Описание номера"
},
{
"id": 7,
"placement_type": 2,
"price_stand": 25000,
"price_netto": 24000,
"hotel": 1,
"created_at": 1531745641,
"updated_at": 1538636882,
"name": "Название номера 2,
"food_type": 1,
"description": "Описание номера 2"
}
]
}
<code>
==== create ====
Адрес: ''/api/hotel/create''
Метод запрос: ''POST''
Данные:
<code>
[
"name":"Гостиница 2", *
"city": "1", *
"placement_type": 2, *
"field": "text" //при создании гостиницы префикс для orm полей не указывается
* - обязательные поля
]
Возвращаемые данные: модель гостиницы и модель автоматически созданного номера Sql гостиницы
[
"hotel": {
"name": "Гостиница 2",
"city": "1",
"placement_type": "1",
"address": "",
"post_address": "",
"description_susanin": "",
"description_client": "",
"cancel_time": "",
"check_in": "12:00",
"check_out": "14:00",
"early_check_in": "",
"late_check_out": "",
"tax_condition": "",
"phone": "",
"email": "",
"site": "",
"cheque": "",
"payment": "",
"hotel_reserve": "",
"prolongation": "",
"contract": "",
"nocontract_reason": "",
"hotel_description": "",
"alias": "",
"created_at": 1538998934,
"updated_at": 1538998934,
"id": 51
"orm_field": null //ORM поля c префиксом orm_
},
"hotel_room": {
"placement_type": 1,
"name": "Стандарт",
"hotel": 51,
"created_at": 1538998935,
"updated_at": 1538998935,
"id": 12
}
]
update
Адрес: /api/hotel/update?id=1 <br>
Метод запрос: POST<br>
Данные:
[
"name":"Гостиница 3",
"city": "1",
"placement_type": 2,
"field": "text" //при редактировании гостиницы префикс для orm полей не указывается
"logo": //ORM поле, без указания префикса
]
Возвращаемые данные: модель с новыми данными
[
"name": "Гостиница 2",
"city": "1",
"placement_type": "1",
"address": "",
"post_address": "",
"description_susanin": "",
"description_client": "",
"cancel_time": "",
"check_in": "12:00",
"check_out": "14:00",
"early_check_in": "",
"late_check_out": "",
"tax_condition": "",
"phone": "",
"email": "",
"site": "",
"cheque": "",
"payment": "",
"hotel_reserve": "",
"prolongation": "",
"contract": "",
"nocontract_reason": "",
"hotel_description": "",
"alias": "",
"created_at": 1538998934,
"updated_at": 1538998934,
"id": 51
"orm_field": null //ORM поля c префиксом orm_
]
delete
Адрес: /api/hotel/delete?id=2 <br>
Метод запрос: POST<br>
Данные:
[ "id": 2 ]
Возвращаемые ID удаленной записи
2
''delete-file'' удаление ORM поля
Адрес: /api/hotel/delete-field?id=2&field=photo
Метод запрос: POST<br>
Данные: имя поля указывается без префикса
Возвращаемые данные: редактируемая модель
{ "id": 53,
"city": 1,
"address": "",
"post_address": "",
"phone": "",
"email": "",
"site": "",
"documents": null,
"company": null,
"tax": null,
"description_susanin": "",
"description_client": "",
"placement_type": 1,
"cancel_time": "",
"check_in": "12:00",
"check_out": "14:00",
"early_check_in": "",
"late_check_out": "",
"cheque": "",
"payment": "",
"hotel_reserve": "",
"relax_place": null,
"tax_condition": "",
"contract": "",
"prolongation": "",
"nocontract_reason": "",
"hotel_description": "",
"name": "Гостиница 2",
"created_at": 1538999049,
"updated_at": 1538999514,
"alias": "",
"rooms_rule": null,
"orm_user": null,
"orm_photo": null
}
<code>
===== USER Пользователи =====
==== index ====
Адрес: ''/api/user/index'', ''/api/user/index?type=susanin'' - пользователи компании, в противном случае список клиентов
Метод запрос: ''POST''
Данные:
<code>
[
type: тип пользователя
username: Имя пользователя
login: Логин
phone: Телефон
email: Email
]
Типы пользователей:
**Глобальные**
susanin - пользователи компании
client - пользователи клиенты
**Пользователи клиенты**
Клиент-агент 2
Поставщик 3
Канал-менеджер 4
Клиент-корп 6
**Пользователи компании**
Менеджер 10
Редактор 20
Бухгалтерия 30
Начальник 40
Директор 50
<code>
Возвращаемые данные: Список моделей удовлетворяющие переданным параметрам. Параметры не обязательные.
Без указания параметров будет выведен список пользователей клиентов.
<code>
{
"id": 6,
"login": "Сергей",
"username": "Сергей Сергеевич",
"email": "123@123.cm",
"phone": "123123123",
"company": 36,
"status": 1,
"type": 4,
"created_at": 1530854659,
"updated_at": 1530854659
},
{
"id": 9,
"login": "ibragim",
"username": "Ибрагим Феодосович",
"email": "123@123.cm",
"phone": "",
"company": 31,
"status": 1,
"type": 3,
"created_at": 1531899122,
"updated_at": 1531995144
}
<code>
==== view ====
Адрес: ''/api/user/view?id=1''
Метод запрос: ''GET''
Данные: нет
Возвращаемые данные: данные текущей модели
<code>
{
"id": 3,
"login": "Константин",
"username": "Константин Константинович",
"email": "123@123.cm",
"phone": "123123123",
"company": 39,
"status": 1,
"type": 10,
"created_at": 1530854329,
"updated_at": 1531995494
}
<code>
==== create ====
Адрес: ''/api/user/create''
Метод запрос: ''POST''
Данные:
<code>
[
"login":"ivan",
"username": "Иванов Иван Иванович",
"type": 20, *
"email": "ivanov@mail.com"
"password": "123123",
"company": 10
]
**Пользователи клиенты**
Клиент-агент 2
Поставщик 3
Канал-менеджер 4
Клиент-корп 6
**Пользователи компании**
Менеджер 10
Редактор 20
Бухгалтерия 30
Начальник 40
Директор 50
<code>
Возвращаемые данные: модель созданного объекта
<code>
[
"status": true,
"login": "ivan",
"username": "Иванов Иван Иванович",
"type": "20",
"email": "ivanov@mail.com",
"company": "11",
"phone": "",
"created_at": 1539068121,
"updated_at": 1539068121,
"id": 13
]
update
Адрес: /api/user/update?id=1 <br>
Метод запрос: POST<br>
Данные:
[
"login":"ivan",
"username": "Иванов Иван Иванович",
"type": 20, *
"email": "ivanov@mail.com"
"password": "123123",
"company": 10
]
Возвращаемые данные: модель с новыми данными
[
"status": true,
"login": "ivan",
"username": "Иванов Иван Иванович",
"type": "20",
"email": "ivanov@mail.com",
"company": "11",
"phone": "",
"created_at": 1539068121,
"updated_at": 1539068121,
"id": 13
]
delete
Адрес: /api/user/delete?id=2 <br>
Метод запрос: POST<br>
Данные:
[ "id": 2 ]
Возвращаемые ID удаленной записи
2
CITY Города
index
Адрес: /api/city/index?country=1&letter=А
Метод запрос: GET
Данные: country - страна, $letter - буква
Возвращаемые данные: Список банков текущего объекта удовлетворяющие переданным параметрам name, bik. Параметры не обязательные. Без указания параметров будет выведен весь список банков.
[
{
"id": 1,
"country": 1,
"name": "Екатеринбург",
"code": "SVX"
}
]
view
Адрес: /api/city/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
{
"id": 1,
"country": 1,
"name": "Екатеринбург",
"code": "SVX"
}
<code>
==== create ====
Адрес: ''/api/city/create?country=1''
Метод запрос: ''POST''
Данные:
<code>
[
"name": "Абакан",
"code": "ABK"
]
Возвращаемые данные: модель созданного документа
[
"id": 7,
"country": 1,
"name": "Москва",
"code": "MSK"
]
update
Адрес: /api/city/update?id=2 <br>
Метод запрос: POST<br>
Данные:
[
"country": 1,
"name": "Москва",
"code": "MSK"
]
Возвращаемые данные: данные с новыми данными
[
"id": 7,
"country": 1,
"name": "Катайск",
"code": ""
]
delete
Адрес: /api/bank/delete?id=2
Метод запрос: POST
Данные:
[ ]
Возвращаемые ID удаленной записи
2
HOTEL-ROOM Номера гостиниц
index
Адрес: /api/hotel-room/index?hotel=1
Метод запрос: GET
Данные: hotel - ID гостиницы
Возвращаемые данные: Список моделей текущего объекта удовлетворяющие переданным параметрам. Параметры не обязательные. Без указания параметров будет выведен весь список.
[
{
"id": 2,
"placement_type": 2,
"price_stand": 201,
"price_netto": 193,
"hotel": 1,
"created_at": 1531382157,
"updated_at": 1538563166,
"name": "Название",
"food_type": 2,
"description": "Описание номера"
}
]
view
Адрес: /api/hotel-room/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
{
"id": 2,
"placement_type": 2,
"price_stand": 201,
"price_netto": 193,
"hotel": 1,
"created_at": 1531382157,
"updated_at": 1538563166,
"name": "Название",
"food_type": 2,
"description": "Описание номера"
}
<code>
==== create ====
Адрес: ''/api/hotel-room/create?hotel=1''
Метод запрос: ''POST''
Данные:
<code>
[
"name": "Стандарт 2",
"price_stand": "2300"
]
Возвращаемые данные: модель созданного объекта
[
"hotel": "1",
"name": "Стандарт 2",
"price_stand": "2300",
"price_netto": 2208,
"description": "",
"created_at": 1539064289,
"updated_at": 1539064289,
"id": 17
]
update
Адрес: /api/hotel-room/update?id=2
Метод запрос: POST
Данные:
[
"name": "Стандарт 2",
"price_stand": "23000"
]
Возвращаемые данные: модель с новыми данными
[
"hotel": "1",
"name": "Стандарт 2",
"price_stand": "23000",
"price_netto": 22080,
"description": "",
"created_at": 1539064289,
"updated_at": 1539064289,
"id": 17
]
delete
Адрес: /api/hotel-room/delete?id=2
Метод запрос: POST
Данные:
[ ]
Возвращаемые данные: ID удаленной записи
2
COMPANY-CONSIGNEE Грузополучатели
index
Адрес: /api/company-consignee/index
Метод запрос: POST
Данные: name: Наименование грузополучателя, company: ID компании грузополучателя
Возвращаемые данные: Список моделей текущего объекта удовлетворяющие переданным параметрам. Параметры не обязательные. Без указания параметров будет выведен весь список.
[
{
"id": 2,
"name": "Компания 1",
"description": "",
"company": 133
}
]
view
Адрес: /api/company-consignee/view?id=1
Метод запрос: GET
Данные: нет
Возвращаемые данные: данные текущей модели
{
"id": 2,
"name": "Компания 1",
"description": "",
"company": 133
}
<code>
==== create ====
Адрес: ''/api/company-consignee/create''
Метод запрос: ''POST''
Данные:
<code>
[
"name": "Компания 1",
"description": "Описание компании",
"company": 133
]
Возвращаемые данные: модель созданного объекта
[
"name": "Компания 1",
"description": "Описание компании",
"company": 133,
"id": 3
]
update
Адрес: /api/company-consignee/update?id=2
Метод запрос: POST
Данные:
[
"name": "Компания 1",
]
Возвращаемые данные: модель с новыми данными
[
"name": "Компания 1",
"description": "Описание компании",
"company": 133,
"id": 3
]
delete
Адрес: /api/company-consignee/delete?id=2
Метод запрос: POST
Данные:
[ ]
Возвращаемые данные: ID удаленной записи
2