Catalogue: Difference between revisions

From SimplyBook.me
No edit summary
Marked this version for translation
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:1-->
{{#seo:
{{#seo:
|title=Catalogue - SimplyBook.me
|title=Catalogue - SimplyBook.me
Line 10: Line 11:


<translate>
<translate>
==General Information==
==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 22:
* <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 32:


<translate>
<translate>
<!--T:7-->
Example
Example


<!--T:8-->
<pre>
<pre>
   Request
   Request
Line 64: Line 71:
</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:


<!--T:10-->
* <code>X-Token</code> an authentication token. See [[#Authentication|authentication]] section.
* <code>X-Token</code> an authentication token. See [[#Authentication|authentication]] section.
</translate>
</translate>


<translate>
<translate>
===Endpoint===
===Endpoint=== <!--T:11-->


<!--T:12-->
Use URL <code>https://user-api.simplybook.me/catalogue</code> for all service API calls listed in [[#Methods|methods section]].
Use URL <code>https://user-api.simplybook.me/catalogue</code> for all service API calls listed in [[#Methods|methods section]].


===Authentication===
===Authentication=== <!--T:13-->


<!--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'.  
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 106:
----
----
<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 126:
----
----
<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 164:
----
----
<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 184:
----
----
<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 224:
----
----
<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 238:
* '''$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 265:
----
----
<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 287:
<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 304:
<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 321:
<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 361:
<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 385:
<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 426:
<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 447:
<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 468:
<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 489:
<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 510:
<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 531:
<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 553:
<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 581:
<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 597:
<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>

Revision as of 13:18, 15 May 2025

General Information

SimplyBook.me API service build on 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:

  • jsonrpc - a version of JSON-RPC protocol. Always "2.0"
  • method - A String with the name of the method to be invoked.
  • params - An Array of objects to be passed as parameters to the defined method.
  • id - A value of any type, which is used to match the response with the request that it is replying to.

The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.

  • result - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.
  • error - A specified error code if there was an error invoking the method, otherwise null.
  • id - The id of the request it is responding to.

Example

  Request
  {
    "jsonrpc": "2.0",
    "method": "getEventList",
    "params":[],
    "id":1
  }
  
  Response
  {
    "result": {
        "1": {
            "id": "1",
            "name": "Часовая фотосесcия",
            "duration": "60",
            "hide_duration": "0",
            "description": "<p>Если Вы хотите попробовать себя в роли модели, но не определились с образом. <br /> 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске</p>",
            "picture": "a200edab10b669225e22d2b3803a38b5.jpg",
            "is_public": "1",
            "is_active": "1",
            "position": "0",
            "is_recurring": "0",
            "picture_path": "/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg",
            "price": "300.0000",
            "currency": "UAH",
            "categories": ["1"]
        },
        ...
    },
    "id": "1",
    "jsonrpc": "2.0"
  }

All calls of public service methods should have additional HTTP header:

Endpoint

Use URL https://user-api.simplybook.me/catalogue for all service API calls listed in methods section.

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 getUserToken or getToken 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 API Custom Feature 'Settings'.

Methods

getCategories

getCategories()

No arguments. Returns Array.

Get lsit of ALL categories


getCities

getCities($country)

Parameters:

  • $country String

Returns Array.

Returns city list as Array order by name


getCompanyCount

getCompanyCount($filter)

Parameters:

  • $filter Object - filter object

Returns array.

Returns total companies count with specified filter$filter filter params. Object that contains following params

'search_string': String,
'service_name': String,
'company_name': String,
'company_address': String,
'tag_ids': [Integer, Integer, ...],
'tags': String,
'country_id': String,
'city_id': String,
'nearby': {
    'radius': Integer,
    'center': {
       'lat': Number,
       'lng': NUmber
    }
}

Use tag_ids OR tags


getCompanyInfo

getCompanyInfo($login)

Parameters:

  • $login String

Returns Object.

Returns company information by company login


getCompanyList

getCompanyList($filter, $from, $limit)

Parameters:

  • $filter Object - filter object
  • $from Integer - from position
  • $limit Integer - rows limit

Returns array.

Returns companies list$filter filter params. Object that contains following params

'search_string': String,
'service_name': String,
'company_name': String,
'company_address': String,
'tag_ids': [Integer, Integer, ...],
'tags': String,
'country_id': String,
'city_id': String,
'nearby': {
    'radius': Integer,
    'center': {
       'lat': Number,
       'lng': NUmber
    }
}

Use tag_ids OR tags


getCompanyMarkers

getCompanyMarkers($filter, $bounds, $zoom, $clustering)

Parameters:

  • $filter Object - filter object
  • $bounds
  • $zoom
  • $clustering

Returns array.

Returns company markers$filter filter params. Object that contains following params

'search_string': String,
'service_name': String,
'company_name': String,
'company_address': String,
'tag_ids': [Integer, Integer, ...],
'tags': String,
'country_id': String,
'city_id': String,
'nearby': {
    'radius': Integer,
    'center': {
       'lat': Number,
       'lng': NUmber
    }
}

Use tag_ids OR tags


getCompanyReviews

getCompanyReviews($login)

Parameters:

  • $login String

Returns Object.

Returns company reviews list



getCountries

getCountries()

No arguments. Returns Array.

Returns country list as Array order by name



getFeedbackList

getFeedbackList()

No arguments. Returns Array.

Get lsit of ALL simplybook feedbacks



getPromotionCount

getPromotionCount($filter)

Parameters:

  • $filter Object - filter object

Returns array.

Returns total active promotions count with specified filter$filter filter params. Object that contains following params

'search_string': String,
'service_name': String,
'company_name': String,
'company_address': String,
'tag_ids': [Integer, Integer, ...],
'tags': String,
'country_id': String,
'city_id': String,
'nearby': {
    'radius': Integer,
    'center': {
       'lat': Number,
       'lng': NUmber
    }
}

Use tag_ids OR tags



getPromotionInfo

getPromotionInfo($id, $feedbackFrom, $feedbackCount)

Parameters:

  • $id Integer
  • $feedbackFrom Integer = 0
  • $feedbackCount Integer = 100

Returns Object.

Returns promotion information by id



getPromotionList

getPromotionList($filter, $from, $limit)

Parameters:

  • $filter Object - filter object
  • $from Integer - from position
  • $limit Integer - rows limit

Returns array.

Returns active promotion list$filter filter params. Object that contains following params

'search_string': String,
'service_name': String,
'company_name': String,
'company_address': String,
'tag_ids': [Integer, Integer, ...],
'tags': String,
'country_id': String,
'city_id': String,
'nearby': {
    'radius': Integer,
    'center': {
       'lat': Number,
       'lng': NUmber
    }
}

Use tag_ids OR tags


getPromotionListByIds

getPromotionListByIds($ids)

Parameters:

  • $ids

Returns array.

Returns active promotion list


getPromotionReviews

getPromotionReviews($promotionId)

Parameters:

  • $promotionId Integer

Returns Object.

Returns promotion reviews list


getRecentCompanies

getRecentCompanies($count)

Parameters:

  • $count Integer

Returns Array.

Returns list of companies ordered by date DESC


getRecentFeedbacks

getRecentFeedbacks($count)

Parameters:

  • $count Integer

Returns Array.

Returns list of feedbacs ordered by date DESC


getRecentPromotions

getRecentPromotions($count)

Parameters:

  • $count Integer

Returns Array.

Returns list of promotions ordered by date DESC


getRelatedPromotions

getRelatedPromotions($id, $count)

Parameters:

  • $id Integer
  • $count Integer = 10

Returns Array.

Returns related promotions by given promotion id


getTags

getTags($filter)

Parameters:

  • $filter Object - filter object

Returns Array.

Returns tags list$filter filter params. Object that contains following params

'tag_ids': [Integer, Integer, ...],
'tags': String,
'country_id': String,
'city_id': String

Use tag_ids OR tags


getTopCities

getTopCities()

No arguments. Returns Array.

Returns city list as Array order by company count in city


getTopCountries

getTopCountries()

No arguments. Returns Array.

Returns country list as Array order by company count in country