Download the PHP package alex-nzr/bit-umc-sdk without Composer
On this page you can find all versions of the php package alex-nzr/bit-umc-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package bit-umc-sdk
SDK по работе с SOAP-API 1C БИТ.УМЦ
Требования:
PHP >= 8.1
BIT.UMC >=2.0.48.15(Prof)
BIT.UMC >=2.1.24.9(Corp)
Установка
Установка через composer
Добавить пакет в зависимости composer.json
:
Запустить установку composer:
или
Скачать исходники
Актуальная версия, распаковать и скопировать в папку с проектом.
Использование
Публикация базы 1С
Для работы интеграции база 1С должна быть опубликована на веб-сервере и иметь возможность принимать запросы с внешних ресурсов.
API
Для начала работы с API, нужно создать экземпляр клиента и передать ему необходимые конфигурационные данные.
Ниже образец. Логин пользователя 1С - 1cUser
, пароль - 1cUserPassword
.
База 1С опубликована на веб-сервере и имеет адрес http://88.29.123.512:3500/umc/
.
_SDK имеет каркас классов для подключения не по soap, а по http. Но данная возможность не реализована и большинство классов представляют собой заглушки, так как полноценной интеграции через http-сервисы в БИТ.УМЦ нет, а есть только сервис для создания лида (лист ожидания). Он не представляет особого интереса и вести полноценную разработку http-скоупа ради него нет желания. Также, на момент написания этой инструкции имеются сервисы для интеграции с Битрикс24 и ЕГИСЗ, которые не предоставляют функционал, необходимый для выгрузки расписания и создания заявок.
Следующий шаг — создание сервиса для чтения и записи информации.
После этого можно начинать "общение" с 1С.
Список клиник
Обработка неуспешного ответа во всех методах происходит аналогично примеру выше, поэтому в последующих примерах рассматриваться не будет.
Список сотрудников
Примечание: уникальный id специализации генерируется в рантайме из её названия, так как нет возможности получить его из 1С по имеющемуся API. Также возвращается только специализация, выбранная основной. Получение дополнительных специализаций в API БИТ.УМЦ не предусмотрено. В случае, когда основная специализация не указана, у сотрудника в соответствующей графе будет указано "Без основной специализации"
Номенклатура
Расписание
Примечание: уникальный id специализации генерируется в рантайме из её названия, так как нет возможности получить его из 1С по имеющемуся API
Ни один из параметров метода не является обязательным. По умолчанию возвращается расписание по всем врачам всех клиник за 14 дней.
Структура возвращаемого массива следующая:
Ключи первого уровня — уникальные идентификаторы клиник.
Ключи второго уровня — уникальные идентификаторы специализаций доступных в данной клинике.
Ключи третьего уровня — уникальные идентификаторы врачей, для которых сформировано расписание в вышестоящей клинике и вышестоящая специализация выбрана основной в настройках 1С.
В массиве данных по врачу есть его ФИО, название специализации, длительность приёма из настроек 1С (durationFrom1C), длительность приёма из 1С, переведённая в секунды (durationInSeconds) и расписание(timetable).
Расписание имеет три ключа:
free
- общее свободное время без разбивки на интервалы длительности приёма.
Может быть разделено на части, если есть занятые участками времени.
В противном случае будет представлять собой один интервал,
равный длине рабочего дня соответствующего сотрудника.
busy
- занятое время.
freeFormatted
- свободное время, разбитое на
интервалы длительности приёма из 1С (durationFrom1C),
либо на интервалы по 30 минут, если данных по длительности не получено.
В каждый из этих трёх разделов вложены массивы под ключами в виде даты в формате "d-m-Y". Внутри, соответственно, временные отрезки относящиеся к данному дню.
typeOfTimeUid
- идентификатор вида времени графика. Кроме идентификатора, никакой информации о нём не предоставляется.
Статус заявки
Создание листа ожидания
Для конфигурирования параметров заявок используется отдельный класс ANZ\BitUmc\SDK\Builder\Order
Бронирование времени
По сути — это такое же создание заявки, как и при записи на приём, но требуется меньшее количество параметров, статус заявки в 1С будет "Забронировано" и в ответе придёт уникальный идентификатор созданной заявки, который можно использовать для её обновления или удаления. При создании полноценной заявки (Запись на приём), API БИТ.УМЦ не возвращает её идентификатор. Поэтому, если нужно где-то хранить созданные заявки и в дальнейшем как-то использовать, то запись нужно производить с предварительным бронированием.
Запись на приём
*Если не устанавливать идентификатор или передать пустую строку, то создастся новая заявка, иначе будет изменена старая
**Переданная длительность не учитывается если указаны услуги (setServices). Также есть "особенности" апи УМЦ - длительность считается по услугам, только если для услуги указана индивидуальная длительность для конкретного врача. А также всё время будет суммироваться в первой услуге, а остальные будут без длительности. Длительность из карточки услуги не учитывается, если указан врач, а врач - обязательное поле. Если у выбранных услуг нет индивидуальной длительности, то длительность приёма будет взята из настроек учётных политик. Почему нельзя было сделать нормально? У меня такой же вопрос, но техподдержка УМЦ предпочла на него не отвечать. Поэтому работаем с тем, что есть, к сожалению.
Удаление заявки
Примеры работы
Ознакомиться с примерами использования можно тут.
All versions of bit-umc-sdk with dependencies
ext-soap Version *
ext-simplexml Version *
ext-json Version *
psr/log Version 3.0