Введение в API
Соглашение о типах данных
Для указания времени или даты используется тип dateTime
.
Формат типа dateTime
для веб-сервисов, FTP и HTTP-сервиса CreateLead выглядит как гггг-мм-ддTчч:мм:сс
, где
Для времени без даты, используется шаблон: 0001-01-01Tчч:мм:сс
.
Для даты без времени, используется шаблон: гггг-мм-ддT00:00:00
.
В остальных случаях допускаются следующие шаблоны для дат:
гггг.мм.дд чч:мм:сс
или дд.мм.гггг чч:мм:сс
гггг-мм-дд чч:мм:сс
или дд-мм-гггг чч:мм:сс
гггг/мм/дд чч:мм:сс
или дд/мм/гггг чч:мм:сс
гггг-мм-ддTчч:мм:сс
или дд-мм-ггггTчч:мм:сс
Если ожидается время без даты или наоборот - то ненужная часть будет игнорироваться, даже если указана. Дату или время
тоже можно указывать отдельно друг от друга. К примеру, время можно указать как чч:мм:сс
.
Адрес сервиса при публикации базы 1С на веб-сервере
База 1С публикуется штатными средствами платформы «1С:Предприятие 8.3» по документации от фирмы «1С» для администратора базы.
Полный адрес публикации HTTP-сервиса имеет вид:
http://192.168.0.2:8081
/BASE_NAME
/hs
/ROOT_URL
/PATTERN_URL
, где
Параметр | Описание |
---|---|
192.168.0.2:8081 | IP адрес веб-сервера, на котором опубликована база 1С. Если используется не порт по умолчанию, указывается порт сервера. Если обращение идёт из локальной сети – используется внутренний адрес сервера. Если обращение идёт через Интернет – используется внешний «белый» IP сервера. |
BASE_NAME | Имя, под которым база опубликована на веб-сервере (определяется в момент публикации из Конфигуратора или позже в vrd-файле согласно правилам веб-сервера). |
hs | Указатель на то, что обращение идёт к HTTP-сервису. |
ROOT_URL | Корневой URL, идентифицирующий HTTP-сервис в информационной базе. Можно изменить при публикации в Конфигураторе или после в vrd-файле публикации. |
PATTERN_URL | Шаблон URL, адрес обрабатываемый сервисом. Может содержать обязательные параметры и выглядеть как /URL_NAME/{PARAM_1}.../{PARAM_N} , где URL_NAME - это имя шаблона, может быть пустым, PARAM_1 ... PARAM_N - это обязательные параметры. |
Например, адреса публикации для базы с именем публикации MyBase
(корневой URL и шаблон URL заданы по умолчанию):
Операция | URL |
---|---|
Для операции Schelude - получения расписания у HTTP-сервиса обмена с сайтом | http://192.168.0.2:8081/MyBase/hs/bwi/Schedule |
Для операции AppointmentCreate - создания заявки или листа ожидания HTTP-сервиса обмена с сайтом | http://192.168.0.2:8081/MyBase/hs/bwi/AppointmentCreate |
Для HTTP-сервиса по созданию Лида | http://192.168.0.2:8081/MyBase/hs/crm/createlead |
Для веб-сервиса полный адрес публикации имеет вид:
http://192.168.0.2:8081
/BASE_NAME
/ws
/ws1.1cws
?wsdl, где
Параметр | Описание |
---|---|
192.168.0.2:8081 | IP адрес, аналогично с публикации HTTP-сервиса. |
BASE_NAME | Имя, аналогично с публикации HTTP-сервиса |
ws | Указатель на то, что обращение идёт к веб-сервису. |
ws1.1cws | Имя веб-сервиса, к которому идёт обращение. По умолчанию веб-сервис integration публикуется с именем ws1.1cws . Можно изменить при публикации в Конфигураторе или после в vrd-файле публикации. |
Таким образом, тестировать отдельные методы публикации можно через спец. сервисы и плагины браузеров при условии строго-правильного указания параметров методов.
Схема обмена для онлайн-записи
HTTP- и веб-сервисы обмена с сайтом позволяют записываться с сайта в актуальное расписание врача, а также получать листы ожидания.
Лист ожидание – это более простой вариант, чтобы сообщить в клинику о желании пациента связаться (в широком смысле это всегда заказ звонка с сайта, хотя на сайте может без несколько диалогов, импортируемых в 1С). Для листов ожидания достаточен веб-метод FastBookAnAppointment.
Онлайн-запись – это операция, по итогу которой в реальном расписании сотрудника клиент занимает свободное время своей записью. В базе 1С о приходе записи с сайта пользователь узнаёт в окне расписания по появившейся гиперссылке «Новых внешних заявок:», через которую он переходит и проверяет их.
Порядок записи для клиента следующий:
- На сайте посетитель выбирает врача, дату, время (обычно, несколько последовательных страниц);
- Сайт бронирует это время в расписании клиники (GetReserve);
- Сайт переводит посетителя на форму, где он заносит контактные данные, комментарий (не дольше 15 минут после GetReserve);
- Сайт отправляет данные в 1С, где бронь превращается в полноценную запись (К примеру, BookAnAppointment).
Пользователь сначала вносит а форму сайта информацию для связи и комментарий, и только после этого выбирает врача, дату, свободное время, после чего сайт создаёт запись без предварительной брони времени в расписании (К примеру, BookAnAppointment).
В обоих случаях свободное время надо знать актуальное. Для этого сайт должен оперативно спросить его у опубликованной на веб-сервере базы 1С на нужный интервал (К примеру, GetSchedule). Или неоперативно (прим. раз в день) сайт получает укрупненное расписание рабочего времени всех сотрудников без информации о том, занято ли оно уже (К примеру, GetEnlargementSchedule).
Остальные методы HTTP- и веб- сервисов второстепенны и могут не использоваться.