2016-11-12 50 views
2

可以说,我只拿到了号,isoCountry例如:有没有办法检索可用电话号码的类型或价格?

String number = +43720116398; 
    String isoCountry = "AT"; 

我试图确定购买前价格或类型。 我想知道这个号码是LOCAL,MOBILE还是TOLL_FREE。

可悲的是查找在这种情况下,客户端不工作:

public static void main(String[] args) throws TwilioRestException { 
    LookupsClient client = new LookupsClient(ACCOUNT_SID, AUTH_TOKEN); 
    PhoneNumber number = client.getPhoneNumber(number , true); 
    System.out.println(number.getType()); 
    } 

它返回不同势种类型或空值。 如果我能得到传入电话号码的类型/价格,这也会令我满意。 有什么办法吗?

回答

1

在我的情况我知道这个号码是本地或移动,所以我只是检查如果这个数字与LOCAL类型存在,如果没有它的移动,你可以很容易地添加检查,如果它的TOLL_FREE或MOBILE,如果你想。 如果有人提供更干净的方式来做到这一点,我会很乐意接受他的答案,如果不是,我会接受我的。

可运行例如:

public class Main { 
    private final static String MOBILE = "MOBILE"; 
    private final static String LOCAL = "LOCAL"; 
    private static TwilioRestClient twilioRestClient = new TwilioRestClient("Key", "key"); 

    public static void main(String[] args) { 
     String number = "+43720116398"; 
     String isoCountry = "AT"; 
     getMsisdnType(number, isoCountry); 
    } 


    public static String getMsisdnType(String msisdn, String isoCountry) { 
     Map<String, String> params = new HashMap<>(); 
     params.put("Contains", msisdn); 
     Optional<AvailablePhoneNumber> number = twilioRestClient.getAccount().getAvailablePhoneNumbers(params, isoCountry, LOCAL).getPageData().stream().findAny(); 
     if (number.isPresent()) return LOCAL; 
     return MOBILE; 
    } 
} 
相关问题