本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Pinpoint 包含电话号码验证服务,您可以使用该服务来确定电话号码是否有效,以及获得有关电话号码本身的额外信息。例如,当您使用电话号码验证服务时,它返回以下信息:
-
E.164 格式的电话号码。
-
电话号码类型(如手机、固定电话或 VoIP)。
-
电话号码所在的城市和国家。
-
与电话号码关联的服务提供商。
使用电话号码验证服务需要额外收费。有关更多信息,请参阅 Amazon Pinpoint 定价
重要
对于在美国和加拿大发起的电话号码,电话号码验证 API 将不再返回 City
、County
、Timezone
和 ZipCode
的数据。
Amazon Pinpoint 电话号码验证使用案例
您可以使用电话号码验证服务来实现多种使用案例,包括:
-
验证 Web 表单上提供的电话号码 – 如果您使用基于 Web 的表单来收集客户的联系信息,请验证客户提供的电话号码,然后再提交表单。使用网站后端,通过 Amazon Pinpoint API 验证该号码。API 响应表示该号码是否无效,例如,该电话号码格式设置是否错误。如果确定客户提供的电话号码无效,则 Web 表单可提示该客户提供其他号码。
-
清理现有联系人数据库 – 如果您有一个客户电话号码数据库,则可验证每个电话号码,然后根据结果更新数据库。例如,如果发现端点的电话号码无法接收短信,可以将该端点的
ChannelType
属性从SMS
更改为VOICE
。您可以先验证电话号码,然后按照向 Amazon Pinpoint 中添加端点中(对于单个端点)或将端点批量添加到 Amazon Pinpoint中(对于多个端点)的说明,更新新端点或现有端点的ChannelType
属性。 -
在发送消息前选择正确的渠道 – 如果您打算发送短信,但确定目标号码是无效的,则您可以通过另外的渠道向收件人发送消息。例如,如果端点无法接收短信,则您可以改为发送语音消息。
使用验证电话号码 AWS CLI
以下示例说明如何使用 AWS CLI验证电话号码。有关更多信息,请参阅 AWS CLI 命令参考 中的 phone-number-validate。有关验证响应的示例,请参阅电话号码验证响应。有关配置的更多信息 AWS CLI,请参阅《AWS Command Line Interface 用户指南》 AWS CLI中的配置。
要使用电话号码验证服务,请使用 AWS CLI
-
在命令行输入以下命令:
aws pinpoint phone-number-validate --number-validate-request PhoneNumber=
+442079460881
,IsoCountryCode=GB
在前面的命令中,
+442079460881
替换为要验证的电话号码和GB
两位数的 ISO 国家或地区代码。注意
将电话号码提供给电话号码验证服务时,应始终包含国家/地区代码。如果不包含国家/地区代码,则该服务可能会返回位于其他国家/地区的电话号码信息。例如
+44-207-946-0881
,电话号码中可以有破折号。
电话号码验证响应
根据可用于您提供的电话号码的数据,电话号码验证服务提供的信息会略有不同。本节包含电话号码验证服务返回的响应示例。
注意
电话号码验证服务提供的数据基于全球电信提供商和其他实体提供的信息。某些国家/地区的提供商更新这些信息的频率可能低于其他国家/地区的提供商。例如,如果您发出手机号码验证请求,并且您提供的号码从一家移动运营商转网到了另一家,则电话号码验证服务的响应可能包含原始运营商的名称,而不是当前运营商的名称。
有效手机号码
当向电话号码验证服务发送请求,并且该电话号码为有效的手机号码时,会返回类似于以下示例的信息:
{
"NumberValidateResponse": {
"Carrier": "ExampleCorp Mobile",
"City": "Seattle",
"CleansedPhoneNumberE164": "+12065550142",
"CleansedPhoneNumberNational": "2065550142",
"Country": "United States",
"CountryCodeIso2": "US",
"CountryCodeNumeric": "1",
"OriginalPhoneNumber": "+12065550142",
"PhoneType": "MOBILE",
"PhoneTypeCode": 0,
"Timezone": "America/Los_Angeles",
"ZipCode": "98101"
}
}
有效固定电话号码
如果请求包含有效的固定电话号码,则电话号码验证服务返回类似于以下示例的信息:
{
"CountryCodeIso2": "US",
"CountryCodeNumeric": "1",
"Country": "United States",
"City": "Santa Clara",
"ZipCode": "95037",
"Timezone": "America/Los_Angeles",
"CleansedPhoneNumberNational": "4085550101",
"CleansedPhoneNumberE164": "14085550101",
"Carrier": "AnyCompany",
"PhoneTypeCode": 1,
"PhoneType": "LANDLINE",
"OriginalPhoneNumber": "+14085550101"
}
有效 VoIP 电话号码
如果请求包含有效的 IP 语音 (VoIP) 电话号码,则电话号码验证服务返回类似于以下示例的信息:
{
"NumberValidateResponse": {
"Carrier": "ExampleCorp",
"City": "Countrywide",
"CleansedPhoneNumberE164": "+441514960001",
"CleansedPhoneNumberNational": "1514960001",
"Country": "United Kingdom",
"CountryCodeIso2": "GB",
"CountryCodeNumeric": "44",
"OriginalPhoneNumber": "+441514960001",
"PhoneType": "VOIP",
"PhoneTypeCode": 2
}
}
无效电话号码
如果请求包含无效的电话号码,则电话号码验证服务返回类似于以下示例的信息:
{
"NumberValidateResponse": {
"CleansedPhoneNumberE164": "+44163296076",
"CleansedPhoneNumberNational": "163296076",
"Country": "United Kingdom",
"CountryCodeIso2": "GB",
"CountryCodeNumeric": "44",
"OriginalPhoneNumber": "+440163296076",
"PhoneType": "INVALID",
"PhoneTypeCode": 3
}
}
注意,此响应中的 PhoneType
属性指示该电话号码为 INVALID
,并且它不包含有关与此电话号码相关联的运营商或位置。应避免向 PhoneType
为 INVALID
的电话号码发送短信或语音,因为这些号码不太可能属于实际收件人。
其他电话号码
有时,电话号码验证服务的响应包含的 PhoneType
值为 OTHER
。在以下情况下,该服务可能返回此类响应:
-
电话号码为免费(免费电话)号码。
-
电话号码是为在电视节目和电影中使用而预留的,例如以 555 开头的北美电话号码。
-
电话号码包含一个当前未在使用的区号,例如北美的 999 区号。
-
电话号码是为其他某个用途预留的。
以下示例说明当请求包含虚构的北美电话号码时电话号码验证服务提供的响应:
{
"NumberValidateResponse": {
"Carrier": "Multiple OCN Listing",
"CleansedPhoneNumberE164": "+14255550199",
"CleansedPhoneNumberNational": "4255550199",
"Country": "United States",
"CountryCodeIso2": "US",
"CountryCodeNumeric": "1",
"OriginalPhoneNumber": "+14255550199",
"PhoneType": "OTHER",
"PhoneTypeCode": 4,
"Timezone": "America/Los_Angeles"
}
}
预付费电话号码
如果请求包含有效的预付费电话号码,则电话号码验证服务返回类似于以下示例的信息:
{
"NumberValidateResponse": {
"Carrier": "ExampleCorp",
"City": "Countrywide",
"CleansedPhoneNumberE164": "+14255550199",
"CleansedPhoneNumberNational": "4255550199",
"Country": "United States",
"CountryCodeIso2": "US",
"CountryCodeNumeric": "1",
"OriginalPhoneNumber": "+14255550199",
"PhoneType": "PREPAID",
"PhoneTypeCode": 5
}
}
有关这些响应中包含的信息的详情,请参阅《Amazon Pinpoint API 参考》中的电话号码验证。