@@ -633,44 +633,46 @@ export async function getContactInfo({
633633 return { } ;
634634 }
635635 const twilio = await exports . getTwilio ( organization ) ;
636- const types = [ "carrier" ] ;
636+ const types = { fields : "line_type_intelligence" } ;
637637 if ( lookupName ) {
638638 // caller-name is more expensive
639- types . push ( " caller-name") ;
639+ types . fields = "line_type_intelligence, caller-name";
640640 }
641641 const contactInfo = {
642642 contact_number : contactNumber ,
643643 organization_id : organization . id ,
644644 service : "twilio"
645645 } ;
646646 try {
647- const phoneNumber = await twilio . lookups . v1
647+ const phoneNumber = await twilio . lookups . v2
648648 . phoneNumbers ( contactNumber )
649- . fetch ( { type : types } ) ;
649+ . fetch ( types ) ;
650650
651- if ( phoneNumber . carrier ) {
652- contactInfo . carrier = phoneNumber . carrier . name ;
651+ if ( phoneNumber . lineTypeIntelligence . carrier_name ) {
652+ contactInfo . carrier = phoneNumber . lineTypeIntelligence . carrier_name ;
653653 }
654- if ( phoneNumber . carrier . error_code ) {
654+ if ( phoneNumber . lineTypeIntelligence . error_code ) {
655655 // e.g. 60600: Unprovisioned or Out of Coverage
656656 contactInfo . status_code = - 2 ;
657- contactInfo . last_error_code = phoneNumber . carrier . error_code ;
657+ contactInfo . last_error_code = phoneNumber . lineTypeIntelligence . error_code ;
658658 } else if (
659- phoneNumber . carrier . type &&
660- phoneNumber . carrier . type === "landline"
659+ // mobile or landline
660+ phoneNumber . lineTypeIntelligence . type &&
661+ phoneNumber . lineTypeIntelligence . type === "landline"
661662 ) {
662663 // landline (not mobile or voip)
663664 contactInfo . status_code = - 1 ;
664665 } else if (
666+ // example: US
665667 phoneNumber . countryCode &&
666668 getConfig ( "PHONE_NUMBER_COUNTRY" , organization ) &&
667669 getConfig ( "PHONE_NUMBER_COUNTRY" , organization ) !==
668670 phoneNumber . countryCode
669671 ) {
670672 contactInfo . status_code = - 3 ; // wrong country
671673 } else if (
672- phoneNumber . carrier . type &&
673- phoneNumber . carrier . type !== "landline"
674+ phoneNumber . lineTypeIntelligence . type &&
675+ phoneNumber . lineTypeIntelligence . type !== "landline"
674676 ) {
675677 // mobile, voip
676678 contactInfo . status_code = 1 ;
0 commit comments