curl --request POST \
--url https://api.wavix.com/v1/cdrs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "placed",
"from": "2023-08-01",
"to": "2023-08-31",
"from_search": "4478012",
"to_search": "44206723",
"sip_trunk": "87095",
"min_duration": 10,
"transcription": {
"agent": {
"must": [
"Hello",
"Thank you"
],
"match": [
"Nope",
"Maybe"
],
"exclude": [
"Richard",
"Issue resolved"
]
},
"client": {
"must": [
"Hello",
"Thank you"
],
"match": [
"Nope",
"Maybe"
],
"exclude": [
"Richard",
"Issue resolved"
]
},
"any": {
"must": [
"Hello",
"Thank you"
],
"match": [
"Nope",
"Maybe"
],
"exclude": [
"Richard",
"Issue resolved"
]
}
},
"uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"page": 1,
"per_page": 25
}
'import requests
url = "https://api.wavix.com/v1/cdrs"
payload = {
"type": "placed",
"from": "2023-08-01",
"to": "2023-08-31",
"from_search": "4478012",
"to_search": "44206723",
"sip_trunk": "87095",
"min_duration": 10,
"transcription": {
"agent": {
"must": ["Hello", "Thank you"],
"match": ["Nope", "Maybe"],
"exclude": ["Richard", "Issue resolved"]
},
"client": {
"must": ["Hello", "Thank you"],
"match": ["Nope", "Maybe"],
"exclude": ["Richard", "Issue resolved"]
},
"any": {
"must": ["Hello", "Thank you"],
"match": ["Nope", "Maybe"],
"exclude": ["Richard", "Issue resolved"]
}
},
"uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"page": 1,
"per_page": 25
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'placed',
from: '2023-08-01',
to: '2023-08-31',
from_search: '4478012',
to_search: '44206723',
sip_trunk: '87095',
min_duration: 10,
transcription: {
agent: {
must: ['Hello', 'Thank you'],
match: ['Nope', 'Maybe'],
exclude: ['Richard', 'Issue resolved']
},
client: {
must: ['Hello', 'Thank you'],
match: ['Nope', 'Maybe'],
exclude: ['Richard', 'Issue resolved']
},
any: {
must: ['Hello', 'Thank you'],
match: ['Nope', 'Maybe'],
exclude: ['Richard', 'Issue resolved']
}
},
uuid: '99df5ffd-962a-410f-bcce-d08f1f7f328c',
page: 1,
per_page: 25
})
};
fetch('https://api.wavix.com/v1/cdrs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wavix.com/v1/cdrs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'placed',
'from' => '2023-08-01',
'to' => '2023-08-31',
'from_search' => '4478012',
'to_search' => '44206723',
'sip_trunk' => '87095',
'min_duration' => 10,
'transcription' => [
'agent' => [
'must' => [
'Hello',
'Thank you'
],
'match' => [
'Nope',
'Maybe'
],
'exclude' => [
'Richard',
'Issue resolved'
]
],
'client' => [
'must' => [
'Hello',
'Thank you'
],
'match' => [
'Nope',
'Maybe'
],
'exclude' => [
'Richard',
'Issue resolved'
]
],
'any' => [
'must' => [
'Hello',
'Thank you'
],
'match' => [
'Nope',
'Maybe'
],
'exclude' => [
'Richard',
'Issue resolved'
]
]
],
'uuid' => '99df5ffd-962a-410f-bcce-d08f1f7f328c',
'page' => 1,
'per_page' => 25
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wavix.com/v1/cdrs"
payload := strings.NewReader("{\n \"type\": \"placed\",\n \"from\": \"2023-08-01\",\n \"to\": \"2023-08-31\",\n \"from_search\": \"4478012\",\n \"to_search\": \"44206723\",\n \"sip_trunk\": \"87095\",\n \"min_duration\": 10,\n \"transcription\": {\n \"agent\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"client\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"any\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n }\n },\n \"uuid\": \"99df5ffd-962a-410f-bcce-d08f1f7f328c\",\n \"page\": 1,\n \"per_page\": 25\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.wavix.com/v1/cdrs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"placed\",\n \"from\": \"2023-08-01\",\n \"to\": \"2023-08-31\",\n \"from_search\": \"4478012\",\n \"to_search\": \"44206723\",\n \"sip_trunk\": \"87095\",\n \"min_duration\": 10,\n \"transcription\": {\n \"agent\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"client\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"any\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n }\n },\n \"uuid\": \"99df5ffd-962a-410f-bcce-d08f1f7f328c\",\n \"page\": 1,\n \"per_page\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wavix.com/v1/cdrs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"placed\",\n \"from\": \"2023-08-01\",\n \"to\": \"2023-08-31\",\n \"from_search\": \"4478012\",\n \"to_search\": \"44206723\",\n \"sip_trunk\": \"87095\",\n \"min_duration\": 10,\n \"transcription\": {\n \"agent\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"client\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"any\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n }\n },\n \"uuid\": \"99df5ffd-962a-410f-bcce-d08f1f7f328c\",\n \"page\": 1,\n \"per_page\": 25\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"answered_by": "human",
"date": "2023-08-21T06:43:36.000Z",
"from": "14302287001",
"to": "33170363950",
"disposition": "answered",
"duration": 6,
"destination": "France",
"per_minute": "0.027",
"charge": "example",
"sip_trunk": "32882",
"forward_fee": "0.0",
"uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"call_id": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"parent_uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"transcription": {
"uuid": "40d6f322-048d-490b-95c7-4fc5c76a74db",
"url": "https://api.wavix.com/v1/cdrs/40d6f322-048d-490b-95c7-4fc5c76a74db/transcription?appid=secret"
}
}
],
"pagination": {
"current_page": 2,
"per_page": 25,
"total": 101,
"total_pages": 5
}
}{
"success": false,
"error": true,
"message": "Unauthorized"
}{
"success": false,
"message": "The service is not provisioned for your account."
}{
"success": false,
"message": "Missing or invalid parameter <param_name>"
}Search transcriptions
Searches call transcriptions for the given keywords or phrases and returns the matching CDRs with their transcriptions.
curl --request POST \
--url https://api.wavix.com/v1/cdrs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "placed",
"from": "2023-08-01",
"to": "2023-08-31",
"from_search": "4478012",
"to_search": "44206723",
"sip_trunk": "87095",
"min_duration": 10,
"transcription": {
"agent": {
"must": [
"Hello",
"Thank you"
],
"match": [
"Nope",
"Maybe"
],
"exclude": [
"Richard",
"Issue resolved"
]
},
"client": {
"must": [
"Hello",
"Thank you"
],
"match": [
"Nope",
"Maybe"
],
"exclude": [
"Richard",
"Issue resolved"
]
},
"any": {
"must": [
"Hello",
"Thank you"
],
"match": [
"Nope",
"Maybe"
],
"exclude": [
"Richard",
"Issue resolved"
]
}
},
"uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"page": 1,
"per_page": 25
}
'import requests
url = "https://api.wavix.com/v1/cdrs"
payload = {
"type": "placed",
"from": "2023-08-01",
"to": "2023-08-31",
"from_search": "4478012",
"to_search": "44206723",
"sip_trunk": "87095",
"min_duration": 10,
"transcription": {
"agent": {
"must": ["Hello", "Thank you"],
"match": ["Nope", "Maybe"],
"exclude": ["Richard", "Issue resolved"]
},
"client": {
"must": ["Hello", "Thank you"],
"match": ["Nope", "Maybe"],
"exclude": ["Richard", "Issue resolved"]
},
"any": {
"must": ["Hello", "Thank you"],
"match": ["Nope", "Maybe"],
"exclude": ["Richard", "Issue resolved"]
}
},
"uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"page": 1,
"per_page": 25
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'placed',
from: '2023-08-01',
to: '2023-08-31',
from_search: '4478012',
to_search: '44206723',
sip_trunk: '87095',
min_duration: 10,
transcription: {
agent: {
must: ['Hello', 'Thank you'],
match: ['Nope', 'Maybe'],
exclude: ['Richard', 'Issue resolved']
},
client: {
must: ['Hello', 'Thank you'],
match: ['Nope', 'Maybe'],
exclude: ['Richard', 'Issue resolved']
},
any: {
must: ['Hello', 'Thank you'],
match: ['Nope', 'Maybe'],
exclude: ['Richard', 'Issue resolved']
}
},
uuid: '99df5ffd-962a-410f-bcce-d08f1f7f328c',
page: 1,
per_page: 25
})
};
fetch('https://api.wavix.com/v1/cdrs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wavix.com/v1/cdrs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'placed',
'from' => '2023-08-01',
'to' => '2023-08-31',
'from_search' => '4478012',
'to_search' => '44206723',
'sip_trunk' => '87095',
'min_duration' => 10,
'transcription' => [
'agent' => [
'must' => [
'Hello',
'Thank you'
],
'match' => [
'Nope',
'Maybe'
],
'exclude' => [
'Richard',
'Issue resolved'
]
],
'client' => [
'must' => [
'Hello',
'Thank you'
],
'match' => [
'Nope',
'Maybe'
],
'exclude' => [
'Richard',
'Issue resolved'
]
],
'any' => [
'must' => [
'Hello',
'Thank you'
],
'match' => [
'Nope',
'Maybe'
],
'exclude' => [
'Richard',
'Issue resolved'
]
]
],
'uuid' => '99df5ffd-962a-410f-bcce-d08f1f7f328c',
'page' => 1,
'per_page' => 25
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wavix.com/v1/cdrs"
payload := strings.NewReader("{\n \"type\": \"placed\",\n \"from\": \"2023-08-01\",\n \"to\": \"2023-08-31\",\n \"from_search\": \"4478012\",\n \"to_search\": \"44206723\",\n \"sip_trunk\": \"87095\",\n \"min_duration\": 10,\n \"transcription\": {\n \"agent\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"client\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"any\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n }\n },\n \"uuid\": \"99df5ffd-962a-410f-bcce-d08f1f7f328c\",\n \"page\": 1,\n \"per_page\": 25\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.wavix.com/v1/cdrs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"placed\",\n \"from\": \"2023-08-01\",\n \"to\": \"2023-08-31\",\n \"from_search\": \"4478012\",\n \"to_search\": \"44206723\",\n \"sip_trunk\": \"87095\",\n \"min_duration\": 10,\n \"transcription\": {\n \"agent\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"client\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"any\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n }\n },\n \"uuid\": \"99df5ffd-962a-410f-bcce-d08f1f7f328c\",\n \"page\": 1,\n \"per_page\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wavix.com/v1/cdrs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"placed\",\n \"from\": \"2023-08-01\",\n \"to\": \"2023-08-31\",\n \"from_search\": \"4478012\",\n \"to_search\": \"44206723\",\n \"sip_trunk\": \"87095\",\n \"min_duration\": 10,\n \"transcription\": {\n \"agent\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"client\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n },\n \"any\": {\n \"must\": [\n \"Hello\",\n \"Thank you\"\n ],\n \"match\": [\n \"Nope\",\n \"Maybe\"\n ],\n \"exclude\": [\n \"Richard\",\n \"Issue resolved\"\n ]\n }\n },\n \"uuid\": \"99df5ffd-962a-410f-bcce-d08f1f7f328c\",\n \"page\": 1,\n \"per_page\": 25\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"answered_by": "human",
"date": "2023-08-21T06:43:36.000Z",
"from": "14302287001",
"to": "33170363950",
"disposition": "answered",
"duration": 6,
"destination": "France",
"per_minute": "0.027",
"charge": "example",
"sip_trunk": "32882",
"forward_fee": "0.0",
"uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"call_id": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"parent_uuid": "99df5ffd-962a-410f-bcce-d08f1f7f328c",
"transcription": {
"uuid": "40d6f322-048d-490b-95c7-4fc5c76a74db",
"url": "https://api.wavix.com/v1/cdrs/40d6f322-048d-490b-95c7-4fc5c76a74db/transcription?appid=secret"
}
}
],
"pagination": {
"current_page": 2,
"per_page": 25,
"total": 101,
"total_pages": 5
}
}{
"success": false,
"error": true,
"message": "Unauthorized"
}{
"success": false,
"message": "The service is not provisioned for your account."
}{
"success": false,
"message": "Missing or invalid parameter <param_name>"
}Authorizations
Wavix API key. Pass as Authorization: Bearer <api_key>. Keys support per-resource scopes (none / read / write). See Restricted keys and scopes.
Body
Filters by call type. One of placed (outbound calls dialed by the account) or received (inbound calls answered by the account).
placed, received "placed"
Start date for call search in YYYY-MM-DD format.
"2023-08-01"
End date for call search in YYYY-MM-DD format.
"2023-08-31"
Originating phone number to filter results. Accepts full or partial number.
"4478012"
Destination phone number to filter results. Accepts full or partial number.
"44206723"
SIP trunk login to filter outbound calls. Ignored for inbound calls.
"87095"
Minimum call duration in seconds.
10
Show child attributes
Show child attributes
Call ID.
"99df5ffd-962a-410f-bcce-d08f1f7f328c"
Call disposition to filter results. If omitted, returns only answered
calls. Allowed values: answered, noanswer, busy,
failed, all. Use all to return calls
regardless of their disposition.
answered, noanswer, busy, failed, all Page number to retrieve.
1
Number of records per page.
25
Was this page helpful?