Зарегистрируйтесь и обратитесь в поддержку, чтобы получить 100 бесплатных проверок.Зарегистрироваться бесплатно
Иллюстрация процесса CarrierLookup к статье «Разделение списка номеров разных стран на задачи Определение исходного оператора»
Наглядная схема процесса, рассматриваемого в этой статье CarrierLookup.

Манифест «страна-файл» позволяет превратить смешанный экспорт из CRM в проверенные задачи Определение исходного оператора для конкретных стран.

Чтобы разделить список номеров разных стран для массовых задач CarrierLookup, сохраните исходный экспорт, приведите каждый номер к международному формату, сгруппируйте подходящие строки по выбранной стране ISO и создайте один проверенный файл TXT или CSV для каждой страны. Ведите манифест, связывающий каждый выходной файл с его страной, исходными строками, исключениями и последующим результатом. Массовый сервис CarrierLookup обрабатывает файл для выбранной страны; он не разделяет смешанный экспорт за команду.

Начните с исходного списка и данных о стране

Поля рынка в CRM недостаточно для включения номера в массовую задачу. Клиент может проживать в одной стране, сохраняя номер другой. Начните с международного кода страны телефонного номера и сохраняйте исходную страну или рынок из CRM как отдельное бизнес-поле. ITU-T Recommendation E.164 определяет структуру международной нумерации; он также учитывает коды нумерации, охватывающие интегрированный план, а не просто метку одной страны. Используйте поддерживаемый парсер нумерации и проверяйте неоднозначные строки, а не назначайте страну только по первой цифре или столбцу электронной таблицы.

Считывайте телефонные идентификаторы как текст. В противном случае программное обеспечение для работы с электронными таблицами и программы для чтения CSV могут изменить начальные символы или неверно определить числовой тип. Например, pandas read_csv documentation описывает явное указание dtype и поблочное чтение. Команде, использующей другой инструмент, требуются те же свойства: импорт с сохранением текстового формата и повторяемый способ обработки большого экспорта без автоматического изменения идентификаторов.

Сохраняйте исходный файл без изменений и локальную ссылку на строку. Если у значения телефона отсутствует международный код страны, не угадывайте его только для того, чтобы строка прошла проверку при массовой загрузке. Отметьте ее для проверки исходных данных. Строка, отклоненная до отправки, должна оставаться видимой в отчете о приемке, даже если она никогда не появится в файле результатов CarrierLookup.

Создайте манифест «страна-файл» перед загрузкой

Создайте манифест с одной строкой для каждого целевого выходного файла. Рекомендуемые поля, принадлежащие клиенту: выбранная страна ISO, имя выходного файла, дата исходного экспорта, количество исходных строк, количество подготовленных уникальных номеров, количество исключенных строк, ответственный за проверку и контрольная сумма файла. Ведите отдельный вспомогательный файл (sidecar), связывающий каждый канонический номер с каждой исходной контактной строкой. Это локальные элементы управления, а не поля в ответе или CSV-файле CarrierLookup.

Разделяйте на одностолбцовые файлы TXT или CSV только подготовленные номера с кодами стран. CarrierLookup API documentation определяет выбранную страну для глобального массового сервиса Определение исходного оператора, в то время как одиночные и многоканальные запросы в реальном времени принимают номера из разных стран. Это различие объясняет, почему смешанный экспорт требует подготовки для массовой обработки, но может обрабатываться иначе в рамках рабочего процесса в реальном времени.

Манифест также должен содержать причину исключения строки: отсутствие кода страны, невозможность разбора номера, дубликат подготовленного идентификатора или страна, не включенная в текущий запуск. Дубликаты могут представлять несколько законных исходных контактов. Удаляйте дубликаты из ключа отправки, сохраняя при этом связь с каждой исходной строкой во вспомогательном файле; после получения успешного результата команда сможет целенаправленно сопоставить контекст распределения с каждой соответствующей записью.

Подготовьте отчет о приемке для каждой страновой группы

Перед отправкой сравните каждый файл с манифестом. Убедитесь, что каждая строка содержит один номер с кодом страны, что выбранная страна соответствует подготовленным строкам и что в одностолбцовый файл не попал заголовок или столбец из CRM. Файл должен соответствовать выбранной стране согласно текущим правилам сервиса. Не указывайте фиксированный порог строк или размера файла по памяти; проверяйте актуальную информацию о массовом продукте и документацию API для получения текущих лимитов приемки.

Отчет о приемке может содержать четыре итоговых значения: рассмотренные исходные строки, строки, отложенные для исправления данных, записанные уникальные идентификаторы и дубликаты исходных строк, представленные через вспомогательный файл. Пересчитывайте эти итоги на основе файлов, а не копируйте их из предыдущего экспорта. Манифест, в котором указана одна страна, в то время как файл содержит другую, является предотвратимой операционной ошибкой; поручите проверяющему сравнить файл и выбранную страну перед отправкой.

Рассматривайте небольшую страновую группу как точку принятия решения. Если она не соответствует текущим правилам массовой приемки, отложите ее или используйте документированный рабочий процесс в реальном времени, где это уместно. Не дополняйте ее повторяющимися номерами. CarrierLookup имеет синхронный сервис Определение исходного оператора для отдельных номеров и запросов по нескольким номерам, а также отдельный асинхронный глобальный файловый сервис Определение исходного оператора. Это разные рабочие процессы, и команда должна выбирать их исходя из фактического разделения и текущих ограничений продукта.

Отправляйте и отслеживайте каждую задачу отдельно

Для каждой утвержденной группы отправьте файл с соответствующей выбранной страной и запишите возвращенную ссылку на задачу в манифест. Не прикрепляйте файл одной страны к задаче другой страны только потому, что имена файлов выглядят похоже. Справочник API CarrierLookup документирует конечные точки для массовой отправки и статуса задачи; текущие правила API должны регулировать детали загрузки и опроса. Массовая обработка является асинхронной, поэтому принятая загрузка не является завершенным результатом определения оператора.

Отслеживайте каждую задачу независимо как processing, success или failed. Задача, которая не прошла подготовку, могла исключить недействительные, дублирующиеся, не имеющие страны или иностранные строки и может снова не пройти условие приемки. Сохраняйте ее манифест и ошибку для исправления. Не делайте выводов об операторе на основе неудачной задачи или префикса исходного номера. Успешная задача предоставляет один CSV-файл для подготовленных номеров, который следует хранить вместе с соответствующим манифестом и вспомогательным файлом.

После загрузки проверьте, относится ли файл к нужной задаче и выбранной стране. Массовые идентификаторы — это простые цифры с кодом страны, без знака «плюс» или пробелов. Нормализуйте ключ сравнения, принадлежащий клиенту, с обеих сторон, сохраняя при этом исходные файлы. Результат описывает исходно назначенного оператора, базового оператора, тип линии и географию диапазона номеров, где это доступно; это не текущий оператор после переноса номера и не местоположение человека в реальном времени.

Согласование результатов без потери исходных контактов

Присоединяйте возвращенные идентификаторы к вспомогательному файлу, а не к исходным позициям строк CSV. Массовая предварительная обработка может удалять дубликаты и недействительные записи, поэтому порядок строк не является надежным ключом для объединения. Создавайте отчеты по возвращенным идентификаторам, несопоставленным подготовленным идентификаторам и возвращенным идентификаторам, которые не соответствуют манифесту. Остановите любое автоматическое обновление CRM для неожиданных ключей до тех пор, пока оператор не проведет расследование.

Для номера, общего для нескольких исходных строк, целенаправленно сопоставьте один завершенный результат поиска с этими строками и сохраните то же время наблюдения и ссылку на задачу. Если номер контакта изменился после экспорта, отметьте конфликт, а не перезаписывайте текущие данные. Дополнительные проверки версий — это выбор интеграции клиента, а не функция продукта. Оставляйте пустые поля оператора как недоступную информацию о распределении, а не перекодируйте их как недействительный или недоступный номер.

Последнее действие — отправить проверенный файл для конкретной страны через глобальный сервис Определение исходного оператора и сохранить его манифест вместе с результатом. Это дает операторам CRM прослеживаемый путь от смешанного исходного экспорта к отдельным задачам и обратно, не утверждая, что данные о распределении доказывают текущую сеть, возможность контакта, личность или согласие.

Часто задаваемые вопросы

Может ли массовый сервис CarrierLookup автоматически разделить CSV-файл с номерами разных стран?

Такая функция разделения не документирована. Подготовьте файлы для конкретных стран и выберите соответствующую страну для каждой задачи.

Что делать с номерами, у которых отсутствуют коды стран?

Отложите их для проверки исходных данных. Не придумывайте код страны, чтобы загрузка прошла успешно.

Следует ли объединять результаты с исходным экспортом по номеру строки?

Нет. Используйте возвращенный идентификатор и вспомогательный файл, принадлежащий клиенту, который сопоставляет каждый подготовленный номер с его исходными строками.

Узнайте больше

Выберите информацию о продукте, которая соответствует следующему шагу в вашем рабочем процессе.

Источники