Модель Client — представляет клиента
* @property integer $id // ИД * @property string $address // Адрес * @property string $home_phone // Домашний телефон * @property string $work_phone // Рабочий телефон * @property string $fax // Факс * @property string $note // Текст * @property integer $type_id // Тип клиента * @property integer $how_find // Как нашли * @property double $balance // Текущий баланс - менять только через интерфейс программы * @property string $email // email * @property string $city // Устарело, будет удалено * @property integer $city_id // ИД города из модели city * @property string $date_register // Дата регистрации * @property string $cell_phone // Мобильный телефон * @property string $zip // Почтовый индекс * @property string $registration_index // не используется * @property integer $vip // не используется * @property string $last_name // Фамилия * @property string $first_name //Имя * @property string $middle_name // Отчество * @property string $status // 'ACTIVE' - активный,'DISABLED' - неактивный,'DELETED' - удален,'TEMPORARY' - временный * @property integer $discount //Скидка * @property string $passport_series //Паспортные данные * @property string $lab_number //Лабораторный номер * @property string $street_id // ИД улицы * @property string $apartment // Номер дома и квартиры * @property string $unsubscribe // Отписан от уведомлений * @property string $number_of_journal // Номер журнала * @property integer $phone_prefix //Код страны
Пример запроса создание клиента
По умолчанию клиент создается со статусом ACTIVE
Для создания временного клиента нужно указать status — «TEMPORARY».
curl --location --request POST 'http://{DOMAIN NAME}/rest/api/client' \ --header 'Content-Type: application/json' \ --header 'X-REST-API-KEY: {REST API KEY}' \ --data-raw '{ "last_name":"LastName", "first_name":"FirtsName", "status":"TEMPORARY" }'
Ответ сервера
{ "success": true, "message": "Record(s) Created", "data": { "totalCount": 1, "client": [ { "id": "10", "address": "", "home_phone": "", "work_phone": "", "note": "", "type_id": null, "how_find": null, "balance": "0.0000000000", "email": "", "city": "", "city_id": null, "date_register": "2021-09-20 09:08:48", "cell_phone": "", "zip": "", "registration_index": null, "vip": "0", "last_name": "LastName", "first_name": "FirtsName", "middle_name": "", "status": "TEMPORARY", "discount": "0", "passport_series": "", "lab_number": "", "street_id": "0", "apartment": "", "unsubscribe": "0", "in_blacklist": "0", last_visit_date": "0000-00-00 00:00:00", "number_of_journal": "", "phone_prefix": "" } ] } }
Поиск клиента
curl --location --request GET 'http://{DOMAIN NAME}/rest/api/client/clientsSearchData?search_query=0957778899' \ --header 'Content-Type: application/json' \ --header 'X-REST-API-KEY: {REST API KEY}'
Поиск выполняется по полям — Фамилия, Имя, Отчество клиента, номер телефона, e-mail, кличка питомца, название породы. Можно указывать только Фамилию или Фамилию + Имя, или все вместе.
Для поиска, например, только по имени, можно указать такое значение — ‘% Иван’
Параметры
*search_query - ФИО start - с какой записи выгружать, по умолчанию 0 limit - ограничение, сколько записей выгружать. По умолчанию 10 * - обязательные параметры
Ответ сервера
{ "data": { "client": [ { "client_id": "13009", "last_name": "Иванов", "first_name": "Иван", "middle_name": "Иванович", "email": "", "address": "", "in_blacklist": "0", "description": "", "type": null, "cell_phone": "", "status": "ACTIVE", "pets": [ { "pet_id": "18817", "alias": "Павлик Морозов", "sex": null, "birthday": null, "owner_id": "13009", "pet_type": "dog", "breed": "Питбультерьер" } ] }, ******* ] }, "success": true }
Модель Street — улицы
* @property integer $id * @property string $title * @property integer $city_id * @property string $type // Тип улицы enum(street,bulvar,prospeсt,pereulok)
Модель clientPhone — поиск клиентов по номеру телефона нужно осуществлять через эту модель
* @property integer $client_id // содержит id клиента * @property string $type // может принимать 'home','work' или 'cell' * @property string $original_phone // содержит оригинальное значение * @property string $clean_phone // содержит чистый телефон, только цифры.
Модель Pet — питомца
* @property integer $id // ИД питомца * @property integer $owner_id // Ид владельца * @property integer $type_id // Вид * @property string $alias // Кличка * @property string $sex // Пол enum(MALE, FEMALE, CASTRATED, STERIALIZED) * @property string $date_register //Дата регистрации * @property string $birthday // Дата рождения * @property string $note // Примечание * @property integer $breed_id // Порода * @property integer $old_id // устарело * @property integer $color_id // цвет * @property string $deathnote // Примечание при отметке о смерти * @property string $deathdate // Дата смерти * @property string $chip_number // Номер чипа * @property string $lab_number //Номер для лаборатории * @property string $status //Статус * @property string $picture //Картинка
Модель PetType — вид питомца
* @property integer $id // ИД * @property string $title // Название
Модель Breed — породы
* @property integer $id * @property string $title * @property integer $pet_type_id
Общие сведения о запросах к API
Создание временного клиента
curl -l -H "Accept: application/json" -H "X-REST-API-KEY: ee9528f3b9c3ad9cdecfbd9723043334" -X \ POST -d '{"first_name": "Alex", "last_name":"Solt", "status":"TEMPORARY"}' \ http://example/rest/api/client
{ "success": true, "message": "Record(s) Created", "data": { "totalCount": 1, "client": [{ "id": "2", "address": "", "home_phone": "", "work_phone": "", "fax": "", "note": "", "type_id": "3", "how_find": "8", "balance": "0", "email": "", "city": "", "city_id": "50", "date_register": "2012-06-15 16:38:28", "cell_phone": "", "zip": "", "registration_index": null, "vip": "0", "last_name": "Петров", "first_name": "Петр", "middle_name": "", "status": "ACTIVE", "discount": "0", "passport_series": "", "lab_number": "", "street_id": "0", "apartment": "", "unsubscribe": "0", "number_of_journal": "", "phone_prefix": "0" }] } }
Создание питомца с минимальными данными
curl -l -H «Accept: application/json» -H «X-REST-API-KEY: ee9528f3b9c3ad9cdecfbd9723043334» -X \ POST -d ‘{«alias»: «Little Devil», «owner_id»:»23″}’ \ http://example/rest/api/pet
{ "success": true, "message": "Record(s) Created", "data": { "totalCount": 1, "pet": [{ "chip_number": "", "lab_number": "", "status": "alive", "alias": "Little Devil", "owner_id": "23", "id": "24", "type_id": null, "sex": null, "date_register": null, "birthday": null, "note": null, "breed_id": null, "old_id": null, "color_id": null, "deathnote": null, "deathdate": null }] } }
Список обязательных полей
Создание клиента:
Обязательных полей для запроса нет. При передаче пустого запроса создаст клиента с пустыми полями.
Обновление клиента:
Обязательных полей для запроса нет, передадут поле из сущности, его и обновит.