我想在Twilio中获取电话号码的价格。我有这个来获取电话号码
var localAvailableNumbers = Twilio.Rest.Api.V2010.Account.AvailablePhoneNumberCountry.LocalResource.Read("US");
这是为了得到价格
var prices = Twilio.Rest.Pricing.V1.PhoneNumber.CountryResource.Fetch("US");
但我看不出有任何方法可以将每个电话号码映射到价格?
这是电话号码请求的响应示例
{
"uri": "\/2010-04-01\/Accounts\/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\/AvailablePhoneNumbers\/US\/Local.json?AreaCode=510",
"available_phone_numbers": [
{
"friendly_name": "(510) 564-7903",
"phone_number": "+15105647903",
"lata": "722",
"rate_center": "OKLD TRNID",
"latitude": "37.780000",
"longitude": "-122.380000",
"region": "CA",
"postal_code": "94703",
"iso_country": "US",
"capabilities":{
"voice": true,
"SMS": true,
"MMS": false
},
"beta": false
}
]
}
它是否告诉我这是本地的,移动的,免费的等等。
答案 0 :(得分:1)
电话号码按地点和类型定价,因此[类型] [国家]中的所有电话号码都是相同的价格。
在上面的代码中,您正在查询定价API的美国电话号码价格,因此您将获得两条PhoneNumberPrice记录,告诉您本地和免费电话号码的价格,每个号码都有一个NumberType属性告诉您价格适用的数字类型。如果您对英国等其他国家/地区提出相同的查询,则可能会获得本地,移动,国内和免费价格。
var country = Twilio.Rest.Pricing.V1.PhoneNumber.CountryResource.Fetch("US");
var prices = country.PhoneNumberPrices;
foreach(var price in prices)
{
Console.Writeline(price.NumberType.ToString());
}
现在,当您知道国家/地区和类型的价格时,您可以查询其中一种类型的可用电话号码。在您上面的代码中,您要求美国本地电话号码,每个月都是1美元。
希望有所帮助。
答案 1 :(得分:0)
我发现了问题。对于不同的电话号码类型,我需要进行不同的查询。
// Local numbers
var numbers = LocalResource.Read("US");
// Mobile numbers
var numbers = MobileResource.Read("US");