Структура передаваемых объектов

Типы данных

  • string — строка
  • DateTime — дата и время в диапазоне от 01.01.1900 до 01.01.2200
  • int — целое число в диапазоне от -2 147 483 648 до 2 147 483 647
  • bit — числовое поле, принимающее значения 0 или 1

Вызовы

№ п/пНазваниеТипМожет быть nullОбязательное поле
Уникальный ключ*
Описание

1

DateAndTime

DateTime


Дата и время начала вызова.

2

Direction

string


✓**

Направление вызова по отношению к клинике. Может принимать значения:

  • in — входящий;
  • out — исходящий.

3

PhoneFrom

string


Номер телефона, с которого звонили***.

4

PhoneTo

string


Номер телефона, на который звонили***.

5

WaitInSeconds

int



Время ожидания ответа (в секундах).

6

TalkInSeconds

int

+


Продолжительность разговора (в секундах), если значение null, то разговор не состоялся.

7

LineDescription

string




Информация о телефонной линии вызова (SIP, ФИО оператора, ...), которая выводится в IDENT для текущего вызовов. Для завершенных вызовов значение поля игнорируется***.

8

RecordUrl

string




URL аудиозаписи разговора****.

Поля для динамического call-tracking

9

UtmSource

string




Source метки Utm.

10

UtmMedium

string




Medium метки Utm.

11

UtmCampaign

string




Campaign метки Utm.

12

UtmTerm

string




Term метки Utm.

13

UtmContent

string




Content метки Utm.

14

HttpReferer

string




URL, с которого пришел запрос на сайт клиники (HTTP referer).

*IDENT проверяет уникальность по полям уникального ключа. Поэтому вы не должны возвращать строки с совпадающими значениями в этом ключе. IDENT возьмет только одну из строк, какую именно — неизвестно.

**Обязательное поле, если направление не может быть определено по номерам телефонов.

***Звонок всегда устанавливается между двумя номерами — номером, с которого идет звонок (например, мобильным +79101112233), и номером, на который поступает звонок (например, 8-800-333-22-11). В полях PhoneFrom и PhoneTo нужна только эта информация. SIP-линию, через которую идет звонок, можно передавать в поле LineDescription, где показывается другая информация о текущем вызове. Даже если звонок совершается внутри города, и тот, кто звонит, набирает короткий номер — без кода (например, 333-22-11), нам важно, чтобы оба номера были в полном формате (например, звонок идет с номера +78121112233 на номер +78123332211). Наличие ведущего «+» у номера желательно, так как позволяет однозначно понять, что этот номер полный, а не локальный. Но при полной длине номера (одиннадцать цифр) он распознается и без «+».

****Ссылка на запись разговора должна быть статической (IDENT кэширует эти ссылки) и публично доступной без авторизации (прослушивание происходит через стандартный браузер системы, поэтому ключ доступа не передается).

Направление вызова

Если один из номеров распознан как номер клиники (содержится в справочнике телефонов в группе «Телефоны клиники»), то звонок определяется либо как входящий — если телефон клиники в поле PhoneTo, либо как исходящий — если телефон клиники в поле PhoneFrom.

Если ни один из номеров не распознан как телефон клиники, или оба номера распознаны как телефон клиники, то направление определяется из поля Direction.

Заявки

№ п/п
Название
Тип
Может быть null
Обязательно поле
Уникальный ключ*
Описание

1

Id

string(400)


Уникальный id записи, обязательное поле для заполнения, длина не более 400 символов.

2

DateAndTime

DateTime


Дата создания заявки.

3

ClientPhone

string



Телефон клиента**.

4

ClientEmail

string




E-mail клиента.

5

FormName

string




Наименование формы, из которой была оставлена заявка.

6

ClientFullName

string


✓***


ФИО клиента (если заполнено это поле, то поля ClientSurname, ClientName, ClientPatronymic должны отсутствовать либо быть пустыми).

7

ClientSurname

string


✓***


Фамилия клиента (если заполнено это поле, то поле ClientFullName должно отсутствовать либо быть пустым).

8

ClientName

string


✓***


Имя клиента (если заполнено это поле, то поле ClientFullName должно отсутствовать либо быть пустым).

9

ClientPatronymic

string


✓***


Отчество клиента (если заполнено это поле, то поле ClientFullName должно отсутствовать либо быть пустым).

 10

PlanStart

DateTime

+



Желаемое время начала приема (не должно быть позже PlanEnd).

11

PlanEnd

DateTime

+



Желаемое время окончания приема (не должно быть раньше PlanStart, а продолжительность приема не должна превышать 12 часов).

12

Comment

string




Комментарий.

13

DoctorId

int

+



Id специалиста, к которому хотят записаться (номер из IDENT, можно увидеть, если в карточке сотрудника подвести мышью на ФИО в заголовке).

14

DoctorName

string




ФИО специалиста, к которому хотят записаться.

15

UtmSource

string




Source метки Utm.

16

UtmMedium

string




Medium  метки Utm.

17

UtmCampaign

string




Campaign  метки Utm.

18

UtmTerm

string




Term  метки Utm.

19

UtmContent

string




Content  метки Utm.

20

HttpReferer

string




URL, с которого пришел запрос на сайт клиники (HTTP referer).

*IDENT проверяет уникальность по полям уникального ключа. Поэтому вы не должны возвращать строки с совпадающими значениями в этом ключе. IDENT возьмет только одну из строк, какую именно — неизвестно.

**Телефон клиента может быть в любом формате, IDENT сам распознает корректные номера. Важно только, чтобы телефон был указан полностью — с кодом города, а также в значении присутствовал только номер (без лишнего текста) и он был единственным. Примеры валидных (правильных) значений: +7 911 01 01 001, 7(777)0010101, (911) 0010101, 8-911-001-0101, 8812-0000-111

*** См. Описание!

Выгрузка расписания

Филиалы

№ 
п/п
Название
Тип
Может быть null
Обязательное поле
Описание

1

Id

int


Уникальный идентификатор филиала в IDENT, первичный ключ.

2

Name

string


Название филиала.

Врачи

№ п/п
Название
Тип
Может быть null
Обязательное поле
Описание

1

Id

int


Уникальный идентификатор врача в IDENT, первичный ключ.

2

Name

string


ФИО врача.

Слоты расписания

№ п/п
Название
Тип
Может быть null
Обязательное поле
Описание

1

BranchId

int


Id филиала в IDENT.

2

DoctorId

int


Id врача в IDENT.

3

StartDateTime

DateTime


Дата и время начала слота расписания.

4

LengthInMinutes

int


Продолжительность слота в минутах.

5

IsBusy

bit


Признак занятости слота (0 — слот доступен для записи, 1 — слот уже занят).

Поля BranchId, DoctorId, StartDateTime образуют составной первичный ключ для сравнения с данными IDENT. Для контроля целостности данных рекомендуем создать в БД ограничение уникальности по этим полям.