Line 84: |
Line 84: |
| ===Authentication=== | | ===Authentication=== |
| | | |
− | Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method <code>[[Authentication#getToken|getToken]]</code> API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the 'Plugins' link and select [[Plugins#API|API plugin]] 'Settings'. | + | Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method <code>[[Authentication#getToken|getToken]]</code> API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the 'Custom Features' link and select [[Custom_Features#API|API Custom Feature]] 'Settings'. |
| | | |
| == Methods == | | == Methods == |
Line 115: |
Line 115: |
| later in time than <code>$startDate</code> and <code>$startTime</code>. If your clients located in different time | | later in time than <code>$startDate</code> and <code>$startTime</code>. If your clients located in different time |
| zone you should specify <code>'client_time_offset'</code> value in <code>$clientData</code> object as difference | | zone you should specify <code>'client_time_offset'</code> value in <code>$clientData</code> object as difference |
− | between company's time zone and client's time zone in seconds. For example if company located in city with time | + | between client's time zone and company's time zone in minutes. For example if company located in city with time |
− | zone GMT+2 and customer located in city with GMT+3 then <code>$clientTimeOffset</code> will be -3600 seconds. You | + | zone GMT+2 and customer located in city with GMT+3 then <code>$clientTimeOffset</code> will be 60 minutes. You |
| can get information about company's time zone using <code>[[#getCompanyInfo|getCompanyInfo]]</code> API method. To | | can get information about company's time zone using <code>[[#getCompanyInfo|getCompanyInfo]]</code> API method. To |
| create batch booking you can specify either <code>count</code> more then 1 or valid <code>batchId</code> (only one | | create batch booking you can specify either <code>count</code> more then 1 or valid <code>batchId</code> (only one |
| parameter can be specified). You should specify an <code>$additionalFields</code> parameter if service requires | | parameter can be specified). You should specify an <code>$additionalFields</code> parameter if service requires |
− | some additional fields (see [[Plugins#Additional fields|Additional fields plugin]]). To create a booking with promo code you | + | some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]). To create a booking with promo code you |
| should pass it as additional field. For example: <code>{"name": "promocode", "value": "some code", "type": "text"}</code>See [[#book response|example]] of <code>book</code> API method response. | | should pass it as additional field. For example: <code>{"name": "promocode", "value": "some code", "type": "text"}</code>See [[#book response|example]] of <code>book</code> API method response. |
| | | |
| See also: | | See also: |
| | | |
− | * [http://wiki.simplybook.me/index.php/Settings#Timeframe Timeframe information] | + | * [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information] |
| | | |
| ---- | | ---- |
Line 236: |
Line 236: |
| ---- | | ---- |
| | | |
− | === confirmBookingPayment === | + | === confirmBookingPayment !Deprecated!=== |
| | | |
| <code>confirmBookingPayment($id, $paymentProcessor, $sign)</code> | | <code>confirmBookingPayment($id, $paymentProcessor, $sign)</code> |
Line 280: |
Line 280: |
| Returns Array. | | Returns Array. |
| | | |
− | Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location plugin. | + | Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with locations Custom feature. |
| Returns empty array if all units are not allowed. | | Returns empty array if all units are not allowed. |
| Eg.: <code>[1, 2, 3]</code> | | Eg.: <code>[1, 2, 3]</code> |
Line 297: |
Line 297: |
| Returns Array. | | Returns Array. |
| | | |
− | Return additional fields for certain event if [[Plugins#Additional_fields|Additional fields plugin]] is | + | Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom feature]] is |
| activated. Returns empty array otherwise. Call <code>[[#isPluginActivated|isPluginActivated('event_field')]]</code> | | activated. Returns empty array otherwise. Call <code>[[#isPluginActivated|isPluginActivated('event_field')]]</code> |
− | API method to check if 'event_field' plugin activated. | + | API method to check if 'event_field' Custom Feature activated. |
| | | |
| | | |
Line 311: |
Line 311: |
| Returns Object|null. | | Returns Object|null. |
| | | |
− | Returns information about [[Plugins#Any_Employee_selector|Any Employee selector plugin]] configuration. Returns | + | Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee Selector Custom Feature]] configuration. Returns |
− | null if plugin not enabled.Example: | + | null if Custom Feature not enabled.Example: |
| { | | { |
| "description" : "Select this option, if you want to find an available time with any of the employees", | | "description" : "Select this option, if you want to find an available time with any of the employees", |
Line 437: |
Line 437: |
| Returns Array. | | Returns Array. |
| | | |
− | Returns company categories list if [[Plugins#Service categories|Service categories plugin]] is activated. Returns | + | Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns |
− | an error with code -32001 if plugin is not activated. Use <code>[[#isPluginActivated|isPluginActivated('event_category')]]</code> | + | an error with code -32001 if Custom Feature is not activated. Use <code>[[#isPluginActivated|isPluginActivated('event_category')]]</code> |
− | API method to check if plugin activated. | + | API method to check if Custom Feature activated. |
| | | |
| | | |
Line 483: |
Line 483: |
| Returns Array. | | Returns Array. |
| | | |
− | Returns company config values for keys. A different set of keys available for public API and for company | + | Returns company's config values for specified keys as key-value map. For non-existent and not-allowed param keys |
− | administration API. Method return 'invalid params' error (code -32602) in case if access to specified key not | + | it will return '''false''' as result. A different set of keys available for public API and for company |
− | allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result
| + | administration API. See [[#Company_params|list of available keys]]. |
− | | |
| | | |
| ---- | | ---- |
Line 558: |
Line 557: |
| Returns Array. | | Returns Array. |
| | | |
− | Returns available locations for company if plugin [[Plugins#Unit location|Unit location plugin]] is activated. Return | + | Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return |
− | an error with code -32001 if plugin is not activated. Use <code>[[#isPluginActivated|isPluginActivated('location')]]</code> | + | an error with code -32001 if Custom Feature is not activated. Use <code>[[#isPluginActivated|isPluginActivated('location')]]</code> |
− | API method to check if plugin activated. | + | API method to check if Custom Feature activated. |
| | | |
| This method accepts two boolean flags as parameters. If '''isPublic''' flag is '''true''' then method returns only | | This method accepts two boolean flags as parameters. If '''isPublic''' flag is '''true''' then method returns only |
Line 583: |
Line 582: |
| ---- | | ---- |
| | | |
− | === getPluginPromoInfoByCode === | + | <!----=== getPluginPromoInfoByCode === |
| | | |
| <code>getPluginPromoInfoByCode($code)</code> | | <code>getPluginPromoInfoByCode($code)</code> |
Line 593: |
Line 592: |
| Returns Array. | | Returns Array. |
| | | |
− | Returns an object with detailed information about promotion by promotion code. You can get promotion code | + | Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code |
| using <code>[[Catalogue#getPromotionList|getPromotionList]]</code> API method. If promotion record with specified | | using <code>[[Catalogue#getPromotionList|getPromotionList]]</code> API method. If promotion record with specified |
− | code not found then method returns an empty array (an empty object). If [[Plugins#Simply Smart Promotions|Simply Smart Promotions plugin]] | + | code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] |
− | not enabled then method returns an error with code -32001 (Plugin is not activated). Use | + | not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use |
− | <code>[[#isPluginActivated|isPluginActivated('promo')]]</code> API method call to check if plugin enabled.See [[#getPromotionList response|example]] of <code>getPromotionList</code> API method response. Please note that | + | <code>[[#isPluginActivated|isPluginActivated('promo')]]</code> API method call to check if Custom Feature enabled.See [[#getPromotionList response|example]] of <code>getPromotionList</code> API method response. Please note that |
− | response contains a list of services for wich promotion discount can be applied (<code>service_ids</code> key). | + | response contains a list of services for wich promotion discount can be applied (<code>service_ids</code> key).--> |
| | | |
| | | |
Line 613: |
Line 612: |
| Returns Array. | | Returns Array. |
| | | |
− | Return plugin status true if status active, else false. See [[#Plugin's identifiers|list of available plugin's names]]. | + | Return Custom Feature status true if status active, else false. See [[Company_public_service_methods#Custom_Features.27_identifiers|list of available Custom Feature's names]]. |
| | | |
| | | |
Line 634: |
Line 633: |
| ---- | | ---- |
| | | |
− | === getPromotionRewardInfo === | + | <!---=== getPromotionRewardInfo === |
| | | |
| <code>getPromotionRewardInfo($commonPromotionId, $clientId, $hash)</code> | | <code>getPromotionRewardInfo($commonPromotionId, $clientId, $hash)</code> |
Line 648: |
Line 647: |
| Returns promotion reward by common promotion id, client id and hash. | | Returns promotion reward by common promotion id, client id and hash. |
| | | |
− | | + | --> |
| ---- | | ---- |
| | | |
Line 687: |
Line 686: |
| is an array of two objects. Both objects contains list of time slots for type <code>reserved_time</code> and type | | is an array of two objects. Both objects contains list of time slots for type <code>reserved_time</code> and type |
| <code>not_worked_time</code>. <code>reserved_time</code> type represents time slots working time but already booked | | <code>not_worked_time</code>. <code>reserved_time</code> type represents time slots working time but already booked |
− | by clients. Nobody knows what kind of data represented by <code>not_worked_time</code> type. Please don't use it.If [[Plugins#Google calendar sync plugin|Google calendar sync plugin]] enabled then object with | + | by clients. Nobody knows what kind of data represented by <code>not_worked_time</code> type. Please don't use it.If [[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature]] is enabled then object with |
| <code>reserved_time</code> type will contain not empty list of time slots marked as busy in Google calendar. Call | | <code>reserved_time</code> type will contain not empty list of time slots marked as busy in Google calendar. Call |
− | <code>[[#isPluginActivated|isPluginActivated('google_calendar_export')]]</code> API method to check if Google | + | <code>[[#isPluginActivated|isPluginActivated('google_calendar_export')]]</code> API method to check if Calendar Sync Custom Feature activated. |
− | calendar sync plugin activated.
| |
| | | |
| | | |
Line 756: |
Line 754: |
| Eg.: <code>{'2014-05-14': ['09:00:00', ...], ...}</code> | | Eg.: <code>{'2014-05-14': ['09:00:00', ...], ...}</code> |
| | | |
− | If locations plugin activated for company you should pass a list as $unitID parameter for filter results with | + | If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with |
− | units available only for selected location. See [[Plugins#Unit_location|Unit location]] plugin description for | + | units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple Locations]] Custom Feature description for |
| more details. | | more details. |
| | | |
Line 770: |
Line 768: |
| Returns Integer. | | Returns Integer. |
| | | |
− | Returns company's timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Settings#Timeframe|here]]. | + | Returns company's timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]]. |
| | | |
| | | |
Line 782: |
Line 780: |
| Returns String. | | Returns String. |
| | | |
− | Returns company timeline type | + | Returns company calendar layout type |
| | | |
| | | |
Line 812: |
Line 810: |
| Returns String. | | Returns String. |
| | | |
− | Returns user license text if user license plugin is turned on, | + | Returns user license text if user license Custom Feature is turned on, |
| otherwise throws exception | | otherwise throws exception |
| | | |
Line 891: |
Line 889: |
| Returns Boolean. | | Returns Boolean. |
| | | |
− | Return true if event payments plugin is turned on and prices were set,
| + | Returns true if [[Custom_Features#Accept_Payments|Accept Payments]] Custom Feature activated and event with specified id has |
− | else return false.
| + | configured price. If no parameters specified then method returns true if payments Custom Feature activated and at least |
− | | + | one event has configured price. Otherwise returns false. |
| | | |
| ---- | | ---- |
Line 907: |
Line 905: |
| Returns Boolean. | | Returns Boolean. |
| | | |
− | Return plugin status true if status active, else false. <var>$pluginName</var> parameter is a plugin identifier.See [[Plugins|plugins]] page for full plugins description. See [[#Plugin's identifiers|list of available plugin's names]]. | + | Return Custom Feature status true if status active, else false. <var>$pluginName</var> parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_public_service_methods#Custom_Features.27_identifiers|list of available Custom Features' names]]. |
| | | |
| | | |
Line 953: |
Line 951: |
| See [[Errors handling]] for details. | | See [[Errors handling]] for details. |
| | | |
− | * -32001 Plugin is not activated | + | * -32001 Custom Feature is not activated |
| * -32010 Some required params are missed | | * -32010 Some required params are missed |
| * -32011 Params is not array | | * -32011 Params is not array |
Line 975: |
Line 973: |
| * -32062 Client email value is wrong | | * -32062 Client email value is wrong |
| * -32063 Client phone value is wrong | | * -32063 Client phone value is wrong |
− | * -32070 Additional field values are wrong | + | * -32070 Intake forms values are wrong |
| * -32080 Appointemnt couldn't be found | | * -32080 Appointemnt couldn't be found |
| * -32085 Signature error | | * -32085 Signature error |
Line 993: |
Line 991: |
| ---- | | ---- |
| | | |
− | ====Company params====
| + | ===Company params=== |
| | | |
| Use these values to get configuration params for company with <code>[[#getCompanyParam|getCompanyParam]]</code> API method. | | Use these values to get configuration params for company with <code>[[#getCompanyParam|getCompanyParam]]</code> API method. |
| | | |
− | * allow_delay_payment
| + | =====General params===== |
| + | |
| * allow_event_breaktime_break | | * allow_event_breaktime_break |
| *: <code>true</code> if service can extend over breaktime | | *: <code>true</code> if service can extend over breaktime |
Line 1,006: |
Line 1,005: |
| * date_format | | * date_format |
| * fixed_country_prefix | | * fixed_country_prefix |
− | * hide_sale_tax
| |
| * max_group_bookings | | * max_group_bookings |
| + | *: [[Custom_Features#Group_Bookings|Group Bookings Custom Feature]] configuration. Integer. |
| * max_time_till_event | | * max_time_till_event |
| * min_time_till_event | | * min_time_till_event |
| * monday_is_first_day | | * monday_is_first_day |
| *: <code>true</code> if monday specified as first day of the week in company's settings | | *: <code>true</code> if monday specified as first day of the week in company's settings |
− | * payment_timeout
| |
| * require_fields | | * require_fields |
− | *: String. Client's data fields required for booking. Possible values: | + | *: Client's data fields required for booking. String. Possible values: |
| ** phone - phone number is required | | ** phone - phone number is required |
| ** email - email address is required | | ** email - email address is required |
| ** email_phone - phone number and email address are required | | ** email_phone - phone number and email address are required |
− | * sale_tax
| |
| * send_notifications_in_client_timezone | | * send_notifications_in_client_timezone |
| * show_booking_page_in_client_timezone | | * show_booking_page_in_client_timezone |
| * time_format | | * time_format |
| * timeframe | | * timeframe |
− | *: Returns company's timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes. You can find more details about timeframe [[Settings#Timeframe|here]] | + | *: Returns company's timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes. You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]] |
| * user_public_timeline_type | | * user_public_timeline_type |
| *: String. Can be one of the following values: | | *: String. Can be one of the following values: |
Line 1,033: |
Line 1,030: |
| ** classic | | ** classic |
| *: Please note that <code>classic</code> timeline type is deprecated and not supported anymore. | | *: Please note that <code>classic</code> timeline type is deprecated and not supported anymore. |
| + | |
| + | =====Accept Payments Custom Feature params===== |
| + | |
| + | Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]]. |
| + | |
| + | * allow_delay_payment |
| + | *: Allow delay payment option. Boolean. |
| + | * hide_sale_tax |
| + | *: Hide sales tax option. Boolean. |
| + | * payment_timeout |
| + | *: Payment timeout option. String ("5 minutes", "1 hour", ...) |
| + | * sale_tax |
| + | *: Sales tax option. Integer. You should divide by 100 to get percent value. |
| + | |
| + | =====Cancellation Policy Custom Feature params===== |
| + | |
| + | Read more about [[Custom_Features#Cancellation_Policy|Cancellation Policy Custom Feature configuration]]. |
| + | |
| + | * cancelation_policy_text |
| + | *: Full policy text. String. |
| + | * cancelation_policy_label |
| + | *: Short label for confirmation control. String. |
| + | * cancelation_policy_period |
| + | *: Time period value. String ("5 minutes", "1 hour", ...) |
| | | |
| ---- | | ---- |
| | | |
− | ====Plugin's identifiers==== | + | ====Custom Features' identifiers==== |
| | | |
− | Plugin identifier is a string constant which represents a plugin in system. These constants used in <code>[[#isPluginActivated|isPluginActivated]]</code> and <code>[[#getPluginStatuses|getPluginStatuses]]</code> API methods.
| + | Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in <code>[[#isPluginActivated|isPluginActivated]]</code> and <code>[[#getPluginStatuses|getPluginStatuses]]</code> API methods. |
| | | |
| * advanced_notification | | * advanced_notification |
− | *:Book Soon notification system plugin | + | *:Book Soon notification system |
| * any_unit | | * any_unit |
− | *:Any Employee selector plugin | + | *:Any Employee selector |
| * api | | * api |
− | *:API plugin | + | *:API |
| * approve_booking | | * approve_booking |
− | *:Approve booking plugin | + | *:Approve booking |
| * back_to_site | | * back_to_site |
− | *:Take me back home plugin | + | *:Take me back home |
| * contact_widget | | * contact_widget |
− | *:Contact widget plugin | + | *:Contact widget |
| * counter | | * counter |
− | *:Visitor Counter plugin | + | *:Visitor Counter |
| * custom_css | | * custom_css |
− | *:Custom CSS plugin | + | *:Custom CSS |
| * data_security | | * data_security |
− | *:Clean history plugin | + | *:Clean history |
| * description | | * description |
| *:HTML description field for events | | *:HTML description field for events |
| * event_category | | * event_category |
− | *:Service categories plugin | + | *:Service categories |
| * event_field | | * event_field |
− | *:Additional fields plugin | + | *:Intake forms |
| * facebookImage | | * facebookImage |
− | *:Facebook client info plugin | + | *:Facebook client info |
| * financial_dashboard | | * financial_dashboard |
− | *:Insights plugin | + | *:Insights |
| * google_analytics | | * google_analytics |
− | *:Google Adwords and analytics plugin | + | *:Google Adwords and analytics |
| * google_calendar_export | | * google_calendar_export |
− | *:Google calendar sync plugin | + | *:Calendar sync |
| * group_booking | | * group_booking |
− | *:Group bookings plugin | + | *:Group bookings |
| * hipaa | | * hipaa |
− | *:HIPAA plugin | + | *:HIPAA |
| * limit_bookings | | * limit_bookings |
− | *:Limit bookings plugin | + | *:Limit bookings |
| * location | | * location |
− | *:Unit location plugin | + | *:Multiple locations |
| * mobile_app_backend | | * mobile_app_backend |
− | *:Mobile application plugin | + | *:Mobile application |
| * multiple_booking | | * multiple_booking |
− | *:Multiple bookings plugin | + | *:Multiple bookings |
| * news | | * news |
− | *:News plugin | + | *:News |
| * paid_events | | * paid_events |
− | *:Accept payments plugin | + | *:Accept payments |
− | * promo | + | <!--* promo |
− | *:Simply Smart Promotions plugin | + | *:Rewards and Referrals--> |
| * recap | | * recap |
− | *:Daily report plugin | + | *:Daily report |
| * secure | | * secure |
− | *:SSL plugin | + | *:SSL |
| * status | | * status |
− | *:Status plugin | + | *:Status |
| * unit_colors | | * unit_colors |
− | *:Providers color coding plugin | + | *:Providers color coding |
| * user_license | | * user_license |
− | *:Terms and conditions plugin | + | *:Terms and conditions |
| * cancelation_policy | | * cancelation_policy |
| *:Cancellation Policy | | *:Cancellation Policy |
| | | |
− | See [[Plugins]] page for description for each plugin. | + | See [[Custom_Features|Custom Features]] page for description for each . |
| | | |
| ---- | | ---- |
Line 1,215: |
Line 1,236: |
| ---- | | ---- |
| | | |
− | ====getPluginPromoInfoByCode response==== | + | <!----====getPluginPromoInfoByCode response==== |
| | | |
| { | | { |
Line 1,242: |
Line 1,263: |
| } | | } |
| | | |
− | <code>service_ids</code> contains a list of services for wich promotion discount can be applied. | + | <code>service_ids</code> contains a list of services for wich promotion discount can be applied.--> |
| ---- | | ---- |
| | | |