Перейти к основному содержимому

Введение в 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:8081IP адрес веб-сервера, на котором опубликована база 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:8081IP адрес, аналогично с публикации HTTP-сервиса.
BASE_NAMEИмя, аналогично с публикации HTTP-сервиса
wsУказатель на то, что обращение идёт к веб-сервису.
ws1.1cwsИмя веб-сервиса, к которому идёт обращение. По умолчанию веб-сервис integration публикуется с именем ws1.1cws. Можно изменить при публикации в Конфигураторе или после в vrd-файле публикации.

Таким образом, тестировать отдельные методы публикации можно через спец. сервисы и плагины браузеров при условии строго-правильного указания параметров методов.

Схема обмена для онлайн-записи

HTTP- и веб-сервисы обмена с сайтом позволяют записываться с сайта в актуальное расписание врача, а также получать листы ожидания.

Лист ожидание – это более простой вариант, чтобы сообщить в клинику о желании пациента связаться (в широком смысле это всегда заказ звонка с сайта, хотя на сайте может без несколько диалогов, импортируемых в 1С). Для листов ожидания достаточен веб-метод FastBookAnAppointment.

Онлайн-запись – это операция, по итогу которой в реальном расписании сотрудника клиент занимает свободное время своей записью. В базе 1С о приходе записи с сайта пользователь узнаёт в окне расписания по появившейся гиперссылке «Новых внешних заявок:», через которую он переходит и проверяет их.

Порядок записи для клиента следующий:

  1. На сайте посетитель выбирает врача, дату, время (обычно, несколько последовательных страниц);
  2. Сайт бронирует это время в расписании клиники (GetReserve);
  3. Сайт переводит посетителя на форму, где он заносит контактные данные, комментарий (не дольше 15 минут после GetReserve);
  4. Сайт отправляет данные в 1С, где бронь превращается в полноценную запись (К примеру, BookAnAppointment).
Альтернативная последовательность

Пользователь сначала вносит а форму сайта информацию для связи и комментарий, и только после этого выбирает врача, дату, свободное время, после чего сайт создаёт запись без предварительной брони времени в расписании (К примеру, BookAnAppointment).

Актуальное время

В обоих случаях свободное время надо знать актуальное. Для этого сайт должен оперативно спросить его у опубликованной на веб-сервере базы 1С на нужный интервал (К примеру, GetSchedule). Или неоперативно (прим. раз в день) сайт получает укрупненное расписание рабочего времени всех сотрудников без информации о том, занято ли оно уже (К примеру, GetEnlargementSchedule).

Остальные методы HTTP- и веб- сервисов второстепенны и могут не использоваться.