JSON Framework for integrating CRM systems

Ringotel offers a comprehensive set of APIs to manage your Ringotel account (Admin API) and facilitate messaging between Ringotel users (Messaging API). You can access the API documentation through the following link: https://ringotel.atlassian.net/wiki/spaces/RSW/pages/2091548680/Ringotel+API+Settings?atlOrigin=eyJpIjoiMzNjNzFhNjEzNzJkNDIyY2E0YjNiMWFlMTNkYjcxMWEiLCJwIjoiYyJ9

Additionally, we provide a JSON framework for integrating with CRM systems (and other systems). In essence, the CRM system needs to have HTTP API endpoints to receive requests from the Ringotel server. Ringotel will send requests at various stages of the workflow, such as during integration setup in the portal, contact creation, incoming/outgoing calls, etc. The endpoints and their format depend on the desired functionality and data you wish to receive in this integration.

Prerequisites

The integration has the following prerequisites:

  • The CRM must be capable of both receiving and responding to HTTPS requests containing JSON content.

  • The CRM must have the capability to authorize requests from a Ringotel server using Basic, Bearer, or OAuth2 methods.

  • The CRM needs to handle data in a predefined format for both incoming and outgoing transactions.

  • When interacting with Ringotel, the CRM is expected to respond with standard HTTP codes such as 200 OK or 403 Forbidden for authentication requests.

Implementation

The Ringotel integration for CRM follows the workflow outlined below:

Authentication

Authentications can be based on the OAuth 2.0 Web Server Flow using the client_id and client_secret. Alternatively, Basic or Bearer authentication can be used.

OAuth2 Authentication example:

"OAuth2": { "client_id": "$Client ID$", "client_secret": "$Client Secret$", "flow_type": { "default": "0" }, "authorization_endpoint": "https://login.example.com/services/oauth2/authorize", "authorization_parameters": { "default": "scope=api%20refresh_token" }, "token_endpoint": "https://login.example.com/services/oauth2/token", "token_parameters": { "content_type": "application/x-www-form-urlencoded;charset=utf-8" }, "request_auth": "Bearer" }

Bearer Authentication example:

"auth": { "type": "Bearer", "token": "$API key$" },

Basic Authentication example:

"auth": { "type": "Basic", "username": "$Username$", "password": "$Password$" },

API

The API object defines the requests (“hooks“) that are triggered at different stages of the workflow.

Users

Provides the list of CRM users to map with the Ringotel users. Each user needs to have unique identifier (ID).

Example:

 Contacts

Returns the list of contacts and their properties.

Example:

Organizations

Returns the list of accounts and their properties.

Example:

FindContact

Is used to identify caller on incoming/outgoing call. Must return a specific contact identified by the phone number.

Example:

CreateContact

Creates a new contact with properties.

Example:

UpdateContact

Updates a specific contact identified by ID with the new properties.

Example:

CreateActivity

Creates a new call activity with its properties.

Example:

UpdateActivity

Updates CRM activity identified by activity ID.

Example:

StopCallActivity

Changes the status of a specific activity (identified by activity ID).

Example:

UpdateCallRecording

Uploads and attaches a call recording file to a specific activity (identified by ID).

Example:


Below is an example of a JSON document for CRM integration. Please provide the completed JSON file to our team, and we will review it before adding it to the list of available CRM integrations for your Ringotel account. Should you have any questions/feedback, please don't hesitate to contact us at support@ringotel.co.