Artículos sobre: Integraciones

Cómo automatizar la sincronización de contactos desde una planilla de Google Sheets hacia Icomm

La integración entre Icomm y Google Sheets permite sincronizar automáticamente los contactos desde una planilla de cálculo hacia la plataforma. Esta funcionalidad facilita el proceso de importación de contactos y mantiene actualizada la base de datos de manera eficiente.



Pasos para la configuración:



Configuración inicial:

Abre tu planilla de Google Sheets.
Haz clic en Extensiones en la barra de menú y selecciona Apps Script.



Elimina el código predeterminado e introduce el siguiente código.

function atEdit(e) {

  var sheet = e.source.getActiveSheet();

  var range = e.range;
  
  // Verificar si la edición se realizó en la hoja de cálculo que te interesa
  if (sheet.getName() === "Nombre de la hoja") {
    var row = range.getRow();
    var numRows = range.getNumRows();
    
    // Iterar sobre cada fila editada y enviar la solicitud HTTP por separado para cada una
    for (var i = row; i < row + numRows; i++) {
      var email = sheet.getRange(i, 1).getValue(); // Numero de columna
      var nombre = sheet.getRange(i, 2).getValue(); // Numero de columna
      var cedular = sheet.getRange(i, 3).getValue(); // Numero de columna
      



      
      // Construir el objeto de datos para enviar a la API
      var data = {
        "ProfileKey": "ProfileKey del perfil al cuál se agregan los contactos",
        "ContactList": [
          {
            "Email": email,
            "CustomFields": [
              {
                "Key": "nombre",
                "Value": nombre
              },
              {
                "Key": "celular",
                "Value": celular
              },
              
                
          
            ]
          }
        ]
      };
      
      // Enviar solicitud HTTP a la API remota para la fila actual
      enviarSolicitudHTTP(data);
    }
  }
}

function enviarSolicitudHTTP(data) {
  var url = 'https://api.icommarketing.com/Contacts/SaveMultiContact.Json/';
  var headers = {
    'accept': 'application/json',
    'Authorization': 'APIkey de la instancia en Icomm',
    'Content-Type': 'application/json'
  };
  
  // Realizar la solicitud HTTP POST
  var options = {
    'method': 'post',
    'headers': headers,
    'payload': JSON.stringify(data)
  };
  
  UrlFetchApp.fetch(url, options);
}


Configuración de la planilla de Google Sheets:

Asegúrate de que tu planilla tenga las columnas necesarias para los datos de contactos (por ejemplo, email, nombre, celular).
Nombra las columnas de acuerdo con los campos específicos que deseas sincronizar.
Ten en cuenta la posición de cada columna, ya que esta se indicará en el script (por ejemplo, la columna A representa la columna 1).



Configuración del script y la API de Icomm:

En la sección if (sheet.getName() === "Nombre de la Hoja"), reemplaza "Nombre de la Hoja" con el nombre de tu planilla de Google Sheets.
En la sección var email = sheet.getRange(i, 1).getValue(), indica el número de columna correspondiente para cada campo (por ejemplo, 1 para email).
En la sección "CustomFields", coloca los mismos campos que en tu planilla y en el perfil de Icomm.



Obtén la clave de perfil (ProfileKey) de tu cuenta en Icomm y reemplázala en la variable "ProfileKey" del código.




Asegúrate de que la URL en la variable url sea correcta para la API de Icomm: https://api.icommarketing.com/Contacts/SaveContact.Json/.
Reemplaza el valor de 'Authorization' con tu API Key proporcionada por Icomm.



Guarda el script en el ícono de disquete.

Ejecución del script:

Crea un perfil en Icomm con los mismos campos que tu planilla de Google Sheets.
Edita tu planilla de cálculo como lo haces normalmente. El script se ejecutará automáticamente cuando se realicen ediciones en la planilla, enviando los datos a la plataforma de Icomm.

Activadores (Triggers):

En la barra de menú, selecciona la pestaña "Triggers" y luego "Add Trigger".



En el popup, configura las opciones: "atEdit", "Head", "From spreadsheet", "On edit" y selecciona la preferencia para recibir notificaciones cuando se edite la planilla.



Guarda los cambios.

Notas importantes:


Este script permite la carga masiva de información.
Funciona para planillas de cálculo conectadas a un formulario de Google.
Se puede cambiar el nombre de los encabezados sin modificar el script.
No se puede cambiar la posición de los campos en la planilla, ya que el script reconoce su ubicación.

Actualizado el: 15/04/2024

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!