User Tools

Site Tools


ors-soap-api:public:json_api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ors-soap-api:public:json_api [2017/12/13 15:32]
admin created
ors-soap-api:public:json_api [2023/03/08 12:42]
admin
Line 3: Line 3:
 You can now also use our new JSON API. It is very similar to SOAP request, but you don't need SOAP client anymore, instead you can simply send JSON requests to our API url. You can now also use our new JSON API. It is very similar to SOAP request, but you don't need SOAP client anymore, instead you can simply send JSON requests to our API url.
  
 +**Post URL:** [[http://​api.ors.si/​crs/​json]]
  
 +===== PHP Example =====
 +
 +# JSON search region request example
 +
 +<code json>
 +{
 +  "​requestType":"​search",​
 +  "​action":"​regions",​
 +  "​search":​{
 +    "​typ":"​hotel",​
 +    "​vnd":"​2018-01-10",​
 +    "​bsd":"​2018-03-10",​
 +    "​tdc":"​1-5",​
 +    "​epc":"​2"​
 +  },
 +  "​top":​{
 +    "​toc":"​FTI",​
 +    "​stc":"​3"​
 +  },
 +  "​header":​{
 +    "​lang":"​[lang-code]",​
 +    "​usr":"​[username]",​
 +    "​pass":"​[password]",​
 +    "​agid":"​[agency-id]"​
 +    "​api-key":"​[your-api-key]"​
 +  }
 +}
 +</​code>​
 +
 +<code php>
 +// PHP cURL post example
 +
 +$data_string = '​json-request-string';​
 +                                                                                                                     
 +$ch = curl_init('​http://​api.ors.si/​crs/​json'​);​
 +curl_setopt($ch,​ CURLOPT_CUSTOMREQUEST,​ "​POST"​); ​                                                                    
 +curl_setopt($ch,​ CURLOPT_POSTFIELDS,​ $data_string); ​                                                                 ​
 +curl_setopt($ch,​ CURLOPT_RETURNTRANSFER,​ true); ​                                                                     ​
 +curl_setopt($ch,​ CURLOPT_HTTPHEADER,​ array( ​                                                                         ​
 +    '​Content-Type:​ application/​json;​charset=utf-8', ​                                                                               ​
 +    '​Content-Length:​ ' . strlen($data_string)) ​                                                                      
 +);                                                                                                                   
 +                                                                                                                     
 +$result = curl_exec($ch);​
 +echo $result;
 +</​code>​
 +
 +===== Online Tester =====
 +
 +You can also use this online tester to test your requests:
 +
 +[[http://​api.ors.si/​test/​]]
 +
 +===== Requests =====
 +
 +Each basic request consist of the following attributes:
 +
 +^ Name ^ Description ^ Example ^
 +| requestType | a type of request | search |
 +| action | which action to take (same name as SOAP methods) | regions |
 +| search | search parameters | "​epc":"​2",​ "​typ":"​hotel",​ ...|
 +| header | [[soap_header]] | check example below |
 +
 +
 +
 +There are 4 types of **requestType** available:
 +
 +  * search : for searching regions, offers and trips
 +  * info   : to get object descriptions and flight information,​
 +  * check  : for availability request,
 +  * book   : to create registrations,​ booking, cancellations
 +
 +So fo example if you wish to search for hotels in a selected region, you create request like so:
 +
 +<code json>
 +{
 +  "​requestType":"​search",​
 +  "​action":"​offers",​
 +  "​search":​{
 +    "​typ":"​hotel",​
 +    "​vnd":"​2018-01-10",​
 +    "​bsd":"​2018-03-10",​
 +    "​tdc":"​1-5",​
 +    "​rgcs":"​100023",​
 +    "​epc":"​2"​
 +  },
 +  "​header":​{
 +    "​lang":"​[lang-code]",​
 +    "​usr":"​[username]",​
 +    "​pass":"​[password]",​
 +    "​agid":"​[agency-id]"​
 +    "​api-key":"​[your-api-key]"​
 +  }
 +}
 +</​code>​
 +===== Response =====
 +
 +If **error** occurs, this is an example of the output
 +
 +<code json>
 +{
 +  "​errorNr":​2001,​
 +  "​error":​{"​msg":"​Invalid (or missing) action"​}
 +  "​rqid"​ : "​request-id"​
 +}
 +</​code>​
 +
 +On **success** you will get a JSON string which is the same structure as you would get with SOAP requests. Please check [[soap_calls]] for details.
ors-soap-api/public/json_api.txt ยท Last modified: 2023/03/08 12:42 by admin