Subida de datos y envíos a través de FTP

Por medio de una cuenta FTP proporcionada por Planisys con user y clave, puerto 12125 y SSL habilitado, se puede subir un archivo CSV (Comma Separated Values).

Nota

Solamente hay una cuenta FTP por cada DMDS

El CSV puede ser generado con

  • un editor de textos

  • una salida automática de algún programa o base de datos

  • salvando una planilla Excel en formato CSV

Los campos están separados entre sí por un único separador fijo que es el punto y coma.

En caso de haber un campo con punto y coma dentro del valor, se lo puede enmascarar con una barra invertida: \;.

La primer línea del CSV es el llamado encabezado e indica qué hacer con las líneas subsiguientes.

Todas las líneas del CSV deben tener la misma cantidad de campos separados por punto y coma.

El procesamiento del CSV es flexible y descarta las líneas con diferente cantidad de campos que los que dicta el encabezado, además de descartar líneas por mails con sintaxis incorrecta o dominios inexistentes.

Puede hacer dos tipos de CSV

  • un CSV pasivo que solamente sirve para actualizar datos

  • un CSV activo que sirve para actualizar datos, pero que a su vez envía un mail por cada línea

CSVs pasivos

El CSV pasivo es un CSV cuyo encabezado indica que sólo se va a utilizar para actualizar datos.

Los campos del encabezado pueden ser los fijos (se escriben así tal cual):o Default Fields

  • EMAIL (indispensable, no se puede procesar el CSV sin que aparezca este campo)

  • NOMBRE

  • APELLIDO

  • SEXO (solo se acepta M o F)

  • INVALIDO (solo se acepta 0 ó 1)

  • ORIGEN

  • FECHANAC (solo se acepta YYYY-MM-DD)

  • TITULO

  • DOCUMENTO

  • CELULAR

  • MAILALTERNATIVO

  • TWITTER

  • FACEBOOK

  • INSTAGRAM

y además se pueden agregar campos definidos en el DMD o Custom Fields , como p.ej.

  • XYZTELCELXYZ

  • XYZDNIXYZ

  • XYZEMPLEADORXYZ

etc

Advertencia

Los campos XYZ deben ser definidos antes en el DMDS para evitar errores de tipeo y proliferación de campos erróneos. En caso de haber campos con sintaxis errónea, que no corresponda a lo listado más arriba, la operación se aborta con el mensaje: >>>>>>>>>>>>>>>>>>>>>>>Header error - invalid field name … aborting»

El campo INVALIDO sirve para invalidar un e-mail si es 0, o para revalidarlo si es 1.

El ORIGEN es el nombre de una lista a la cual queda asociado un e-mail.

Nota

Un e-mail puede estar asociado a varias listas , también llamadas orígenes indistintamente

El archivo con terminación .csv debe ser depositado en el directorio /private que se visualiza al ingresar via FTP.

Periódicamente , el sistema toma estos archivos y los mueve a private/processed

El fin del procesamiento se da cuando el archivo, por ejemplo llamado archivo1.csv , se convierte en archivos1.csv-YYYY-MM-DD-HH-MM-SS y se genera un archivo similar archivos1.log-YYYY-MM-DD-HH-MM-SS que permite saber qué sucedió con cada línea.

Mensajes de LOG línea por línea del CSV Pasivo

Por cada línea , el procesador de CSVs va a imprimir un status.

A continuación , ejemplos de las posibles líneas de status

  • linenr=416 status={«status»:»existing ok»} email=jkgomez01@hotmail.com , significa que el email ya estaba en la base como válido

  • linenr=927 status={«status»:»existing invalidated»} email=jkgomez19999@hotmail.com , significa que el email ya estaba en la base como inválido

  • ……………….. Linea 224 CORREGIDO <jkgomez@gmial.com> por <jkgomez@gmail.com> , el procesador de similitud lexicográfica detectó un error de tipeo y corrigió automáticamente la dirección de mail

  • ……………….. Linea 171 ERROR email incorrecto <jjkgomez@fdhsjafhjdddddd.com.ar> invalido [The domain name fdhsjafhjdddddd.com.ar does not exist.] dominio inexistente

  • ……………….. Linea {} ERROR Faltan o sobran valores 7 != 8n^ , cantidad errónea de campos , diferente de lo que marca el encabezado

Al final del archivo de log, hay una línea con los totales, p.ej.

>>> 13287 lines processed, 20 lines with error, 172 emails corrected, 3 new emails, 141 existing invalidated emails

CSVs activos

En caso de aparecer el campo __CAMP_NUMID__ en el encabezado, se considera que se trata de un CSV ACTIVO y que aparte de actualizar datos línea por línea , se va a enviar un e-mail línea por línea. Debe ser un número de campaña API que se obtiene en la página web del DMDS.

Advertencia

Es obligatorio, cuando se trata de un CSV activo, que además figure el campo __HTML_URI__ en el encabezado. Sirve para especificar la URL de la pieza de email a enviar en cada línea.

Opcionalmente, se puede incluir el campo __SENDER_NAME__ en el encabezado, que se va a adosar al remitente real que marca la campaña API.

El asunto es el que predetermina la campaña API también , junto con el remitente. Aunque se puede sobreescribir utilizando el campo __ASUNTO__ asi como ASUNTO_URI que permite especificar una URL de donde traerse el asunto.

Mensajes de LOG línea por línea del CSV Activo

Adicionalmente a los mensajes de CSV pasivo, aquí pueden aparecer mensajes nuevos.

  • SEND linenr=5 status={«status»:»ok»,»sent»:1,»eeid»:»9f977887-967e-4042-bc2b-c54444332218»} email=jkgomez01@gmail.com data={«campana_id»: 72, «email»: «true», «contacto»: {«email»: «jkgomez01@gmail.com»}, «html_url»: «https://www.planisys.net/newsletter/1623/EnvioFactura.html», «remitente_nombre»: «REMITENTE1»}

Este es un mensaje de debug indicando el eeid llamado indistintamente envio efectivo ID o batch id que luego se puede consultar tanto via API como via Web para ver qué eventos tiene (aparte de envío, pueden haber lectura, click y rebote).

Nota

En la misma cuenta FTP que provee Planisys a sus clientes DMDS, se puede almacenar en el directorio /web tanto HTMLs como imágenes, adjuntos y otros archivos accesorios para ser enviados por mail. Solamente se puede hostear contenido estático.

Ejemplo CSV activo

Aqui mostramos un ejemplo de CSV activo, en donde se enviará un e-mail a soporte@planisys.com y otro a soporte@avascloud.net.

Se han incluido emojis y caracteres UTF-8 en el asunto. El número de campana API se extrae de la creación de la misma.

EMAIL;__CAMP_NUMID__;__HTML_URI__;__SENDER_NAME__;XYZNOMBREXYZ;XYZAPELLIDOXYZ;__ASUNTO__
soporte@planisys.com;71206;https://imagenes.planisys.com/Planisys-Template.html;Novedades Planisys;Soporte;Técnico;😊🥳 Novedades Planisys áiéóúÑ
soporte@avascloud.net;71206;https://imagenes.planisys.com/Planisys-Template.html;Novedades Planisys;Soporte;Técnico;😊🥳 Novedades Avascloud áiéóúÑ

La pieza que se ve accediendo via Web contiene variables a reemplazar del tipo XYZ , utilizando los campos provistos tanto en el CSV como en el mismo sistema donde estan almacenados campos relativos a las direcciones de mail de destino.

../_images/planisys-template-desktop.jpg

Last Updated on 2023-08-01