api:test

API

Отправляемые данные могут быть как в XML так и в JSON. Адреса запросов можно переопределить в настройках приложения: config/web:

components=>urlManager=>rules

Адрес: /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

Адрес: /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": [
            {
                ...
            }
        ]
        ...
    }
]

Адрес: /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": [
        {
            ...
        }
    ]
]

Адрес: /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,
    ...
]

Адрес: /api/request/change-status<br> Метод запрос: POST<br> Данные:

[
    'status'=>2,
]

Возвращаемые данные: новый статус

[
    "status": "2",
]

Адрес: /api/request/delete?id=3 Метод запрос: POST Данные:

[
    "id": 3
]

Возвращаемые данные: ID удаленной записи

"3",

Адрес: /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"
            },
        ]
    },
]

Адрес: /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"
        },
    ]      
]

Адрес: /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
]

Адрес: /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
    ...
]

Адрес: /api/service-residence/delete?id=1 <br> Метод запрос: POST<br> Данные:

[
    "id": 1
]

Возвращаемые данные: ID удаленной услуги

   
1

Адрес: /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      
    },
]

Адрес: /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
]

Адрес: /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": "Попросили позвонить уточнить"
    }
    

]

Адрес: /api/service-residence/delete?id=1 <br> Метод запрос: POST<br> Данные:

[
        "id": 1
]

Возвращаемые данные: ID удаленной услуги

   
1

Адрес: /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   
    },
]

Адрес: /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
]

Адрес: /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 
]

Адрес: /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"
      }
]

Адрес: /api/service/delete?id=1 <br> Метод запрос: POST<br> Данные:

[
        "id": 1
]

Возвращаемые данные: ID удаленной услуги

   
1

Адрес: /api/service-residence-guest/index?service=1 Метод запрос: GET Данные: нет

Возвращаемые данные: Список гостей определенной услуги

   
[
    {
        "id":1,
        "name": Иван Иванов,
        "service": 1,
        "request": 1, 
        "category": 1,
        "nationality": 3,
    }
]

Адрес: /api/service-residence-guest/view?id=1 Метод запрос: GET Данные: нет Возвращаемые данные: текущая модель с заданным ID

[    
    "id": 1,
    "name": "Иван Петров",
    "service": 1,
    "request": 1,
    "category": 1,
    "nationality": 3,
]

Адрес: /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,
]

Адрес: /api/service-residence-guest/update?id=1 Метод запрос: POST Данные:

[
    "name": "Иван Иванович",
    "category": 2,
    "nationality": 2,
]

Возвращаемые данные: модель с новыми данными

[    
    "service": 1,
    "request": 1,
    "name": "Иван Иванович",
    "category": 2,
    "nationality": 2,
    "id": 1,
]

Адрес: /api/service-residence-guest/delete?id=1 <br> Метод запрос: POST<br> Данные:

[
   "id": 1
]

Возвращаемые ID удаленной записи

1

===== DOCUMENTS Документы

Адрес: /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
    }
]

Адрес: /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
]

Адрес: /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
]

Адрес: /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
]

Адрес: /api/document/delete?id=1 <br> Метод запрос: POST<br> Данные:

[
   "id": 27
]

Возвращаемые данные: ID удаленной записи

27

Адрес: /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
    }
]

Адрес: /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
    }
]

Адрес: /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
]

Адрес: /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
]

Адрес: /api/bank/delete?id=2 Метод запрос: POST Данные:

[
   "id": 2
]

Возвращаемые ID удаленной записи

2

===== COMPANY Компании

Адрес: /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_ 
    }
]

Адрес: /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
    }
]

Адрес: /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"
]

Адрес: /api/company/delete?id=2 <br> Метод запрос: POST<br> Данные:

[
   "id": 2
]

Возвращаемые ID удаленной записи

2

Адрес: /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
    }
]

Адрес: /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_ 
]

Адрес: /api/hotel/delete?id=2 <br> Метод запрос: POST<br> Данные:

[
   "id": 2
]

Возвращаемые ID удаленной записи

2

Адрес: /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
]

Адрес: /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
]

Адрес: /api/user/delete?id=2 <br> Метод запрос: POST<br> Данные:

[
   "id": 2
]

Возвращаемые ID удаленной записи

2

Адрес: /api/city/index?country=1&letter=А

Метод запрос: GET

Данные: country - страна, $letter - буква

Возвращаемые данные: Список банков текущего объекта удовлетворяющие переданным параметрам name, bik. Параметры не обязательные. Без указания параметров будет выведен весь список банков.

   
[
    {
        "id": 1,
        "country": 1,
        "name": "Екатеринбург",
        "code": "SVX"
    }
]

Адрес: /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"
]

Адрес: /api/city/update?id=2 <br> Метод запрос: POST<br> Данные:

[    
    "country": 1,
    "name": "Москва",
    "code": "MSK"  
]

Возвращаемые данные: данные с новыми данными

[    
    "id": 7,
    "country": 1,
    "name": "Катайск",
    "code": ""
]

Адрес: /api/bank/delete?id=2 Метод запрос: POST Данные:

[
]

Возвращаемые ID удаленной записи

2

Адрес: /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": "Описание номера"
    }
]

Адрес: /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
]

Адрес: /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
]

Адрес: /api/hotel-room/delete?id=2 Метод запрос: POST Данные:

[
]

Возвращаемые данные: ID удаленной записи

2

Адрес: /api/company-consignee/index

Метод запрос: POST

Данные: name: Наименование грузополучателя, company: ID компании грузополучателя

Возвращаемые данные: Список моделей текущего объекта удовлетворяющие переданным параметрам. Параметры не обязательные. Без указания параметров будет выведен весь список.

   
[
    {
        "id": 2,
        "name": "Компания 1",
        "description": "",
        "company": 133
    }
]

Адрес: /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
]

Адрес: /api/company-consignee/update?id=2 Метод запрос: POST Данные:

[    
    "name": "Компания 1", 
]

Возвращаемые данные: модель с новыми данными

[    
        "name": "Компания 1",
        "description": "Описание компании",
        "company": 133,
        "id": 3
]

Адрес: /api/company-consignee/delete?id=2 Метод запрос: POST Данные:

[
]

Возвращаемые данные: ID удаленной записи

2
  • api/test.txt
  • Последние изменения: 2020/09/24 09:42
  • (внешнее изменение)