Valida números de teléfono en Zoho CRM con la API de Neutrino y Deluge.

Analiza, valida y localiza un número de teléfono con la API de Neutrino.

Los números de teléfono inválidos perjudican silenciosamente las campañas de telemarketing. Este script analiza cada número mediante la API de Neutrino antes de considerarlo fiable: confirma que el número es real, indica si es un móvil o un teléfono fijo, lo normaliza al formato E.164 y lo registra en el campo correspondiente. Si un número falla, genera una tarea en Zoho CRM en lugar de descartarlo sin previo aviso.

Actualizado en tres lugares. El host cambió: Neutrino documenta la API en neutrinoapi.net ahora, no en neutrinoapi.com . La autenticación se trasladó a los encabezados User-ID y API-Key ; el estilo antiguo de parámetro de formulario sigue funcionando, pero ya no es el predeterminado documentado. Y el original usaba zoho.crm._create y zoho.crm._updateRecord , que son nombres de tareas obsoletos; los actuales son zoho.crm.createRecord y zoho.crm.updateRecord . Los campos de respuesta valid y type no han cambiado, por lo que la lógica sigue siendo válida.

Antes de empezar

  • Una cuenta de API de Neutrino . El plan gratuito aún existe y es suficiente para realizar pruebas; los planes de pago comienzan en alrededor de $10 al mes.
  • Tu ID de usuario de Neutrino y tu clave API se almacenan como variables de Zoho en lugar de estar directamente en el código.
  • ¿Estás usando Creator con CRM? Necesitarás una conexión Zoho OAuth con ZohoCRM.modules.ALL y pasar connection:"your_connection" a las tareas zoho.crm .

Guion de Diluvio

 // Activador: en un cliente potencial de Zoho CRM o desde una función de creador
apiKey = "TU_CLAVE_API_DE_NEUTRINO";
userId = "TU_ID_DE_USUARIO_DE_NEUTRINO";

númeroDeTeléfono = si(!estáEnBlanco(Móvil), Móvil, Teléfono);
si(estáenblanco(númerodeteléfono))
{
    devolver;
}

headerMap = Mapa();
headerMap.put("ID de usuario",userId);
headerMap.put("API-Key",apiKey);

bodyMap = Mapa();
bodyMap.put("número",númerodeteléfono);
// bodyMap.put("country-code","US"); // opcional, ayuda con números en formato local

resp = invokeurl
[
    URL: "https://neutrinoapi.net/phone-validate"
    tipo: POST
    parámetros: bodyMap
    encabezados: mapa de encabezados
];

// Neutrino señala problemas de autenticación y cuota en el cuerpo, no en el código de estado.
if(resp.getJSON("api-error") != null)
{
    info "Error de Neutrino " + resp.getJSON("api-error") + ": " + resp.getJSON("api-error-msg");
    devolver;
}

isValid = resp.getJSON("valid");

si(isValid == falso)
{
    taskInfo = Mapa();
    taskInfo.put("Asunto","Teléfono no válido");
    taskInfo.put("Descripción","Neutrino rechazado " + phoneNumber + ". Por favor, verifique con el contacto.");
    taskInfo.put("What_Id",LeadID);
    taskInfo.put("$se_module","Leads");
    createResp = zoho.crm.createRecord("Tasks",taskInfo);
    información crearRespuesta;
}
demás
{
    lineType = resp.getJSON("type"); // móvil | línea fija | tarifa premium | gratuito | voip | desconocido
    e164 = resp.getJSON("número-internacional");

    actualizarMapa = Mapa();
    si(lineType == "mobile")
    {
        updateMap.put("Móvil",e164);
    }
    demás
    {
        updateMap.put("Phone",e164);
    }
    updateResp = zoho.crm.updateRecord("Leads",LeadID.toString(),updateMap);
    Actualización de informaciónRespuesta;
} 

Notas

  • Los errores se reciben con código HTTP 200. Neutrino informa de fallos de autenticación y agotamiento de cuotas en un campo api-error del cuerpo de la solicitud. Sin la comprobación anterior, una clave caducada se interpreta como " valid es nula" y todos los números aparecen como inválidos sin previo aviso.
  • Almacene international-number , no la entrada sin procesar. La normalización a E.164 durante la entrada es lo que permite que la deduplicación funcione posteriormente.
  • Las claves de respuesta están en formato kebab-case por defecto: country-code , is-mobile , international-number . Si prefiere el formato camel o snake, especifique output-case .
  • voip merece un análisis aparte. Un número VoIP es válido, pero a menudo no acepta SMS. Si envías SMS a tus clientes potenciales, utiliza este método en lugar de tratarlo como un número de móvil.
  • Controla tu cuota en las ejecuciones masivas. Validar una base de datos existente de 50 000 clientes potenciales agotará rápidamente tu plan. Valida al crear y editar, y luego completa los datos en lotes programados.

Este script forma parte de la biblioteca gratuita Creator Scripts Deluge.

Los 39 scripts de Deluge, el curso completo de Zoho Creator y todos los recursos descargables ahora son gratuitos. Obtén acceso gratuito →