Follow these directions to know more about APIs and integrate them with SuperReceptionist:
About APIs:
REST APIs
Using the Knowlus APIs, you can make outgoing calls to phones and SIP-enabled endpoints. Since the API is based on REST principles, it is very easy to write and test applications. You can use your browser to access URLs and pretty much any HTTP client in any programming language to interact with the API.
HTTP POST & GET
You can configure Knowlus to make its initial HTML requests to your application via HTTP GET or POST methods.
POST
When Knowlus performs an HTTP POST to a web server, metadata associated with the call (phone number, etc.) is passed as the body of the POST just as if the parameters were submitted as part of a form on a web page.
Tip: It is important to note is that you cannot cache POST requests. To cache HTML requests, make use of the HTTP GET method.
Note: In the POST method of APIs, Knowlus does not require a username and password. Instead, you will be required to have an encryption and a decryption key. These can be generated anytime from within the Register Keys tab in the API section of the web interface and will be sent to your registered email id.
GET
When Knowlus performs an HTTP GET to a web server, the metadata associated with the call (phone number, etc.) is passed as URL query string parameters as if the parameters were submitted as part of a form on a web page. Knowlus locally caches static HTML documents and media files.
Points to remember for exception handling during API integration:
- All special characters, as an exception, are rejected in GET form API since they are converted into a Unicode at the backend.
- An API key provides access to SR account details for any SMS or CRM integration without knowing the username or the password.
- Any API cannot use the already defined variables of our system. For example, if any API has 'to' or 'destination' then an exception occurs and the value of destination is changed which hampers the functioning of the API.
- If the API consists of any parameters or declarations after ‘?’ then, it will be a type of GET
- All URL types API are of the form POST
- Hitting on the browser can test GET API
- Certain tools for example Postman that require technical knowledge can only test POST. Hence, it is advisable to ask the customer to check his API
- Our API does not support%2b(+) Unicode
- API wrapper needs to be created for $caller id to fetch the callers number and cut it into a 10 digit number
- POST form API gathers all the variables from our system and then views it in the customer's system
- GET API specifies the variables and values it wants from our system.
- All API respond back in either of the 3 formats: XML or Json or Plaintext
API Parameters to prepare API Key -
$dispnumber -- The SR number.
$caller_id -- caller's number
$call_id -- unique call id
$start_time -- start time of the call
$end_time -- end time of the call
$timezone – time zone in which the start_time and end_time is made available.
$call_duration -- duration of the call
$destination -- connected agent's number.
$action -- action that was taken (phone/voicemail)
$extension -- the extension which was pressed.
How to Setup API -
To integrate API, go to “Settings”
Click on “Hook API”
Now Click On “Add API”
An add API pop up appears
Select Request Type – Get/ Post, Insert API Name and URL
Click “Add”
You are ready to go.