julienbornstein / doctolib-php
Doctolib PHP 客户端
0.1.2
2022-01-25 15:01 UTC
Requires
- php: >=7.4
- ext-json: *
- symfony/http-client: ^5.2
- symfony/http-foundation: ^5.2
- symfony/options-resolver: ^5.2
- symfony/serializer-pack: ^1.0
- webmozart/assert: ^1.10
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpmd/phpmd: ^2.10
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^0.12.87
- phpunit/phpunit: 9.*
- symfony/debug-pack: ^1.0
This package is auto-updated.
Last update: 2024-09-25 21:08:31 UTC
README
注意: 这是一个非官方的 Doctolib PHP 客户端。
这是一个 Doctolib 的 PHP 客户端,它包括以下内容:
- REST 端点的辅助方法
- 通过专业和地点搜索医生资料,并获取预约和可用信息。
- 获取患者、资料、预约。
- 创建、确认、删除预约。
认证。损坏
- PSR-4 自动加载支持。
要求
- PHP 7.4 或更高版本。
- PHP cURL 扩展(通常与 PHP 一起安装)。
安装
使用 Composer 安装它
$ composer require julienbornstein/doctolib-php
用法
$doctolib = new Doctolib\Client( new Symfony\Component\HttpClient\HttpClient(), SerializerFactory::create() ); $searchResults = $doctolib->search('dentiste'); $speciality = $searchResults['specialities'][0]; $profiles = $doctolib->searchProfilesBySpecialityAndLocation('dentiste', '75009-paris'); // = https://www.doctolib.fr/dentiste/75009-paris $profiles = $doctolib->searchProfilesBySpecialityAndLocation('dentiste', '75009-paris', [ 'latitude' => 48.8785328, 'longitude' => 2.3377854, ]); $booking = $doctolib->getBooking('cabinet-dentaire-haussmann-saint-lazare'); $agendas = $booking->getAgendas(); $visitMotives = Agenda::getVisitMotivesForAgendas($agendas); $tomorrow = new DateTime('tomorrow'); $visitMotive = $visitMotives[0]; $availabilities = $doctolib->getAvailabilities($agendas, $tomorrow, $visitMotive->getRefVisitMotiveId()); $firstAvailability = $availabilities[0]; $firstSlot = $firstAvailability->getSlots()[0]; $doctolib->setSessionId('YOUR_SESSION_ID'); $patient = $doctolib->getMasterPatient(); $appointment = $doctolib->createAppointment($booking, $visitMotive, $firstSlot); $appointment = $doctolib->confirmAppointment($appointment, $patient); $upcomingAppointments = $doctolib->getUpcomingAppointments(); $appointment = $doctolib->getAppointment('APPOINTMENT_ID'); $doctolib->deleteAppointment('APPOINTMENT_ID');
框架集成
Symfony
在您的 services.yaml
文件中添加此块以将 Client
注册为服务。
Doctolib\Client: arguments: $serializer: '@doctolib.serializer' doctolib.serializer: class: Symfony\Component\Serializer\SerializerInterface factory: ['Doctolib\SerializerFactory', 'create']
示例
您可以在 examples 目录中找到一些示例。
您还可以检查这个项目 julienbornstein/doctolib-autobooking
测试
$ make test
贡献
有关详细信息,请参阅 CONTRIBUTING
致谢
许可协议
MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。