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:1923.168.1.1>\;answer-after=0 |
IP address must be correct | |
Yealink | Call-Info:\; answer-after=0 |