API Connector
With the TRiNG API connector you can build a custom interface for your application to request or push data to TRiNG. Consult TRiNG support for a read only / write API Key, tenantcode and server.
For example you can make a request to:
https://api.tring.nu/pbx/proxyapi.php?key=[APIKEY]&tenant=[TENANTCODE]&reqtype=[REQUESTTYPE]
Replace the variables between the brackets.
Parameters: reqtype - Request type tenant - Sometime optional if the Admin API key is used, otherwise provide the tenant code key - Use the Admin API key or the Tenant API key format - Optional, can be json or plain callback - Optional, for cross domain script, the function to use as callback (requires format json) Request type (reqtype): COUNTPEERS - Return the number of peers on each node and the total - Additional parameters: tenant - optional if using the Admin API key, returns only peers from the selected tenant COUNTCHANNELS - Return the number of channels (total or on each node) - Additional parameters: nodename - optional, if you want only that node counted tenant - optional if using the Admin API key, returns only channels from the selected tenant PEERS - Show the peers registered on all nodes of the network - Additional parameters: tenant - optional if using the Admin API key, returns only peers from the selected tenant BLFS - Get the BLF status, peers and flows tenant - the tenant to report FLOWS - Show the flow status tenant - the tenant to report CHANNEL - Show the channel details for the selected tenant Additional parameters: channel - the channel to show info CHANNELS - Show the channels for the selected tenant Additional parameters: tenant - optional, show channels for the tenant PHONEBOOK - Manage phone books: Additional parameters: tenant - select the tenant phonebook - select the phone book by name subreqtype - select the sub request type: query - perform a query field - name of the field value - value to search for (use % for partial searches) add - add a record values - a json encoded associative array with name of the fields and values delete - delete a record peid - peid value returned by search cleanall - delete all the records in the phonebook INFO - Get info about system Additional parameters: info - type of info: queues (list of queues) queue (info about the queue based on id) agents (info about the agents in all or selected queue) agentsconnected (info about the agents in all or selected queue, but only if currently connected) agentsdelay (info about the agents delay in answering in all or selected queue) outdialed (info about the calls dialed out by extensions) simpledialed (info about the calls dialed out and in by extensions using the simple call history) call (info about the call originated with the api using the returned id or unique id) inforecording (get the metadata associated to the recording for the call, you can use the unique id or the originated id) recording (get the recording for the call, you can use the unique id or the originated id) playrecording (play the recording for the call, you can use the unique id or the originated id) voicemail (get the voicemail message for the call, you can use the id of the voicemail_messages table) voicemailtranscript (get the voicemail message transcript for the call, you can use the id of the voicemail_messages table) dids (list of dids) sms (list of sms sent and received) extensions (list of extensions, including state) extstate (get the state of the extensions, including the number speaking with) config (get info about configured tenant) cdrs (get the list of calls, you can use wildcard % for the tenant code) Further parameters available: id, uniqueid, linkedid, src, firstdst, direction, phone, format(csv,xml), template Phone is a special parameter filtering for whoanswered, calleridnum and dialednum You can filter for multiple parameter values using a comma separator simplecdrs (get the list of calls using the simple call history source, you can use wildcard % for the tenant code) Further parameters available: id,uniqueid,calleridnum,calleridname,disposition,direction,whoanswered,phone,format(csv,json) Phone is a special parameter filtering for whoanswered, calleridnum and dialednum You can filter for multiple parameter values using a comma separator queuelogs (get the list of calls processed by queue) balance (get the credit available) flow (get the flow status) variable (get the custom variable value) id - optional, id of object requested queue - optional, id of queue requested for agents info or queue logs start - optional, start date/time of the sms, cdrs or queue logs or balance returned end - optional, end date/time of the sms, cdrs or queue logs or balance returned AGENT - Manipulate queue agent status Additional parameters: tenant - name of the tenant extension - agent username or extension number queue - queue id (alternatively use queuenumber) queuenumber - queue number (alternatively use queue) action - action to perform (pause, unpause) pausereason - optional, pause reason to set ATXTRANSFER - Attend transfer a channel Additional parameters: tenant - optional, tenant for the channel to transfer channel - channel to transfer dest - number to transfer the channel to CAMPAIGN - Manage call campaign Additional parameters: campaign - id for campaign, you need to get it on the URL for the editing campaign tenant - optional, tenant for the campaign action - action can be start, stop, pause, resume, addnumber, delnumber. Start and stop can affect only on-demand campaign number - optional, the number to call when using the addnumber action numberdescription - option, the number description when using the addnumber action DIAL - Dial a number and connect to another number Additional parameters: tenant - tenant where to place the call source|?exten - first number to dial - use ACCOUNT to use the number associated with the account chosen dest|phone - number to connect var - variables to set, will be prefixed tenant code account - account name to simulate the call from - use SOURCE to use the account associated with the source number choosen dialtimeout - dial timeout in seconds timeout - max duration for the call in seconds sourceclid - use this clid for dialing source number destclid - use this clid for dialing dest number recording - set the recording for the call, use: yes, no, yeschange or nochange) server - you can ask to use a specific server to dial autoanswer - you can require the source phone to auto answer setting this parameter to 'yes' nofollow - you can require the source phone to not follow on additional destinations setting this parameter to 'yes' FAX - Manage Faxes Additional parameters: action - Available actions send - send a fax source_number - The number to send the fax from dest_number - The number to send the fax to quality - Optional fax quality ('204x98', '204x196' or '204x392' pagesize - Optional page size ('a4', 'letter' or 'legal' rotate - Optional rotation (empty for automatic, 'E' or 'W' for East/West rotation or 'no' for no rotation) deleteaftersend - Optional, set to 'on' to delete the fax once sent schedule - Optional, set the date/time for sending the fax statusemail - Optional, set the email to send status updates filename - The PDF for the fax to be sent HANGUP - Hangup a channel Additional parameters: tenant - optional, tenant for the channel to hangup channel - channel to hangup extension - optional, extension to hangup, like 103-DEVEL fast - optional, set to yes to use a new location algorithm for the channel, much faster MEDIAFILE - Manage media files Additional parameters: action - Available actions getaudio - Download the audio tenant - tenant to get audio from objectid - media id QUEUE - Manage queue agents tenant - tenant for the queue number - queue number (alternatively use id). You can use NONE when applicable id - queue id (alternatively use number) uniqid - optional, use this as unique id for the log record extension - optional, number or extension username to add or delete. You can use NONE when applicable action - Available actions list - List queue agents fulllist - Show all agents info add - add an agent to the queue del - del an agent from the queue clean - del all agents from the queue log - create a custom log entry in the queue_log table order - optional, numeric order of the agent in the agent list type - optional, agent type (NF - Not Following, AD - Additional Destinations, NFR - Not Following with Ring, ADR - Additional Destinations with Ring EA - External Agent, EANM - External no monitoring, EAC - External with confirm, EANMC - External no monitoring with confirm CU - Custom destination, CUNM - Custom destination no monitoring, CC -Custom destination with confirm CUFF - Custom destination with full features event - optional, custom log event to generate data[1-5] - data1... data5 to populate custom log event (optional) QUEUERESET - Reset statistics for a queue Additional parameters: tenant - optional, tenant for the queue queueid - queue id to reset REBOOT - Reboot one or multiple peers Additional parameters: peer - peername to reboot or ALL for all peers tenant - optional, tenant for the peer to reboot RESPONSEPATH - Get info from response path object tenant - tenant for the response path to query id - response path id rrid - response path response id or response path uniqueid filter - optional available filters queue - Apply filter on queue id answer - Apply filter on answer extension uniqueid - Apply filter on unique id filterdata - optional, the value to filter on action - Available actions list - List all available responses getid - Get the details from the specified response path rrid getlast - Get the details from the latest one SETFLOW - Set Flow status or variable Additional parameters: number - flow number state - optional state (INUSE, NOT_INUSE, UNAVAILABLE, RINGING) value - optional value tenant - optional, tenant for the flow to set SMS - Send an SMS Additional parameters: tenant - tenant where to place the call dest - number to send the SMS to destclid - use this clid for sending the SMS to the dest number server - you can ask to use a specific server to dial message - the message to be sent TRANSFER - Transfer a channel Additional parameters: tenant - optional, tenant for the channel to transfer channel - channel to transfer extrachannel - extra channel to transfer (optional) dest - number to transfer the channel to UNREGISTER - Unregister one or multiple peers Additional parameters: peer - peername to unregister or ALL for all peers tenant - optional, tenant for the peer to unregister VIRTUALEXT - Manage virtual extensions tenant - tenant for the virtual extension number - virtual extension number extension - optional, number or extension username to add or delete action - Available actions list - List extensions joined under the virtual extension add - add an extension to the virtual extension del - del an extension from the virtual extension clean - del all extensions from the virtual extension VOICEMAIL - Get info about voicemails tenant - optional, tenant for the voicemails mailbox - optional, show info about a specific mailbox msgid - optional, message id action - Available actions list - List available voicemails messages - List messages for mailbox specified message - Get the message binary for msgid specified delete - Delete the message for msgid specified COUNTCALLS - Count the number of calls running MANAGEDB - Manage data in database Additional parameters: object - object name to manage ('tenant', 'custom', 'customtype', 'phone', 'mediafile', 'huntlist', 'extension', 'provider', 'did', 'user', 'conference','routingprofile', 'route', 'destination' are currently the only options) routingprofileid - optional, when getting the list of the routes, returns only the one for the specified routing profile typesrc - optional, used for selecting the type of object in destination typeidsrc - optional, used for selecting the object id in destination action - action to perform ('list' 'get', 'add' or 'update') for mediafile object type, you can use also 'updatebinary' and 'getbinary' for huntlist object type, you can use only 'list', 'getextensions' and 'setextensions' for extension object type, you can use only 'list', 'add', 'update' and 'get' for user object type, you can use also 'delete', 'listtenants', 'addtenant', 'deltenant' for conference object type, you can use also 'delete' for provider object type, you can use also 'delete' and 'listroutes' for route object type, you can use also 'delete' for destination object type, you can use only 'list' and 'replace' objectid - object id to update tenantid - options, to add/remove tenants from authorized user jsondata - jsondata for action - check manual for more info CHECKAUTH - Check authentication, return info about the privileges for the user - username - username - password - password GETWEBRTCAUTH - Authenticate an extension user and return the details for a WebRTC connection - username - username - password - password