【问题标题】:unable to send out voice broadcast with callfire REST API无法使用 callfire REST API 发送语音广播
【发布时间】:2015-12-28 21:07:21
【问题描述】:

我正在尝试使用 callfire REST API 发出出站呼叫,但在执行此操作时遇到了一些困难。这是我的代码(改编自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 的值无效。我知道 AM_AND_LIVE 应该是什么意思,但它在示例中,所以我正在使用它。如果只有少数可能的值,文档应该这样说..

【问题讨论】:

    标签: php curl callfire


    【解决方案1】:

    您需要将内容类型设置为“应用程序/json”。

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 - From Review
    • @mjp66 - 我实际上认为它可能。但我要到周三早上才能测试它..
    【解决方案2】:

    老了,我知道,但刚刚碰到它。也许:

    'answeringMachineConfig' => 'AM_AND_ALIVE',
    

    应该是:

    'answeringMachineConfig' => 'AM_AND_LIVE',
    

    你写的是 ALIVE 而不是 LIVE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-01
      • 2016-04-04
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多