1. Home
  2. API Documentation

API Documentation

The RingRx API can be used to integrate existing 3rd party services with RingRx

 

API

RingRx exposes all functions via API.

Swagger

We have a robust REST api documented in Swagger

Authentication

We make use of JWT Authentication. This means that all requests except an initial login MUST bear a authorization token.

Make sure whatever library you are working is prepared to handle fetching new auth tokens as needed

Callbacks

RingRx supports a robust callback system to allow you to build out your own integrations based upon receiving events from us. Callbacks can be configured from our existing REST api as documented in Swagger

Each callback is completely configurable with token replacements from the object being sent

Name

This is a descriptive name for the callback and will be used inside audit logs.

Callback Type

This is what kind of callback is being configured (these are described in more detail below)

SMS: This configures a callback that can be bound to a Phone Number. When that phone number receives an SMS this callback is triggered. This type of callback can be bound to multiple phone numbers
Voicemail: This configures a callback that can be bound to a mailbox. When a voicemail (only voice not fax) is deposited in that mailbox this callback is triggered. This type of callback can be bound to multiple mailboxes
Fax: This configures a callback that can be bound to a fax services. When a fax is received, this callback is triggered. This type of callback can be bound to multiple fax services.
CDR: This callback is global. It will generate an event for EVERY call that is completed by the customer. Take care not to configure many of these.
Outreach: This configures a callback subscription to a specific outreach profile. The destination will receive updates to all events attached to that subscription including creation, updates and dispostioning of outreach events.

URL

this is the URL destination of the callback. This field MAY contain tokens in the URL or as part of the parameters.

Basic Auth

If “Use Basic Auth” is set to true then we will sent the username and password configured

Use basic auth: Boolean
auth_username: the basic auth username to be transmitted. This field is NOT token replaced
auth_password: the basic auth password to be transmitted. This field it NOT token replaced

Custom Headers

You can add any custom headers to the request you wish. These headers will be token replaced.

Headers are parsed one per line (/r/n between) with header and value split by a colon :

Example: AuthToken:DESIGN-thick-because-guard

Note

Custom headers can be a great way to validate and authenticate inbound callback requests

Token Replacement

To allow for maximum customization of callback events to your system each event type can be configured with an array of tokens that will be replaced by values from the event. This should be used in the URL and headers to customize what you receive.

Voicemail example:
https://some.url.com/voicemail?accountID=some_account&calling_number={caller}&filename={filename}&recipient={called}&mailbox={mailbox}

In the above example

{caller}: Will be replaced by the calling number
{called}: Will be replaced by the called number
{filename}: Will be replaced by the actual transmitted file name
{mailbox}: Will be replaced by the mailbox that collected this message

SMS

SMS Callbacks are configured on phone number objects and will execute only for inbound messages received by that number.

For SENDING SMS messages consult the Swagger documentation at Swagger

SMS Callbacks are sent a JSON Post messages

METHOD: POST
BODY: JSON body as below