vasylisa / mindbody-api
PHP库,用于与Mindbody Online API交互
1.0.1
2018-11-15 21:02 UTC
Requires
- ext-soap: *
Requires (Dev)
- phpunit/phpunit: 3.7.*@stable
This package is auto-updated.
Last update: 2024-09-16 20:04:39 UTC
README
此库提供一组PHP类,允许用户以相对简单的方式与Mindbody SOAP API 0.5.1进行接口交互。
API的主要文档可通过API门户获取。
准备
在您可以使用此库之前,您需要从Mindbody获取一组API凭据。
此外,您还需要知道您的站点ID。您的API凭据必须通过SiteService::GetActivationCode方法授权您的站点ID,或者使用Web表单(需要开发者认证)。
API沙盒信息可在API常见问题解答中找到。您可以使用用户名Siteowner和密码apitest1234的[Sandbox账户](https://clients.mindbodyonline.com/ASP/adm/home .asp?studioid=-99)。
当然,此库需要安装并启用PHP安装中的SOAP扩展,并且必须启用allow_url_fopen。
安装
最简单的安装方法是通过Composer。只需将vasylisa/mindbody-api包作为依赖项添加到您的项目中并更新项目。
或者,您可以直接从GitHub克隆此项目。
此库支持PSR-0自动加载,但您需要将MindbodyAPI命名空间注册为位于库的根目录,而不是供应商前缀。
基本用法
以下是一个关于Site Service类的非常基本的用法示例,它应该会打印出与您指定的站点相关联的完整信息列表。
<?php require 'vendor/autoload.php'; $service = MindbodyAPI\MindbodyClient::service('SiteService'); $credentials = $service::credentials( 'YourSourceName', 'YourPassword', [ -99 // Your Site ID(s) ] ); $request = $service::request('GetLocations', $credentials); $locations = $service->GetLocations($request); var_dump($locations);
<?php require 'vendor/autoload.php'; $service = MindbodyAPI\MindbodyClient::service('AppointmentService'); $credentials = $service::credentials( 'YourSourceName', 'YourPassword', [ -99 // Your Site ID(s) ] ); $userCredentials = $service::userCredentials( 'Siteowner', 'apitest1234', [ -99 // Your Site ID(s) ] ); $request = $service::request('AddOrUpdateAppointments', $credentials, $userCredentials); $appointment = $service::structure('Appointment', [ 'Location' => $service::structure('Location', ['ID' => $locationId]), 'Staff' => $service::structure('Staff', ['ID' => $staffId]), 'Client' => $service::structure('Client', ['ID' => $clientId]), 'SessionType' => $service::structure('SessionType', ['ID' => $sessionTypeId]), 'StartDateTime' => $date->format('Y-m-d\TH:i:s'), ]); $request->Request->UpdateAction = $appointment->ID ? 'Update' : 'AddNew'; $request->Request->Appointments = [$appointment]; $response = $service->AddOrUpdateAppointments($request);
<?php require 'vendor/autoload.php'; $service = MindbodyAPI\MindbodyClient::service('AppointmentService'); $credentials = $service::credentials( 'YourSourceName', 'YourPassword', [ -99 // Your Site ID(s) ] ); $request = $service::request('GetStaffAppointments', $credentials); $request->Request->StaffCredentials = $service::staffCredentials( 'Siteowner', 'apitest1234', [ -99 // Your Site ID(s) ] ); $request->Request->StaffIDs = $staffID; $request->Request->ClientIDs = $clientIDs; $request->Request->AppointmentIDs = $appointmentIDs; $request->Request->LocationIDs = $locationIDs; $request->Request->StartDate = $startDate ? $startDate->format('Y-m-d\TH:i:s') : null; $request->Request->EndDate = $endDate ? $endDate->format('Y-m-d\TH:i:s') : null; $response = $service->GetStaffAppointments($request);