Список менеджеров (пользователей) (User)

Запрос отдает список менеджеров
Поддерживает сортировку и настройку полей отдачи

Описание запроса

GET: /rest/user

Дополнительные параметры

передаются через & в GET как обычно ( пример: /rest/client?fields=id,name )

  • fields - список полей для вывода через запятую ( пример ?fields=id,name ) иначе буду выведены все
    по умолчанию все поля
  • sort - имя поля для сортировки (пример: ?sort=name), для обратной сортировки "-" (?sort=-name)
    по умолчанию name

Формат ответа

response     
  item
    id
    name - имя
    ...

Пример текста ответа

<response>
  <item>
    <id>1</id>
    <name>twins</name>
  </item>
  <item>
       ...
  </item>
  ...
</response>

Список статусов

Запрос отдает список стаусов заказа
Поддерживает сортировку и настройку полей отдачи

Описание запроса

GET: /rest/status

Дополнительные параметры

передаются через & в GET как обычно ( пример: /rest/client?fields=id,name )

  • fields - список полей для вывода через запятую ( пример ?fields=id,name ) иначе буду выведены все
    по умолчанию все поля
  • sort - имя поля для сортировки (пример: ?sort=name), для обратной сортировки "-" (?sort=-name)
    по умолчанию name

Формат ответа

response     
  item
    id
    name - имя
    ...

Пример текста ответа

<response>
  <item>
    <id>1</id>
    <name>twins</name>
  </item>
  <item>
       ...
  </item>
  ...
</response>

Контакты

Используется в клиентах и сделках. Вязаться контакты могут как к сделкам, так и к клиентам

Возможны 2 варианта запросов
  • через client_id - запрос через таблицу contact4client
  • через deal_id - сложная обработка
    • если для сделки задан клиент - используем вариант с client_id
    • если клиент не задан - используем таблицу contact4deal

Запросы осуществляются на URL:

http://<domain.ru>/rest/contact[parameters]

Обязательные параметры:

  • auth_key - токен авторизации для stateless доступа к сервису
Должен быть задан один из параметров
  • deal_id
  • client_id

В противном случае запрос должен Вернуть статус отдать BadRequest с сообщением (no deal_id or client_id)

Получение списка

Запросы на получение списка адресуются на один URI вне зависимости от предполагаемого типа получаемого результата и могу ограничиваться только набором общих для обоих видов атрибутов.

Запрос списка:

GET https://<domain.ru>/rest/contact?deal_id=12

Возможны 2 варианта запросов

  • через client_id - запрос через таблицу contact4client
  • через deal_id - сложная обработка
    • если для сделки задан клиент - используем вариант с client_id
    • если клиент не задан - используем таблицу contact4deal
Допустимые параметры:
Таблица 1
Имя параметра Тип данных Описание
deal_id integer id сделки
client_id integer id клиента
sort string Не обязательное. Указатель на необходимость сортировки по конкретному атрибуту сущности см. описание сущности client. Доступны только общие атрибуты.
fields string Не обязательное. Указатель на необходимость выборки конкретных атрибутов сущности. см Сущность "client". Доступны только общие атрибуты.
expand string Не обязательное. Список связных сущностей, которые нужно развернуть

Форматы ответов

1. Один кортеж, режим по-умолчанию

GET https://<domain>.ru/rest/contact
{
  "response": {
    "items": [
      {
        "id": 123,
        "name": "ClientCompany ltd",
        "phone": "8(890)56-67-67",
        "mobile": "8(890)56-67-67",
        "email": "clientcomp@clientcomp.com",
        "rank": "Должность",
      }
      ]
  }
}

При этом поля phone и mobile должны быть взяты из таблицы contact_phone с type 1 и 2 соответственно (Вынести в константы)

 

Получение по идентификатору

Возвращает в качестве результата данные о контакте в формате описания отдельного кортежа списка (см. Получение списка)

GET https://<domain>.ru/rest/contact/<id>

Добавление

POST https://domain.ru/rest/contact
{
        "id": 123,
        "name": "ClientCompany ltd",
        "phone": "8(890)56-67-67",
        "mobile": "8(890)56-67-67",
        "email": "clientcomp@clientcomp.com",
        "rank": "Должность" 
}
Таблица 4 - Атрибуты, используемые при добавлении
Атрибут Тип данных Замечания
deal_id int Обязательное. Если не задан client_id
*client_id * int Обязательное. Если не задан deal_id
name string Обязательное. Имя клиента
email string Не обязательное
phone string Не обязательное
mobile string Не обязательное
rank string Не обязательное. должность
Логика сохранения следующая:
  • поля - просто сохранение
    • name
    • email
    • rank
  • phone - в таблицу contact_phone c type = 1 (Константа в классе)
  • mobile - в таблицу contact_phone c type = 2 (Константа в классе)
  • связь
    • client_id - через таблицу contact4client
    • deal_id:
      • если задан клиент для сделки - через таблицу contact4client
      • если не задан - через таблицу contact4deal

Формат ответов

В случае успешного выполнения запроса:
  • Сервер возвращает код ответа 200
  • В теле ответа приходит вновь добавленная сущность в формате запроса по идентификатору (см. Получение-по-идентификатору )

В случае ошибки возвращается код ответа, отличный от 200

Изменение

PUT https://domain.ru/rest/contact/<contact_id:\i>
PATCH https://domain.ru/rest/contact/<contact_id:\i>

Тело запроса формируется идентичным запросу на добавление.

Поля deal_id и client_id не обрабатываются - связь уже есть

Поля phone и mobile раскладываются в таблицу contact_phone с type 1 и 2 соответственно (Через константы класса)

Удаление

DELETE https://domain.ru/rest/contact/<contact_id:\i>
Должны быть удалены соответствующие записи в таблицах
  • contact_phone
  • contact4client
  • contact4deal

Тело запроса отсутствует

Формат ответов

Возвращает код ответа от сервера 200 в случае успешного выполнения запроса либо отличный от него в случае возникновения ошибки.

Документация

© «Копирайт», 2017

Web-canape - быстрое создание сайтов и продвижение