php - 如何使用 PHP 在 Twilio 中传递自定义参数?

标签 php laravel twilio-api twilio-twiml

从这里看一下:https://www.twilio.com/docs/voice/client/twiml 我能得到的最接近的是:

$response = new Twiml();
$callerIdNumber = config('services.twilio')['number'];
$dial = $response->dial(['callerId' => $callerIdNumber]);
$dial->parameter([
     "name" => "firstname",
     "value" => "Test Firstname",
]);

$dial->parameter([
    "name" => "lastname",
    "value" => "Test lastname",
]);

$dial->client('support_agent');
return $response;

但它会抛出无效的 XML 警告:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial callerId="+12055461045">
        <Parameter name="firstname" value="Test Firstname"/>
        <Parameter name="lastname" value="Test lastname"/>
        <Client>support_agent</Client>
    </Dial>
</Response>

在文档中,它应该看起来像这样:

<Response>
    <Dial>
        <Client>
            <Identity>joey</Identity>
            <Parameter name="firstname" value="Test Firstname"/>
            <Parameter name="lastname" value="Test lastname"/>
        </Client>
    </Dial>
</Response>

我尝试了很多方法,但它们都抛出应用程序错误。这是我尝试过的两个。我尝试过的其他东西我已经忘记了。

// trial 1
$dial->client->identity('support_agent')
$dial->client->parameter([
    "name" => "firstname",
    "value" => "Test Firstname",
]);

//trial 2
$dial->client->identity('support_agent', array('parameter' => [
    "name" => "firstname",
    "value" => "Test Firstname",
]))

任何帮助将不胜感激!

谢谢!

最佳答案

您可以引用下面的PHP代码示例来添加自定义参数,该代码已被我在本地系统上测试过。

        require_once './vendor/autoload.php';
        use Twilio\TwiML\VoiceResponse;

        $response = new VoiceResponse();
        $dial = $response->dial('');
        $client = $dial->client();
        $identity = $client->Identity('user-jane');

        $client->parameter([
             "name" => "firstname",
             "value" => "Test Firstname",
        ]);

        $client->parameter([
            "name" => "lastname",
            "value" => "Test lastname",
        ]);

        echo $response;

Response is below

<Response>
<Dial>
    <Client>
        <Identity>user-jane</Identity>
        <Parameter name="firstname" value="Test Firstname" />
        <Parameter name="lastname" value="Test lastname" />
    </Client>
</Dial>

关于php - 如何使用 PHP 在 Twilio 中传递自定义参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59098752/

相关文章:

php - 将 UNIX 时间戳转换为格式化日期字符串

php - laravel 选择与每个帖子相关的最后一条评论

javascript - 在 twilio 中使用 javascript 将调用者置于保留状态并从保留状态恢复

javascript - twilio video 的群组房间和点对点房间有什么区别?

php - 新PHP上的旧版Wordpress。错误报告

php - Mysql INSERT INTO 和 UPDATE 无法正常工作

php - 混淆 X-Php-Originating-Script

laravel - 转换原始 SQL 以使用 Eloquent 查询生成器

mysql - Laravel - 提高大数据(800 万行以上)查询读取性能的可能解决方案

python - 确保 Twilio 按顺序发送消息链的最可靠、最有效的方法是什么?