{"_id":"55bb8cd474f10a0d002209f7","user":"558d70614cd25f0d00b7eba4","category":{"_id":"55bb8ca5a8400c2d00873e70","__v":2,"pages":["55bb8cd474f10a0d002209f7","55ef0f2b8eb7ae0d00feeb48"],"project":"558d9c32beb7c719007f6319","version":"558d9c33beb7c719007f631c","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-31T14:56:37.863Z","from_sync":false,"order":0,"slug":"dialogtech-api-docs","title":"DialogTech API Overview"},"project":"558d9c32beb7c719007f6319","version":{"_id":"558d9c33beb7c719007f631c","project":"558d9c32beb7c719007f6319","__v":19,"createdAt":"2015-06-26T18:38:43.154Z","releaseDate":"2015-06-26T18:38:43.153Z","categories":["558d9c33beb7c719007f631d","558db0bc7afc102f008ed863","558db0d07afc102f008ed864","558db3c84cd25f0d00b7ecb2","558dbace7afc102f008ed894","558dbd104cd25f0d00b7ecca","558dbd4c4cd25f0d00b7eccb","559d3e858639bd21008e90a6","55bb8ca5a8400c2d00873e70","58fdfb438fbd2819000db9eb","590829c7ade4172d006a87b8","59082a11beedcf0f00235d87","5908bd2cba2afd23007d6d12","5908d1f64f544425002b6aae","591e5e9e2c1b1f0f000fa4e5","5a283434aba91f002834ea86","5a69fe5cde745d002c936c66","5a81e6ef761cf300127317f8","5a81e7d63b1e120012bed5a1"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"__v":136,"parentDoc":null,"githubsync":"","updates":["5840ad0707c5d425007f575c","5840afe107c5d425007f5769","5840b25829e3ff0f000d86b5"],"next":{"pages":[],"description":""},"createdAt":"2015-07-31T14:57:24.196Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"DialogTech's APIs are designed as a REST-like API which provides an XML responses in most scenarios. As the API is accessible via HTTP, any programming language with the ability to make web-service calls can be used to create applications which leverage the various functional and reporting capabilities of DialogTech.\n\nThe success/failure of an API call will be described within the XML response to each individual API call.\n[block:api-header]\n{\n  \"title\": \"API Security\"\n}\n[/block]\nDialogTech's REST-like API expects 2 authentication values to be passed in the URL of each API call. The access_key and secret_access_key values can be obtained within your account via DialogTech's [Key Manager](https://support.dialogtech.com/s/article/ka21O000000XSBAQA4/API-Key-Manager-Walkthrough).\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Your Secret Access Key should be protected. It should not be written anywhere that it can be accessed by anyone not authorized to use your DialogTech account. If you think your Secret Access Key has been compromised, you can revoke the key directly within the same interface used to generate API Keys.\",\n  \"title\": \"NOTICE\"\n}\n[/block]\n\nAll of DialogTech's API Endpoints are available in a secure and non-secure format. **It is highly recommended that the secure endpoints be utilized in all scenarios**, but if there is a business reason that a non-secure endpoint makes the most sense for your application, they are available by replacing all examples of *https://* within this documentation, to *http://*\n\n[block:api-header]\n{\n  \"title\": \"Using DialogTech's Access Keys for API Calls\"\n}\n[/block]\nAccess Keys and Secret Access Keys can be managed within your account under the Key Manager. Whenever a web request is made to one of DialogTech's APIs, both the access key, and secret access key must be provided as URL Parameters.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"https://secure.dialogtech.com/[endpoint]?access_key=[Your Access Key]&secret_access_key=[Your Secret Access Key]\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"DialogTech API Types\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"API Type\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"[**Call Initiation APIs**](doc:call-initiation-api-overview)\",\n    \"0-1\": \"APIs which are used to generate new phone calls utilizing DialogTech's different applications\",\n    \"1-0\": \"[**Administration APIs**](doc:administration-api-overview)\",\n    \"1-1\": \"APIs which are used to purchase add-ons and phone numbers within your account, create and schedule voice broadcasts, as well as create, route, and configure applications and numbers within your DialogTech account\",\n    \"2-0\": \"[**Reporting APIs**](doc:reporting-api-overview)\",\n    \"2-1\": \"APIs which are used to get data and reports from your DialogTech account. This includes call detail reporting, IVR reporting, recording downloads, voicemails, and more\",\n    \"3-0\": \"[**SMS API**](doc:sms-api-overview)\",\n    \"3-1\": \"APIs which serve as the interface for DialogTech's SMS functionality including sending SMS, and reporting on both inbound and outbound SMS messages\",\n    \"4-0\": \"[**WebHooks**](doc:webhook-overview)\",\n    \"4-1\": \"A method of a 3rd party system receiving call information mid-call from DialogTech, and responding with routing instructions for that particular call\"\n  },\n  \"cols\": 2,\n  \"rows\": 5\n}\n[/block]","excerpt":"A basic overview of DialogTech's API design, security, and functionality.","slug":"dialogtech-api-overview","type":"basic","title":"DialogTech API Overview"}

DialogTech API Overview

A basic overview of DialogTech's API design, security, and functionality.

DialogTech's APIs are designed as a REST-like API which provides an XML responses in most scenarios. As the API is accessible via HTTP, any programming language with the ability to make web-service calls can be used to create applications which leverage the various functional and reporting capabilities of DialogTech.

The success/failure of an API call will be described within the XML response to each individual API call.

API Security

DialogTech's REST-like API expects 2 authentication values to be passed in the URL of each API call. The access_key and secret_access_key values can be obtained within your account via DialogTech's Key Manager.

NOTICE

Your Secret Access Key should be protected. It should not be written anywhere that it can be accessed by anyone not authorized to use your DialogTech account. If you think your Secret Access Key has been compromised, you can revoke the key directly within the same interface used to generate API Keys.

All of DialogTech's API Endpoints are available in a secure and non-secure format. It is highly recommended that the secure endpoints be utilized in all scenarios, but if there is a business reason that a non-secure endpoint makes the most sense for your application, they are available by replacing all examples of https:// within this documentation, to http://

Using DialogTech's Access Keys for API Calls

Access Keys and Secret Access Keys can be managed within your account under the Key Manager. Whenever a web request is made to one of DialogTech's APIs, both the access key, and secret access key must be provided as URL Parameters.

https://secure.dialogtech.com/[endpoint]?access_key=[Your Access Key]&secret_access_key=[Your Secret Access Key]

DialogTech API Types

API Type
Description

APIs which are used to generate new phone calls utilizing DialogTech's different applications

APIs which are used to purchase add-ons and phone numbers within your account, create and schedule voice broadcasts, as well as create, route, and configure applications and numbers within your DialogTech account

APIs which are used to get data and reports from your DialogTech account. This includes call detail reporting, IVR reporting, recording downloads, voicemails, and more

APIs which serve as the interface for DialogTech's SMS functionality including sending SMS, and reporting on both inbound and outbound SMS messages

A method of a 3rd party system receiving call information mid-call from DialogTech, and responding with routing instructions for that particular call