railsformers / reservatic
该包最新版本(dev-main)没有提供许可证信息。
Reservatic API
dev-main
2024-09-25 07:31 UTC
This package is auto-updated.
Last update: 2024-09-25 07:59:45 UTC
README
此包提供用于与Reservatic API一起工作的PHP客户端。
要求
- PHP版本8.3或更高
- PHP的cURL扩展
- PHP的JSON扩展
安装
使用Composer安装此包
composer require railsformers/reservatic
使用
以下是一个使用示例
<?php require 'vendor/autoload.php'; use Reservatic\Api; // Vytvoření instance Reservatic $reservatic = Api::reservatic('https://api.reservatic.com/api/vase_api', 'your_api_token', 'path/to/certificate.p12', 'certificate_password');
功能
getCountries()
获取国家列表。
返回值
string
:包含国家列表的JSON字符串。
示例
[ { "id": 1, "name": "Česká republika", "iso_code": "CZ", "locale": "cs" } ]
getInsuranceCompanies()
获取保险公司列表。
返回值
string
:包含保险公司列表的JSON字符串。
示例
[ { "id": 1, "name": "Neregistrován u zdravotní pojišťovny v ČR", "shortcut": "Jiná", "code": 999 } ]
getPhoneCodes()
获取电话号码列表。
返回值
string
:包含电话号码列表的JSON字符串。
示例
[ { "id": 1, "name": "Czech Republic", "position": 1, "value": "+420" } ]
getServices(int $page = null, int $per_page = null, string $q = '', string $name_cont = '')
获取服务列表。
参数
int $page
:(可选)页面编号。int $per_page
:(可选)每页的项目数。string $q
:(可选)搜索词。string $name_cont
:(可选)名称中的搜索词。
返回值
string
:包含服务列表的JSON字符串。
示例
[ { "id": 1, "name": "Super service", "aliases": "string", "address": "Malostranské náměstí 1, Praha, 10000, Česká republika", "phone_code": "+420", "phone": "777888999", "phone_code2": "+420", "phone2": "777888999", "logo": "https://example.com/image.png", "ic": "12345678", "dic": "12345678", "icp": "Abc", "url": "https://example.com/super-service", "url_iframe": "https://example.com/super-service-iframe", "place_ids": [1, 2], "lat": "49.000", "lng": "21.000", "required_gdpr": true, "gdpr_content": "I aggree with GDPR consent", "external_identifier": "XA123" } ]
getService(int $id)
根据ID获取服务详情。
参数
int $id
:服务ID。
返回值
string
:包含服务详情的JSON字符串。
示例
{ "id": 1, "name": "Super service", "aliases": "string", "address": "Malostranské náměstí 1, Praha, 10000, Česká republika", "phone_code": "+420", "phone": "777888999", "phone_code2": "+420", "phone2": "777888999", "logo": "https://example.com/image.png", "ic": "12345678", "dic": "12345678", "icp": "Abc", "url": "https://example.com/super-service", "url_iframe": "https://example.com/super-service-iframe", "place_ids": [1, 2], "lat": "49.000", "lng": "21.000", "required_gdpr": true, "gdpr_content": "I aggree with GDPR consent", "external_identifier": "XA123", "location": { "street": "Vřesinská 2371", "city": "Ostrava", "zip": "70800", "lat": 0, "lng": 0, "country_id": 1 }, "service_openings": [ { "day": 0, "all_day": false, "closed": false, "no_break": false, "reserved_only": false, "time_from": "08:00", "time_to": "18:00", "break_from": "12:00", "break_to": "13:00" } ], "gopay_iframe_url": "https://example.com/payments" }
getOperations(int $service_id, int $page = null, int $per_page = null)
获取特定服务的操作列表。
参数
int $service_id
:服务ID。int $page
:(可选)页面编号。int $per_page
:(可选)每页的项目数。
返回值
string
:包含操作列表的JSON字符串。
示例
[ { "id": 1, "name": "Super operation", "required_fields": ["phone", "birth_cert_no", "holder_id", "date_of_birth", "address", "insurance_company", "spz"], "minutes": 15, "real_minutes": 20, "content": "Amazing operation", "has_jitsi": false, "anonymous_without_email": true, "operation_columns": [ { "name": "Own Column", "is_required": false, "column_type": "options", "options": ["1", "2", "other"] } ], "create_min": 24, "delete_min": 24, "create_max": 2, "create_max_interval_type": "day", "price_without_vat": 100, "price_with_vat": 100, "price_with_vat_label": "100 Kč s DPH", "pay_methods": ["cash", "card", "card_in_place"], "currency": "czk", "who_pays": "free", "external_identifier": "XA123" } ]
getHolidays(int $service_id, string $from, string $to, int $user_service_id = null, int $page = null, int $per_page = null)
获取特定服务的假日列表。
参数
int $service_id
:服务ID。string $from
:起始日期(YYYY-MM-DD)。string $to
:结束日期(YYYY-MM-DD)。int $user_service_id
:(可选)用户服务ID。int $page
:(可选)页面编号。int $per_page
:(可选)每页的项目数。
返回值
string
:包含假日列表的JSON字符串。
示例
[ { "id": 1, "date": "2023-12-25", "description": "Christmas" }, { "id": 2, "date": "2023-01-01", "description": "New Year" } ]
getServiceYears(int $service_id, int $operation_id, int $place_id = null, int $user_service_id = null)
获取特定服务和操作的年份。
参数
int $service_id
:服务ID。int $operation_id
:操作ID。int $place_id
:(可选)地点ID。int $user_service_id
:(可选)用户服务ID。
返回值
string
:包含年份列表的JSON字符串。
示例
[ { "year": 2023 }, { "year": 2024 } ]
getServiceMonths(int $service_id, int $operation_id, int $year, int $place_id = null, int $user_service_id = null)
获取特定服务、操作和年份的月份。
参数
int $service_id
:服务ID。int $operation_id
:操作ID。int $year
:年份。int $place_id
:(可选)地点ID。int $user_service_id
:(可选)用户服务ID。
返回值
string
:包含月份列表的JSON字符串。
示例
[ { "month": 1 }, { "month": 2 } ]
getServiceDays(int $service_id, int $operation_id, int $year, int $month, int $place_id = null, int $user_service_id = null)
获取特定服务、操作、年份和月份的天。
参数
int $service_id
:服务ID。int $operation_id
:操作ID。int $year
:年份。int $month
:月份。int $place_id
:(可选)地点ID。int $user_service_id
:(可选)用户服务ID。
返回值
string
:包含天列表的JSON字符串。
示例
[ { "day": 1 }, { "day": 2 } ]
getServiceHours(int $service_id, int $operation_id, string $day, int $place_id = null, int $user_service_id = null)
获取特定服务、操作和日期的小时。
参数
int $service_id
:服务ID。int $operation_id
:操作ID。string $day
:日期(YYYY-MM-DD)。int $place_id
:(可选)地点ID。int $user_service_id
:(可选)用户服务ID。
返回值
string
:包含小时列表的JSON字符串。
示例
[ { "label": "17:00 - 20:00", "free_people": 1, "starts_at": "2024-09-12T12:25:12+02:00", "place_id": 1, "user_service_id": 1 } ]
getPlaces(int $service_id, int $operation_id = null, int $page = null, int $per_page = null)
获取特定服务和操作的地点列表。
参数
int $service_id
:服务ID。int $operation_id
:(可选)操作ID。int $page
:(可选)页面编号。int $per_page
:(可选)每页的项目数。
返回值
string
:包含地点列表的JSON字符串。
示例
[ { "id": 1, "name": "Super kalendář", "service_id": 1, "subtext": "Text", "operation_ids": [1, 2], "external_identifier": "XA123" } ]
getReservations(string $from, string $to, string $status = 'kept', int $operation_id = null, int $place_id = null, int $user_service_id = null, int $user_id = null, int $external_app_id = null, string $order_by = 'starts_at', string $order_direction = 'asc', int $page = null, int $per_page = null)
获取预订列表。
参数
string $from
:起始日期(YYYY-MM-DD)。string $to
:结束日期(YYYY-MM-DD)。string $status
: (可选) 预订状态(默认:'kept')。int $operation_id
:(可选)操作ID。int $place_id
:(可选)地点ID。int $user_service_id
:(可选)用户服务ID。int $user_id
: (可选) 用户ID。int $external_app_id
: (可选) 外部应用ID。string $order_by
: (可选) 排序依据(默认:'starts_at')。string $order_direction
: (可选) 排序方向(默认:'asc')。int $page
:(可选)页面编号。int $per_page
:(可选)每页的项目数。
返回值
string
: 包含预订列表的JSON字符串。
示例
[ { "id": 1, "operation_id": 2, "service_id": 3, "calendar_id": 1, "user_service_id": 3, "people": 1, "paid": true, "pay_by": "cash", "price": "850.0", "price_with_vat": 900, "currency": "euro", "operation_name": "Očkování V1", "operation_content": "Očkování description.", "operation_price": "850 euro", "operation_who_pays": "customer", "jitsi_token": "ffdc64f07e68e3647685", "jitsi_active": false, "jitsi_room_name": "Videokonference", "jitsi_domain": "meet.reservatic.com", "gopay_url": "https://gw.sandbox.gopay.com/gw/v3/token", "email": "john@doe.cz", "first_name": "John", "last_name": "Doe", "locale": "cs", "holder_id": "123456789", "phone": "777888999", "phone_code": "+420", "spz": "", "birth_certificate_number": "string", "street": "Nerudova 13", "city": "Praha", "zip": "10000", "country_code_alpha2": "CZ", "self_paying": false, "insurance_company_id": 1, "children": [ { "id": 1, "first_name": "John", "last_name": "Doe", "date_of_birth": "2010-01-01", "date_of_birth_iso": "2010-01-01", "holder_id": 0 } ], "reservation_columns": [ { "name": "Ročník", "column_type": "string", "value": "1991", "values": "Red,Green,Blue" } ], "can_change": false, "can_cancel": false, "starts_at": "2024-09-12T12:25:12+02:00", "ends_at": "2024-09-12T12:40:12+02:00", "deleted_at": "2024-09-13T07:51:56.372Z", "created_at": "2024-09-12T12:25:12+02:00", "updated_at": "2024-09-12T12:25:12+02:00", "date_of_birth": "1945-01-01", "max_delete_at": "2024-09-13T12:25:12+02:00", "external_app_id": "2a4a5f29-a74b-486e-b4b9-0d6a4254bd77", "arrived": false, "pin": "1234" } ]
getServiceClients(int $service_id, string $q = '', string $user_first_name_cont = '', string $user_last_name_cont = '', string $user_email_cont = '', int $page = null, int $per_page = null)
获取指定服务的客户列表。
参数
int $service_id
:服务ID。string $q
:(可选)搜索词。string $user_first_name_cont
: (可选) 在名字中搜索的词。string $user_last_name_cont
: (可选) 在姓氏中搜索的词。string $user_email_cont
: (可选) 在电子邮件中搜索的词。int $page
:(可选)页面编号。int $per_page
:(可选)每页的项目数。
返回值
string
: 包含客户列表的JSON字符串。
示例.
```json [ { "id": 1, "imported": false, "offline": false, "superclient": false, "blocked": false, "desc": false, "user": { "id": 1, "email": "john@doe.com", "first_name": "John", "last_name": "Doe", "title_front": "Mgr", "title_back": "Dis", "insurance_company_id": 1, "date_of_birth": "1980-01-01", "holder_id": "string", "phone": "777888999", "phone_code": "420", "locale": "cs", "no_emails": false, "avatar_url": "https://example.com/avatar.png" } } ]
postHoliday(array $data)
创建新的假日。
参数
array $data
: 创建假日的数据。
返回值
string
: 包含API响应的JSON字符串。
示例
{ "id": 1, "date": "2023-12-25", "description": "Christmas" }
deleteHoliday(int $service_id, int $holiday_id)
根据ID删除假日。
参数
int $service_id
:服务ID。int $holiday_id
: 假日ID。
返回值
string
: 包含API响应的JSON字符串。
示例
{ "message": "Holiday deleted successfully" }
deleteReservation(int $id)
根据ID删除预订。
参数
int $id
: 预订ID。
返回值
string
: 包含API响应的JSON字符串。
示例
{ "message": "Reservation deleted successfully" }
updateReservationTime(int $id, string $time)
更新预订时间。
参数
int $id
: 预订ID。string $time
: 新的预订时间(YYYY-MM-DDTHH:MM:SSZ)。
返回值
string
: 包含API响应的JSON字符串。
示例
{ "id": 1, "starts_at": "2023-12-25T10:00:00Z" }
联系
如果您有任何疑问或问题,可以联系我 [podpora@reservatic.com].