Skip to content

Commit 2b8c7c5

Browse files
Merge pull request #2471 from StateVoicesNational/re/twilio-lookup
#2471 Fix Scrubber
2 parents 93d1041 + 3364e9b commit 2b8c7c5

File tree

2 files changed

+16
-12
lines changed
  • src/extensions

2 files changed

+16
-12
lines changed

src/extensions/service-managers/scrub-bad-mobilenums/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Jobs } from "../../../workers/job-processes";
55
import { Tasks } from "../../../workers/tasks";
66
import { jobRunner } from "../../job-runners";
77
import { getServiceFromOrganization } from "../../service-vendors";
8+
import { log } from "../../../lib/log.js"
89
// / All functions are OPTIONAL EXCEPT metadata() and const name=.
910
// / DO NOT IMPLEMENT ANYTHING YOU WILL NOT USE -- the existence of a function adds behavior/UI (sometimes costly)
1011

@@ -306,6 +307,7 @@ export async function nextBatchJobLookups({
306307
lastCount,
307308
steps
308309
);
310+
log.error("scrub-bad-mobilenums error: ", err);
309311
await r
310312
.knex("job_request")
311313
.where("id", job.id)

src/extensions/service-vendors/twilio/index.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)