我一直通过电子邮件与CallFire开发人员沟通,真的很感谢他们的帮助。我有一个来自生成的PHP-SDK v2 examples.php示例的发送调用方法的问题,只是为了澄清我试图完成的,从一个网站,我需要呼叫用户,播放消息,然后转接到我将提供的另一个号码。
搜索API文档后,每个SDK的单词transfer出现了16到18次,但大多数都是隐藏的,或者与Lease配置有关。我找到的另一个示例包含在XML传输指南中:https://answers.callfire.com/hc/en-us/articles/200769678-Transfer。我知道我可以在PHP API中完成这一切,但我需要一些指导。
在PHP示例中,liveMessageSoundid在其json字段中有3个参数,整数用于CallFire web后端,但使用machineMessage值,它会打开一个蠕虫罐头,然后machineMessageSoundId引用transferMessage。转接呼叫是我所需要的,但是transferNumber具有值string/voice/string。其中一个字符串必须是电话号码,但SendCall方法示例从未显式显示转接呼叫命令,对吗?
这就是我正在使用的示例,它将构建要传输到CallFire的json。
$request->getOperationConfig()->setBodyParameter("[phoneNumber" : "string",fromNumber" : "string",
"contactId" : integer,attributes" : [ "string" ],
"dialplanXml" : "string",liveMessage" : "string",
"liveMessageSoundId" : integer,machineMessage" : "string",
"machineMessageSoundId" : integer,transferMessage" : "string",
"transferMessageSoundId" : integer,transferDigit" : "string",
"transferNumber" : "string",voice" : "string"
}
]");这就是我到目前为止所知道的:
<?php
//These will be loaded from our site.
$number = "";
$name = "";
$rep_name = "";
$rep_number = "";
$live_message = "Hello," +$name+ " , Thank you for contacing Texas Home School Coalition, please stand by for a moment while we connect you to your representative. Please have your statement ready regarding this important issue, we also left you a guide to read from on the action page you contacted us from":
$machine_message = "Hello, "+ $name +" , We received a request to give you a call from Texas Home School Coalition regarding an important issue for home schoolers and parents but we need you on the line in order to help you reach your representative.";
public static function main() {
$client = \CallFire\Api\DocumentedClient::createClient("9dccec3d4ebb", "$PASSWORD");
$request = $client->sendCalls();
$request->getOperationConfig()->setHeaderParameters(array("Content-Type" => "application/json"));
$body = '[
{
"defaultVoice" => "MALE1"
"phoneNumber": "test_number",
"fromNumber": "8067444441",
"liveMessage": $live_message,
"machineMessage": $machine_message,
"transferMessage": $transfer_message,
"transferNumber": $rep_number;
}
]';
$request->getOperationConfig()->setBodyParameter($body);
$result = $client->request($request);
$json = json_decode($result->getBody());
}
?>发布于 2018-07-12 15:51:32
正如我在电子邮件中提到的-你的代码是正确的,你只需要再添加一个参数transferDigit来告诉系统何时执行传输。
这些都是可用的参数:
$request->getOperationConfig()->setBodyParameter("[
{
"phoneNumber" : "string",
"contactId" : integer,
"attributes" : [ "string" ],
"dialplanXml" : "string",
"liveMessage" : "string",
"liveMessageSoundId" : integer,
"machineMessage" : "string",
"machineMessageSoundId" : integer,
"transferMessage" : "string",
"transferMessageSoundId" : integer,
"transferDigit" : "string",
"transferNumber" : "string",
"voice" : "string"
}所以你的身体必须是这样的:
{
"defaultVoice" => "MALE1"
"phoneNumber": "test_number",
"fromNumber": "8067444441",
"liveMessage": $live_message,
"machineMessage": $machine_message,
"transferMessage": $transfer_message,
"transferNumber": $rep_number,
"transferDigit" : "1 or 2 ....";
} 也请重新生成代码样本,我不知道你在哪里找到了这样的例子:"liveMessageSoundId“:integer,machineMessage”。请看正确的例子。

https://stackoverflow.com/questions/51290487
复制相似问题