Noojee API
The Noojee API allows calls and call recording to be controlled directly from within your CRM or any business application.
This API is part of the broader Noojee Admin API which provides control over various aspects of our Call Centre suite.
Through the API:
New calls can be initiated
Existing calls can be terminated (hangup)
Incoming calls can be answered
Call state can be tracked for speific extensions
Recording can be initiated
Recording can be stopped
Recordings can be attached to any record within your CRM for easy retrieval. When starting a recording from within your CRM you can also 'tag' a recording by adding a reference no. (e.g. an invoice no.) to the recording so that the recording can be later retrieved by the invoice no. This is often used to attached a 'Voice Signature' recording directly to an order or customer account record in the CRM.
Java API
The Noojee API is implemented as a REST API, however to make life easier Noojee also provide Java bindings for the REST API to make access easier for Java developers.
You can find details on the Java API here:
https://github.com/noojee/noojeecontact.api
REST API
The API is exposed as a REST service.
API calls are made through HTTP POST requests. Responses to API calls are JSON formatted.
All calls must be Authenticated using your systems API Key - 01.1 Authentication - Api key method.
REST Resources Overview
The service has the following resources:
Code - an integer status code. This resource is included in every API call response. The Code is zero ({"Code": 0}) for successful calls. A negative value signifies an error. A positive non-zero value indicates a warning or a notice.
Message - a string status message. Common to most call responses. The message generally clarifies the status code. The message is particularly useful where the status code is non-zero (an error has occured).
SessionID - an integer session identifier. This identifier is returned by the API when a call is initiated. Use this ID to track the status of the call. Note that the extension number can also be used to track call status.
CallData - details of an inbound call. Inbound call notices have this information.
MetaData - call recording meta-data.
REST Methods Overview
The service has the following methods
02.0 Dial - initiate a call
03.0 Check State - check the status of a call
04.0 Hangup - terminate a call
05.0 Subscribe - subscribe to inbound call notification
06.0 Answer - answer an inbound call
07.0 Start Recording - start a recording
08.0 Stop Recording - stop a recording
tag - tag a recording
09.0 Retrieve Recording - retrieve a recording
retrieveByCallRecordId - retrieve a recording by call record ID
9.1 Retrieve Recording Meta Data - retrieve recording meta-data
retrieveMetaDataByUniqueId - retrieve recording meta-data by unique ID
16.0 Get Campaign Template List - retrieve a list of campaign templates
17.0 Get Campaign List - retrieve a list of campaigns
18.0 Get Allocation List - retrieve a list of allocations
19.0 Get Disposition List - retrieve a list of dispositions for a campaign template
20.0 Get Field List - retrieve a list of fields for a campaign template
21.0 Get Call Record List - retrieve a list of recently dispositioned calls
22.0 Insert Lead - save a new call record
24.0 Update Lead - update an existing call record
Auto Answer Settings
The dial and answer API methods require an auto answer string which is specific to the manufacturer, make and model of handset. Below is a list of some of the strings that might be used:
Aastra | Alert-Info: info=alert-autoanswer |
Grandstream | Call-Info:\\; answer-after=0 |
Linksys | Call-Info:\\; answer-after=0 |
Polycom | Alert-Info: Ring Answer |
Snom | Call-Info:\\; answer-after=0 |
Snom - newer firmware | Call-Info: <sip:192.168.1.1>\;answer-after=0 |
| IP address must be correct |
Yealink | Call-Info:\; answer-after=0 |