Catalogue: Difference between revisions

No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:1-->
{{#seo:
{{#seo:
|title=Catalogue - SimplyBook.me
|title=Catalogue - SimplyBook.me
Line 9: Line 10:
</translate>
</translate>


==General Information==
<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 18: 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.
* <code>id</code> - The id of the request it is responding to.
* <code>id</code> - The id of the request it is responding to.
</translate>


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


<!--T:8-->
<pre>
<pre>
   Request
   Request
Line 40: Line 51:
         "1": {
         "1": {
             "id": "1",
             "id": "1",
             "name": "Часовая фотосесcия",
             "name": "Hourly photoshoot",
             "duration": "60",
             "duration": "60",
             "hide_duration": "0",
             "hide_duration": "0",
             "description": "<p>Если Вы хотите попробовать себя в роли модели, но не определились с образом. <br /> 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске</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 61: 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>


===Endpoint===
<translate>
===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 [[Custom_Features#API|API Custom Feature]] 'Settings'.  
<!--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>
=== getCities === <!--T:20-->


=== getCities ===
<!--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>
=== getCompanyCount === <!--T:26-->


=== getCompanyCount ===
<!--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 131: Line 161:
</pre>
</pre>
Use tag_ids OR tags
Use tag_ids OR tags
 
</translate>


----
----
<translate>
=== getCompanyInfo === <!--T:32-->


=== getCompanyInfo ===
<!--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


 
</translate>
----
----
<translate>
=== getCompanyList === <!--T:38-->


=== getCompanyList ===
<!--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 181: Line 221:
</pre>
</pre>
Use tag_ids OR tags
Use tag_ids OR tags
 
</translate>


----
----
<translate>
=== getCompanyMarkers === <!--T:44-->


=== getCompanyMarkers ===
<!--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 196: 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 218: Line 263:
Use tag_ids OR tags
Use tag_ids OR tags


 
</translate>
----
----
<translate>
=== getCompanyReviews === <!--T:50-->


=== getCompanyReviews ===
<!--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




</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




</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




</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 291: Line 358:




</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




</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 342: Line 423:
Use tag_ids OR tags
Use tag_ids OR tags


 
</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


 
</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


 
</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


 
</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


 
</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


 
</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


 
</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 455: Line 578:
Use tag_ids OR tags
Use tag_ids OR tags


 
</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


 
</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>
 
----