невозможно отправить голосовую трансляцию с помощью CallFire REST API

Я пытаюсь отправить исходящий вызов с помощью API REST callfire, и мне трудно это сделать. Вот мой код (адаптировано из https://developers.callfire.com/docs.html#createVoiceBroadcast):

<?php
$username = '...';
$password = '...';

$data = array(
'name' => 'Automation Test',
'fromNumber' => '...',
'recipients' => array(
array('phoneNumber' => '...')
),
'answeringMachineConfig' => 'AM_AND_ALIVE',
'liveSoundText' => 'hello, world!',
'machineSoundText' => 'hello, world!'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://api.callfire.com/v2/campaigns/voice-broadcasts');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$result = json_decode(curl_exec($ch));

print_r($result);

Проблема в ответе. Это выглядит следующим образом:

stdClass Object
(
[httpStatusCode] => 415
[internalCode] => 0
[message] => Exception in API
)

Код состояния 415 для «Неподдерживаемый тип носителя» для https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error но так как я не загружаю какие-либо медиа, эта ошибка не имеет большого смысла.

Может быть, моя ценность для answeringMachineConfig является недействительным. IDK, что AM_AND_LIVE должен означать, но это в примере, поэтому я использую его. Если есть только небольшое количество возможных значений, документация должна сказать об этом ..

1

Решение

Вам необходимо установить тип контента на «application / json».

2

Другие решения

Старый я знаю, но просто наткнулся на него. Может быть:

'answeringMachineConfig' => 'AM_AND_ALIVE',

должно быть:

'answeringMachineConfig' => 'AM_AND_LIVE',

Вы написали ЖИВ, а не ЖИТЬ

1