我正试图用callfire REST发出一个出站呼叫,但在这样做时遇到了一些困难。下面是我的代码(改编自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状态代码是针对每个Error的“不支持的媒体类型”的,但是由于我没有上传任何媒体,这个错误实际上没有多大意义。
也许我对answeringMachineConfig的价值是无效的。AM_AND_LIVE应该是什么意思,但它在示例中,所以我正在使用它。如果只有少量的可能值,文档应该这么说。
发布于 2015-12-29 05:57:57
您需要将内容类型设置为“application/json”。
发布于 2017-01-16 21:54:38
我知道,但我只是偶然发现的。也许:
'answeringMachineConfig' => 'AM_AND_ALIVE',应:
'answeringMachineConfig' => 'AM_AND_LIVE',你写活的而不是活的
https://stackoverflow.com/questions/34500792
复制相似问题