Changes

no edit summary
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.This method accepts two boolean flags as parameters. If '''isPublic''' flag is '''true''' then method returns only
+
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
 
public locations. If '''asArray''' flag is '''true''' method returns list of objects. Otherwise method returns
 
public locations. If '''asArray''' flag is '''true''' method returns list of objects. Otherwise method returns
 
map of objects with object id as key. You can omit both parameters.
 
map of objects with object id as key. You can omit both parameters.
      
----
 
----
Line 582: Line 582:  
----
 
----
   −
=== getPluginPromoInfoByCode ===
+
<!----=== getPluginPromoInfoByCode ===
    
<code>getPluginPromoInfoByCode($code)</code>
 
<code>getPluginPromoInfoByCode($code)</code>
Line 592: 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 612: 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 633: Line 633:  
----
 
----
   −
=== getPromotionRewardInfo ===
+
<!---=== getPromotionRewardInfo ===
    
<code>getPromotionRewardInfo($commonPromotionId, $clientId, $hash)</code>
 
<code>getPromotionRewardInfo($commonPromotionId, $clientId, $hash)</code>
Line 647: 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 686: 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 755: 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 769: 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 781: Line 780:  
Returns String.
 
Returns String.
   −
Returns company timeline type
+
Returns company calendar layout type
      Line 811: 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 890: 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 906: 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 952: 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 974: 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 992: 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,005: 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,032: 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
 +
*:Cancellation Policy
   −
See [[Plugins]] page for description for each plugin.
+
See [[Custom_Features|Custom Features]] page for description for each .
    
----
 
----
Line 1,212: Line 1,236:  
----
 
----
   −
====getPluginPromoInfoByCode response====
+
<!----====getPluginPromoInfoByCode response====
    
   {
 
   {
Line 1,239: 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.-->
 
----
 
----