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.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bit-umc-sdk

SDK для 1С-БИТ.УМЦ

Требования

API версии 2

SDK построен вокруг единой публичной точки входа: ANZ\\BitUmc\\SDK\\BitUmcClient.

Принципы

Использование

Доступные операции

Большие коллекции

Методы getClinics(), getEmployees(), getNomenclature() и getSchedule() для обратной совместимости продолжают возвращать полные массивы. Приложения, которым не нужно хранить всю большую коллекцию, могут использовать соответствующий итератор:

Доступны iterateClinics(), iterateEmployees(), iterateNomenclature(string $clinicUid) и iterateSchedule(?ScheduleQuery $query = null).

iterateClinics(), iterateEmployees() и iterateNomenclature() возвращают те же нормализованные элементы и ключи UID, что и соответствующие get*() методы, но не накапливают результирующий массив внутри SDK.

iterateSchedule() возвращает записи расписания последовательно. Первая запись по сотруднику имеет kind = employee и содержит нормализованные данные сотрудника без периодов. Следующие записи имеют kind = period, timeType = free|busy, исходный интервал в period и разбитые свободные слоты в formattedSlots.

Форма записи iterateSchedule():

Крупные чтения getClinics(), getEmployees(), getNomenclature() и getSchedule() используют файловый streaming transport: SDK получает SOAP response через потоковый HTTP POST, извлекает <return> в временный payload-файл и разбирает его через XMLReader. get*() методы всё равно накапливают итоговый массив ради совместимости, а iterate*() методы позволяют обрабатывать элементы без накопления результата в SDK. Исключения итераторов возникают при начале обхода.

DTO запросов

Полный пример приведён в examples/index.php.

Возвращаемые данные

getClinics(): array

getEmployees(): array

getNomenclature(string $clinicUid): array

getSchedule(?ScheduleQuery $query = null): array

Метод сохраняет прежний формат ответа и собирает итоговую карту поверх iterateSchedule(). Для больших расписаний это означает накопление итогового массива в памяти приложения.

getAppointmentStatus(string $appointmentUid): array

sendReserve(ReserveRequest $request): array

sendWaitList(WaitListRequest $request): array

sendAppointment(BookAppointmentRequest $request): array

deleteAppointment(string $appointmentUid): array

Обработка ошибок

Тесты

Что покрыто

Текущий набор тестов покрывает следующие случаи.

Unit-тесты с fixtures:

Интеграционные тесты с реальной 1С:

Как работают unit-тесты

Unit-тесты не подключаются к 1С. Они используют локальные fixtures из tests/Fixtures/soap: необработанные XML и текстовые ответы, полученные из тестового экземпляра 1С.

Это означает, что тесты детерминированы и быстры, поведение парсера проверяется на реальных ответах, а учётные данные не требуются.

Запуск unit-тестов:

Как обновить fixtures из реальной 1С

Скрипт получения fixtures:

Перед запуском задайте переменные окружения:

Пример для PowerShell:

Как запустить интеграционные тесты против реальной 1С

Интеграционные тесты выполняют сетевые вызовы и требуют переменных окружения.

Поддерживаемые переменные:

Example PowerShell:

Важно:

Примечание о транспорте

В ConnectionOptions поле apiKey уже зарезервировано для будущего HTTP-транспорта. SOAP его игнорирует.

Параметр responseMaxBytes ограничивает размер полезной части SOAP-ответа для streaming transport. Значение по умолчанию: 536870912 байт.


All versions of bit-umc-sdk with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-soap Version *
ext-json Version *
ext-xmlreader Version *
psr/log Version 3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package alex-nzr/bit-umc-sdk contains the following files

Loading the files please wait ...