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



从这里看: 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 TwilioTwiMLVoiceResponse;
$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>
<Dial>
<Client>
<Identity>user-jane</Identity>
<Parameter name="firstname" value="Test Firstname" />
<Parameter name="lastname" value="Test lastname" />
</Client>
</Dial>

最新更新