Catalogue: Difference between revisions
No edit summary |
No edit summary |
||
| (2 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
<!--T:1--> | |||
{{#seo: | {{#seo: | ||
|title=Catalogue - SimplyBook.me | |title=Catalogue - SimplyBook.me | ||
|description=Learn | |description=Learn aPI methods for booking marketplace catalog. Search companies, services, promotions. Developer documentation for building booking directories and searc... | ||
|titlemode=append | |titlemode=append | ||
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url | |keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url | ||
| Line 10: | Line 11: | ||
<translate> | <translate> | ||
==General Information== <!--T:2--> | |||
<!--T:3--> | |||
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using JSON. A request is a call to a specific method provided by a remote system. It must contain three certain properties: | SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using JSON. A request is a call to a specific method provided by a remote system. It must contain three certain properties: | ||
<!--T:4--> | |||
* <code>jsonrpc</code> - a version of JSON-RPC protocol. Always <code>"2.0"</code> | * <code>jsonrpc</code> - a version of JSON-RPC protocol. Always <code>"2.0"</code> | ||
* <code>method</code> - A String with the name of the method to be invoked. | * <code>method</code> - A String with the name of the method to be invoked. | ||
| Line 19: | Line 23: | ||
* <code>id</code> - A value of any type, which is used to match the response with the request that it is replying to. | * <code>id</code> - A value of any type, which is used to match the response with the request that it is replying to. | ||
<!--T:5--> | |||
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below. | The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below. | ||
<!--T:6--> | |||
* <code>result</code> - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null. | * <code>result</code> - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null. | ||
* <code>error</code> - A specified error code if there was an error invoking the method, otherwise null. | * <code>error</code> - A specified error code if there was an error invoking the method, otherwise null. | ||
| Line 27: | Line 33: | ||
<translate> | <translate> | ||
<!--T:7--> | |||
Example | Example | ||
<!--T:8--> | |||
<pre> | <pre> | ||
Request | Request | ||
| Line 43: | Line 51: | ||
"1": { | "1": { | ||
"id": "1", | "id": "1", | ||
"name": " | "name": "Hourly photoshoot", | ||
"duration": "60", | "duration": "60", | ||
"hide_duration": "0", | "hide_duration": "0", | ||
"description": "<p> | "description": "<p>If you want to try yourself as a model but haven't decided on an image. <br /> 5-7 retouched and print-ready photos + the raw footage on a disc </p>", | ||
"picture": "a200edab10b669225e22d2b3803a38b5.jpg", | "picture": "a200edab10b669225e22d2b3803a38b5.jpg", | ||
"is_public": "1", | "is_public": "1", | ||
| Line 64: | Line 72: | ||
</pre> | </pre> | ||
<!--T:9--> | |||
All calls of public service methods should have additional HTTP header: | All calls of public service methods should have additional HTTP header: | ||
* <code>X-Token</code> an authentication token. See [[#Authentication|authentication]] section. | <!--T:10--> | ||
* <code>X-Token</code> an authentication token. See [[Catalogue#Authentication|authentication]] section. | |||
</translate> | </translate> | ||
<translate> | <translate> | ||
===Endpoint=== | ===Endpoint=== <!--T:11--> | ||
Use URL <code>https://user-api.simplybook.me/catalogue</code> for all service API calls listed in [[#Methods|methods section]]. | <!--T:12--> | ||
Use URL <code>https://user-api.simplybook.me/catalogue</code> for all service API calls listed in [[Catalogue#Methods|methods section]]. | |||
===Authentication=== | ===Authentication=== <!--T:13--> | ||
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#getUserToken|getUserToken]]</code> or <code>[[Authentication#getToken|getToken]]</code> API methods 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 [[ | <!--T:14--> | ||
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#getUserToken|getUserToken]]</code> or <code>[[Authentication#getToken|getToken]]</code> API methods 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 == <!--T:15--> | ||
=== getCategories === | === getCategories === <!--T:16--> | ||
<!--T:17--> | |||
<code>getCategories()</code> | <code>getCategories()</code> | ||
<!--T:18--> | |||
No arguments. | No arguments. | ||
Returns Array. | Returns Array. | ||
<!--T:19--> | |||
Get lsit of ALL categories | Get lsit of ALL categories | ||
</translate> | </translate> | ||
| Line 92: | Line 107: | ||
---- | ---- | ||
<translate> | <translate> | ||
=== getCities === | === getCities === <!--T:20--> | ||
<!--T:21--> | |||
<code>getCities($country)</code> | <code>getCities($country)</code> | ||
<!--T:22--> | |||
Parameters: | Parameters: | ||
<!--T:23--> | |||
* '''$country''' String | * '''$country''' String | ||
<!--T:24--> | |||
Returns Array. | Returns Array. | ||
<!--T:25--> | |||
Returns city list as Array order by name | Returns city list as Array order by name | ||
</translate> | </translate> | ||
| Line 107: | Line 127: | ||
---- | ---- | ||
<translate> | <translate> | ||
=== getCompanyCount === | === getCompanyCount === <!--T:26--> | ||
<!--T:27--> | |||
<code>getCompanyCount($filter)</code> | <code>getCompanyCount($filter)</code> | ||
<!--T:28--> | |||
Parameters: | Parameters: | ||
<!--T:29--> | |||
* '''$filter''' Object - filter object | * '''$filter''' Object - filter object | ||
<!--T:30--> | |||
Returns array. | Returns array. | ||
<!--T:31--> | |||
Returns total companies count with specified filter$filter filter params. Object that contains following params | Returns total companies count with specified filter$filter filter params. Object that contains following params | ||
<pre> | <pre> | ||
| Line 140: | Line 165: | ||
---- | ---- | ||
<translate> | <translate> | ||
=== getCompanyInfo === | === getCompanyInfo === <!--T:32--> | ||
<!--T:33--> | |||
<code>getCompanyInfo($login)</code> | <code>getCompanyInfo($login)</code> | ||
<!--T:34--> | |||
Parameters: | Parameters: | ||
<!--T:35--> | |||
* '''$login''' String | * '''$login''' String | ||
<!--T:36--> | |||
Returns Object. | Returns Object. | ||
<!--T:37--> | |||
Returns company information by company login | Returns company information by company login | ||
| Line 155: | Line 185: | ||
---- | ---- | ||
<translate> | <translate> | ||
=== getCompanyList === | === getCompanyList === <!--T:38--> | ||
<!--T:39--> | |||
<code>getCompanyList($filter, $from, $limit)</code> | <code>getCompanyList($filter, $from, $limit)</code> | ||
<!--T:40--> | |||
Parameters: | Parameters: | ||
<!--T:41--> | |||
* '''$filter''' Object - filter object | * '''$filter''' Object - filter object | ||
* '''$from''' Integer - from position | * '''$from''' Integer - from position | ||
* '''$limit''' Integer - rows limit | * '''$limit''' Integer - rows limit | ||
<!--T:42--> | |||
Returns array. | Returns array. | ||
<!--T:43--> | |||
Returns companies list$filter filter params. Object that contains following params | Returns companies list$filter filter params. Object that contains following params | ||
<pre> | <pre> | ||
| Line 190: | Line 225: | ||
---- | ---- | ||
<translate> | <translate> | ||
=== getCompanyMarkers === | === getCompanyMarkers === <!--T:44--> | ||
<!--T:45--> | |||
<code>getCompanyMarkers($filter, $bounds, $zoom, $clustering)</code> | <code>getCompanyMarkers($filter, $bounds, $zoom, $clustering)</code> | ||
<!--T:46--> | |||
Parameters: | Parameters: | ||
<!--T:47--> | |||
* '''$filter''' Object - filter object | * '''$filter''' Object - filter object | ||
* '''$bounds''' | * '''$bounds''' | ||
| Line 201: | Line 239: | ||
* '''$clustering''' | * '''$clustering''' | ||
<!--T:48--> | |||
Returns array. | Returns array. | ||
<!--T:49--> | |||
Returns company markers$filter filter params. Object that contains following params | Returns company markers$filter filter params. Object that contains following params | ||
<pre> | <pre> | ||
| Line 226: | Line 266: | ||
---- | ---- | ||
<translate> | <translate> | ||
=== getCompanyReviews === | === getCompanyReviews === <!--T:50--> | ||
<!--T:51--> | |||
<code>getCompanyReviews($login)</code> | <code>getCompanyReviews($login)</code> | ||
<!--T:52--> | |||
Parameters: | Parameters: | ||
<!--T:53--> | |||
* '''$login''' String | * '''$login''' String | ||
<!--T:54--> | |||
Returns Object. | Returns Object. | ||
<!--T:55--> | |||
Returns company reviews list | Returns company reviews list | ||
| Line 243: | Line 288: | ||
<translate> | <translate> | ||
=== getCountries === | === getCountries === <!--T:56--> | ||
<!--T:57--> | |||
<code>getCountries()</code> | <code>getCountries()</code> | ||
<!--T:58--> | |||
No arguments. | No arguments. | ||
Returns Array. | Returns Array. | ||
<!--T:59--> | |||
Returns country list as Array order by name | Returns country list as Array order by name | ||
| Line 257: | Line 305: | ||
<translate> | <translate> | ||
=== getFeedbackList === | === getFeedbackList === <!--T:60--> | ||
<!--T:61--> | |||
<code>getFeedbackList()</code> | <code>getFeedbackList()</code> | ||
<!--T:62--> | |||
No arguments. | No arguments. | ||
Returns Array. | Returns Array. | ||
<!--T:63--> | |||
Get lsit of ALL simplybook feedbacks | Get lsit of ALL simplybook feedbacks | ||
| Line 271: | Line 322: | ||
<translate> | <translate> | ||
=== getPromotionCount === | === getPromotionCount === <!--T:64--> | ||
<!--T:65--> | |||
<code>getPromotionCount($filter)</code> | <code>getPromotionCount($filter)</code> | ||
<!--T:66--> | |||
Parameters: | Parameters: | ||
<!--T:67--> | |||
* '''$filter''' Object - filter object | * '''$filter''' Object - filter object | ||
<!--T:68--> | |||
Returns array. | Returns array. | ||
<!--T:69--> | |||
Returns total active promotions count with specified filter$filter filter params. Object that contains following params | Returns total active promotions count with specified filter$filter filter params. Object that contains following params | ||
<pre> | <pre> | ||
| Line 306: | Line 362: | ||
<translate> | <translate> | ||
=== getPromotionInfo === | === getPromotionInfo === <!--T:70--> | ||
<!--T:71--> | |||
<code>getPromotionInfo($id, $feedbackFrom, $feedbackCount)</code> | <code>getPromotionInfo($id, $feedbackFrom, $feedbackCount)</code> | ||
<!--T:72--> | |||
Parameters: | Parameters: | ||
<!--T:73--> | |||
* '''$id''' Integer | * '''$id''' Integer | ||
* '''$feedbackFrom''' Integer = 0 | * '''$feedbackFrom''' Integer = 0 | ||
* '''$feedbackCount''' Integer = 100 | * '''$feedbackCount''' Integer = 100 | ||
<!--T:74--> | |||
Returns Object. | Returns Object. | ||
<!--T:75--> | |||
Returns promotion information by id | Returns promotion information by id | ||
| Line 325: | Line 386: | ||
<translate> | <translate> | ||
=== getPromotionList === | === getPromotionList === <!--T:76--> | ||
<!--T:77--> | |||
<code>getPromotionList($filter, $from, $limit)</code> | <code>getPromotionList($filter, $from, $limit)</code> | ||
<!--T:78--> | |||
Parameters: | Parameters: | ||
<!--T:79--> | |||
* '''$filter''' Object - filter object | * '''$filter''' Object - filter object | ||
* '''$from''' Integer - from position | * '''$from''' Integer - from position | ||
* '''$limit''' Integer - rows limit | * '''$limit''' Integer - rows limit | ||
<!--T:80--> | |||
Returns array. | Returns array. | ||
<!--T:81--> | |||
Returns active promotion list$filter filter params. Object that contains following params | Returns active promotion list$filter filter params. Object that contains following params | ||
<pre> | <pre> | ||
| Line 361: | Line 427: | ||
<translate> | <translate> | ||
=== getPromotionListByIds === | === getPromotionListByIds === <!--T:82--> | ||
<!--T:83--> | |||
<code>getPromotionListByIds($ids)</code> | <code>getPromotionListByIds($ids)</code> | ||
<!--T:84--> | |||
Parameters: | Parameters: | ||
<!--T:85--> | |||
* '''$ids''' | * '''$ids''' | ||
<!--T:86--> | |||
Returns array. | Returns array. | ||
<!--T:87--> | |||
Returns active promotion list | Returns active promotion list | ||
| Line 377: | Line 448: | ||
<translate> | <translate> | ||
=== getPromotionReviews === | === getPromotionReviews === <!--T:88--> | ||
<!--T:89--> | |||
<code>getPromotionReviews($promotionId)</code> | <code>getPromotionReviews($promotionId)</code> | ||
<!--T:90--> | |||
Parameters: | Parameters: | ||
<!--T:91--> | |||
* '''$promotionId''' Integer | * '''$promotionId''' Integer | ||
<!--T:92--> | |||
Returns Object. | Returns Object. | ||
<!--T:93--> | |||
Returns promotion reviews list | Returns promotion reviews list | ||
| Line 393: | Line 469: | ||
<translate> | <translate> | ||
=== getRecentCompanies === | === getRecentCompanies === <!--T:94--> | ||
<!--T:95--> | |||
<code>getRecentCompanies($count)</code> | <code>getRecentCompanies($count)</code> | ||
<!--T:96--> | |||
Parameters: | Parameters: | ||
<!--T:97--> | |||
* '''$count''' Integer | * '''$count''' Integer | ||
<!--T:98--> | |||
Returns Array. | Returns Array. | ||
<!--T:99--> | |||
Returns list of companies ordered by date DESC | Returns list of companies ordered by date DESC | ||
| Line 409: | Line 490: | ||
<translate> | <translate> | ||
=== getRecentFeedbacks === | === getRecentFeedbacks === <!--T:100--> | ||
<!--T:101--> | |||
<code>getRecentFeedbacks($count)</code> | <code>getRecentFeedbacks($count)</code> | ||
<!--T:102--> | |||
Parameters: | Parameters: | ||
<!--T:103--> | |||
* '''$count''' Integer | * '''$count''' Integer | ||
<!--T:104--> | |||
Returns Array. | Returns Array. | ||
<!--T:105--> | |||
Returns list of feedbacs ordered by date DESC | Returns list of feedbacs ordered by date DESC | ||
| Line 425: | Line 511: | ||
<translate> | <translate> | ||
=== getRecentPromotions === | === getRecentPromotions === <!--T:106--> | ||
<!--T:107--> | |||
<code>getRecentPromotions($count)</code> | <code>getRecentPromotions($count)</code> | ||
<!--T:108--> | |||
Parameters: | Parameters: | ||
<!--T:109--> | |||
* '''$count''' Integer | * '''$count''' Integer | ||
<!--T:110--> | |||
Returns Array. | Returns Array. | ||
<!--T:111--> | |||
Returns list of promotions ordered by date DESC | Returns list of promotions ordered by date DESC | ||
| Line 441: | Line 532: | ||
<translate> | <translate> | ||
=== getRelatedPromotions === | === getRelatedPromotions === <!--T:112--> | ||
<!--T:113--> | |||
<code>getRelatedPromotions($id, $count)</code> | <code>getRelatedPromotions($id, $count)</code> | ||
<!--T:114--> | |||
Parameters: | Parameters: | ||
<!--T:115--> | |||
* '''$id''' Integer | * '''$id''' Integer | ||
* '''$count''' Integer = 10 | * '''$count''' Integer = 10 | ||
<!--T:116--> | |||
Returns Array. | Returns Array. | ||
<!--T:117--> | |||
Returns related promotions by given promotion id | Returns related promotions by given promotion id | ||
| Line 458: | Line 554: | ||
<translate> | <translate> | ||
=== getTags === | === getTags === <!--T:118--> | ||
<!--T:119--> | |||
<code>getTags($filter)</code> | <code>getTags($filter)</code> | ||
<!--T:120--> | |||
Parameters: | Parameters: | ||
<!--T:121--> | |||
* '''$filter''' Object - filter object | * '''$filter''' Object - filter object | ||
<!--T:122--> | |||
Returns Array. | Returns Array. | ||
<!--T:123--> | |||
Returns tags list$filter filter params. Object that contains following params | Returns tags list$filter filter params. Object that contains following params | ||
<pre> | <pre> | ||
| Line 481: | Line 582: | ||
<translate> | <translate> | ||
=== getTopCities === | === getTopCities === <!--T:124--> | ||
<!--T:125--> | |||
<code>getTopCities()</code> | <code>getTopCities()</code> | ||
<!--T:126--> | |||
No arguments. | No arguments. | ||
Returns Array. | Returns Array. | ||
<!--T:127--> | |||
Returns city list as Array order by company count in city | Returns city list as Array order by company count in city | ||
| Line 494: | Line 598: | ||
<translate> | <translate> | ||
=== getTopCountries === | === getTopCountries === <!--T:128--> | ||
<!--T:129--> | |||
<code>getTopCountries()</code> | <code>getTopCountries()</code> | ||
<!--T:130--> | |||
No arguments. | No arguments. | ||
Returns Array. | Returns Array. | ||
<!--T:131--> | |||
Returns country list as Array order by company count in country | Returns country list as Array order by company count in country | ||
</translate> | </translate> | ||