【问题标题】:How to transfer a call using the PHP-SDK v2 API如何使用 PHP-SDK v2 API 转移呼叫
【发布时间】:2018-07-11 16:39:07
【问题描述】:

我一直通过电子邮件与 CallFire 开发人员进行沟通,非常感谢您的帮助。我对生成的 PHP-SDK v2 examples.php 中的示例中的发送调用方法有疑问 只是为了澄清我正在尝试完成,我需要从一个网站呼叫用户,播放消息,然后转移到我将提供的另一个号码。

在搜索 API 文档后,每个 SDK 都会出现 16 到 18 次单词传输,但其中大部分是隐藏的,或者与租赁配置有关。我发现的另一个示例包含在 XML 传输指南中:https://answers.callfire.com/hc/en-us/articles/200769678-Transfer。 我知道我可以在 PHP API 中完成这一切,但我需要一些指导。

在 PHP 示例中,liveMessageSoundid 在其 json 字段中有 3 个参数,整数用于 CallFire Web 后端,但带有 machineMessage 值会打开一罐蠕虫跟踪,然后 machineMessageSoundId 引用 transferMessage。我需要转接电话,但 transferNumber 的值是字符串/语音/字符串。这些字符串之一必须是电话号码,但 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());
}

?>

【问题讨论】:

    标签: php sdk transfer callfire


    【解决方案1】:

    正如我在电子邮件中提到的 - 你的代码是正确的,你只需要再添加一个参数 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”。 请看正确的一个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      相关资源
      最近更新 更多