【发布时间】:2021-11-30 13:50:04
【问题描述】:
不幸的是,我们的项目在 PHP 7.0 上运行,我们目前无法升级它。并且 Twilio 的库在包含 trusthub API 支持的版本上使用 PHP 7.2+。
所以我正在尝试使用 Guzzle 而不是他们的库,从这个 doc page 执行“创建类型的最终用户:customer_profile_business_information”的请求,并且我正在按照 curl 示例中的说明进行操作。
除了看起来被忽略的 Attributes 字段之外,一切都运行良好,它返回一个空白对象,当然在他们的界面上它也没有显示。
所以万一链接断开,curl代码示例如下:
ATTRIBUTES=$(cat << EOF
{
"business_identity": "direct_customer",
"business_industry": "EDUCATION",
"business_name": "acme business",
"business_regions_of_operation": "USA_AND_CANADA",
"business_registration_identifier": "DUNS",
"business_registration_number": "123456789",
"business_type": "Partnership",
"social_media_profile_urls": "",
"website_url": "test.com"
}
EOF
)
curl -X POST https://trusthub.twilio.com/v1/EndUsers \
--data-urlencode "Attributes=$ATTRIBUTES" \
--data-urlencode "FriendlyName=friendly name" \
--data-urlencode "Type=customer_profile_business_information" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
这是我制作的 PHP 代码:
<?php
// $company is a model
$token = base64_encode(\Config::get('twilio.accountSid') . ':' . \Config::get('twilio.authToken'));
$client = new \GuzzleHttp\Client(['base_uri' => 'https://trusthub.twilio.com/v1/', 'headers' => ['Authorization' => "Basic {$token}", 'Content-Type' => 'application/x-www-form-urlencoded']]);
$client->post("EndUsers", [
'form_params' => [
'FriendlyName' => $company->business_name,
'Type' => 'customer_profile_business_information',
'Attributes' => [
'business_name' => $company->business_name,
'business_identity' => 'direct_customer',
'business_type' => $company->business_type,
'business_industry' => $company->industry->twilio_name,
'business_registration_identifier' => 'EIN',
'business_registration_number' => $company->tax_id_number,
'business_regions_of_operation' => $company->region,
'website_url' => $company->website,
'social_media_profile_urls' => '',
]
]
]);
我在这里遗漏了什么没有保存Attributes 数据吗?
PS:其他字段(FriendlyName 和 Type)正在成功保存。
谢谢!
【问题讨论】:
标签: php twilio guzzle twilio-api twilio-php