Integración con delio-client
Asunto: Herramientas de gestión de leads de Delio
Propósito de delio-client
Para poder realizar el registro de leads en Delio se ha creado diferentes herramientas para que el usuario pueda realizar este registro de la manera mas fácil y sencilla.
Se ha creado un script que valida formularios y el usuario puede incorporar a su pagina o en su defecto registro por envío de email por parte del usuario.
También se ha definido un servicio de consulta o actualización de leads identificándolo por el teléfono o leadId a través de llamadas POST o GET, ademas de un servicio para incorporar a Unbounce para el registro de leads correspondiente.
Modos de acceso al delio-client
Para el registro o consulta de leads en Delio se pueden realizar de varias formas:
- Registro incluyendo nuestro script para la creación de un formulario donde se procesa la información introducida por parte del script y lo envía a Delio.
- Registro realizando una llamada POST o GET a nuestro Web Service desde un formulario de Unbounce utilizando Hooks.
- Registro realizando una llamada POST o GET a nuestro Web Service.
- Consulta o actualización de un lead realizando una llamada POST o GET a nuestro Web Service indicando teléfono.
- Consulta o actualización de un lead realizando una llamada POST o GET a nuestro Web Service indicando el id del lead.
- Consulta o actualización de un lead realizando una llamada POST o GET a nuestro Web Service indicando el id de contacto.
- Consulta de leads acotados por etiquetas o parámetros definidos en Delio.
- Registro realizando un envío de un email a un correo que le proporcionamos, para que se realice el registro correspondiente por parte nuestra.
Registro de leads a través del script de formularios de Delio.
Instalación
Incorporación a la pagina
Para que la validación funcione es necesario incluir el script en la cabecera de la página que contiene el formulario.
Este script se puede obtener desde Delio en la sección "Gestor de datos", subsección "API" creando una nueva subentidad para los nuevos leads.
Para hacerlo basta con incluir la siguiente línea entre el par de etiquetas <head>... </head> de la página:
<script src="https://t.womtp.com/js/delio-client/?idTag=<< IDTAG >>" type="text/javascript"></script>
NOTA: <<IDTAG>> Debe ser sustituido por un código encriptado que se puede obtener desde Delio.
Formato del formulario de la pagina
El formulario donde se quiera utilizar la aplicación, debe de cumplir ciertas condiciones:
- El tag FORM debe de incluir la clase wg-form.
- Incluir un elemento "Input" de tipo "hidden" (Opcional):
- Input con clase "wg-return": Nombre de la función javascript de retorno que se ejecutará cuando finalice el correcto envío de datos del formulario a Delio, Se debe colocar en el atributo "value". A la función de retorno se le pasara un objeto JSON con el resultado del registro del lead con los parámetros siguientes:
- "result" que puede ser 'OK' o 'KO' si se ha realizado correctamente o no.
- "leadId" que contendrá el id del lead que se ha registrado.
- "message": si se ha producido un error se notifica en el mensaje cual ha sido.
Esta función de retorno la debe definir el creador de la página (Opcional).
Si no hay función de retorno, esta la opción de realizar una llamada POST a una página en concreto. Para ello se debe definir en el tag Form los parámetros "method" y "action", como un formulario normal con la pagina donde realizar, el POST en cuestión.
SI no se define función de retorno y el tag Form no tiene ningún "action", simplemente se realizara el registro del lead sin hacer nada mas.
- Input con clase "wg-return": Nombre de la función javascript de retorno que se ejecutará cuando finalice el correcto envío de datos del formulario a Delio, Se debe colocar en el atributo "value". A la función de retorno se le pasara un objeto JSON con el resultado del registro del lead con los parámetros siguientes:
- Tanto el campo del email como el teléfono, que se utilizan para las tareas de Delio, los nombres de los input deben ser "email" y "phone" respectivamente, para que se guarden en los campos correspondientes.
- El boton "submit" debe incluir la clase "wg-submit" para la validación y envío de la información del lead para el registro.
Configuración del Script
(OPCIONAL) Para la configuración del script se debe incluir una variable global en javascript llamada "clientConfig" que sera un objeto javascript que contendrá los siguientes atributos:
- timeoutTooltip: determina el tiempo que se mostrara los bocadillos. Introducir valor "0" para que nunca se oculten. Valor por defecto "0".
- pos: Posición de los mensajes respecto a los campos. Pueden ser: "topLeft", "topRight", "bottomLeft", "centerRight", "bottomRight". Valor por defecto "topRight".
- lang: Idioma de los mensajes mostrados. Se deben introducir dos letras que identifican al idioma. Los idiomas disponibles son "es" : Español, "en" : Ingles, "it" : Italiano, "fr" : "Frances".
- recovery: Booleano que permite o no la recuperación de un lead a través de su identificador. Valor por defecto: "true".
- validate: Booleano que habilita la validación del formulario por parte de Delio. Valor por defecto: "true".
- sendHidden: Booleano que habilita el envío de campos ocultos del formulario. Valor por defecto: "false".
- map: Mapeo de campos del formulario. Sirve para registrar un campo del formulario con un nombre distinto al introducido. debe estar estructurado como {(nombre input) : (nombre a registrar)}
Ejemplo:
var clientConfig = { timeoutTooltip: 3, lang: 'es', pos: 'topLeft', recovery: true, sendHidden: false, map: { label1 : 'nombre', label2 : 'phone', label3 : 'email' } };
Etiquetas que se pueden incluir
Etiquetas Declarativas: Para el registro de etiquetas declarativas solo se deben definir tantos input en el formulario como etiquetas se quiera registrar en Delio. El nombre de la etiqueta, si no existe, lo coge del atributo "name" del input. Hay que tener cuidado con los espacios y caracteres especiales, como acentos o puntos para que no haya problemas a la hora de identificar las etiquetas que se quieren asignar al lead.
EJEMPLO: <input type="text" id="name" name="nombre" />
Etiquetas Comerciales: Para el registro de etiquetas comerciales se debe definir un campo input o select con el nombre "etc_#NUM#", Donde #NUM# es el identificador de la etiqueta comercial en Delio (Primera columna de la lista de etiquetas). El valor de dicho campo debe ser la opción elegida de entre las opciones que dispone la etiqueta comercial. El numero sera asignado por el orden en el que aparecen en la etiqueta.
EJEMPLO:
<select id="sexo" name="etc_44" >
<option value="0" selected="">Selecciona</option>
<option value="1">Masculino</option>
<option value="2">Femenino</option>
</select>
Etiquetas Externas: Para el registro de etiquetas externas se debe definir un campo input o select con el nombre "ete_#NUM#", Donde #NUM# es el identificador de la etiqueta externa en Delio (Primera columna de la lista de etiquetas). El valor de dicho campo debe ser la opción elegida de entre las opciones que dispone la etiqueta comercial. El numero sera asignado por el orden en el que aparecen en la etiqueta.
EJEMPLO:
<select id="sexo" name="ete_50" >
<option value="0" selected="">Selecciona</option>
<option value="1">prueba</option>
<option value="2">no prueba</option>
</select>
Etiquetas de Conversión: Para el registro de etiquetas de conversión se debe definir un campo input con el name "c_var_#NUM#", donde #NUM# es el identificador de la etiqueta de conversión en Delio. Además este elemento deberá de ser del type hidden y tener la class "wg-cvar". El atributo value tendrá el valor de dicha etiqueta. A continuación se muestra un ejemplo:
<input type="hidden" name="c_var_1" class="wg-cvar" value="Producto" />
Qué elementos pueden ser validados
Se pueden validar los siguientes elementos de formulario:
- <input>. Se contemplan los nuevos elementos de formulario definidos en HTML5. Puede consultar más información aquí: http://www.w3schools.com/html/html5_form_input_types.asp
- <textarea>
- <select>
Definir una validación
Un elemento será validado si incluye el atributo data-wg-validation.
En este atributo incluiremos el conjunto de validaciones que deseemos aplicar. Por ejemplo, la siguiente línea indica que el campo phone será validado como un número de teléfono.
<input type="text" name="phone" data-wg-validation="phone">
Los nombres de los campos deben ser en minúsculas para la correcta asignación de los datos cuando el visitante existe.
Tipos de validación definidos
Se contemplan los siguientes tipos de validación:
- Información de introducción obligatoria: data-wg-validation="required".
- Teléfono: data-wg-validation="phone".
- Email: data-wg-validation="email".
- Numérico: data-wg-validation="numeric".
- Solo letras: data-wg-validation="letter".
- Fecha: data-wg-validation="date".
- Precio // importe: data-wg-validation="price".
LOS CAMPOS INPUT DE TIPO CHECKBOX O RADIO DEBEN TENER DEFINIDO UN NOMBRE PARA SU VALIDACIÓN.
Combinar varias validaciones
Si se desea obligar al usuario a introducir obligatoriamente un dato y que cumpla un determinado formato disponemos de la posibilidad de combinar varios tipos de validaciones. Bastará con introducir en data-wg-validation, separados por comas, los dos tipos de validación deseados.
<input type="text" name="phone" data-wg-validation="required,phone">
Validaciones dependientes del país y del idioma
El formato de codificación de un número de teléfono, por ejemplo, varía de un país a otro. Esta utilidad contempla la posibilidad de determinar qué codificación telefónica se empleará en la validación.
El mecanismo utilizado es el de añadir un sufijo de país, según la norma ISO 3166, al tipo de validación. Por ejemplo, para validar un teléfono de Rusia cambiaremos el ejemplo anterior de la siguiente forma:
<input type="text" name="phone" data-wg-validation="required,phone_ru">
El mensaje mostrado estará expresado en el idioma correspondiente.
En el caso de que el código de país indicado no esté definido se utilizará una validación e idioma por defecto, que se corresponde con el formato telefónico de España y el mensaje en castellano.
Definir un mensaje de error personalizado
Si por cualquier circunstancia preferimos utilizar un mensaje de error propio, podemos hacerlo utilizando el atributo data-wg-validation-msg, como se muestra en el siguiente ejemplo:
<input type="text" name="phone" data-wg-validation="required,phone" data-wg-validation-msg="El número de teléfono indicado no es correcto">
Registro de leads a través de Unbounce
Instalación
Se debe seguir los siguientes pasos:
- Crear un nuevo landing con el formulario a utilizar.
- Seleccionar la opción, en el menú de la derecha, en el apartado de "Basic Integrations", llamada "WebHook: POST to URL".
- Colocar en el campo "Url for POST" la url "https://ws.walmeric.com/provision/wsclient/sendLeadUnbounce.html".
- Añadir mapeado de los campos para que se le asignen nombres acordes a las etiquetas declarativas que se quieran crear.
- Entre los campos es obligatorio incluir un campo con el nombre "idtag" y el valor el tag de identificación proporcionado por Delio.
Añadir datos de tracking al lead
- Para ello debemos añadir una nueva subtag al tag de tracking de visita de Delio con el siguiente código javascript
var refreshIntervalId = 'undefined'; var cont = 0; var idlead = ""; refreshIntervalId = window.setInterval(function() { if(typeof Piwik == 'undefined' && cont <= 5000){ cont += 500; }else{ clearInterval(refreshIntervalId); cont = 5000; if(typeof Piwik != 'undefined') { idlead = Piwik.getAsyncTracker().getVisitorId(); var domlead = document.getElementById("idlead"); domlead && (domlead.value = idlead); } } }, 500);
- Por ultimo se debe añadir un nuevo campo al formulario, a ser posible oculto, llamado "idlead", donde se añadirá el id del visitante para registrarlo correctamente en Delio.
Recuperación de la información de un lead ya registrado.
Para poder recuperar la información de un lead y plasmarlo en el formulario automáticamente se deben seguir los siguientes pasos:
Incluir en la página el siguiente código en la cabecera "<head>":
<script src="https://t.womtp.com/js/delio-client/?idTag=<<idTag>>" type="text/javascript">
Incluir la clase "wg-form" a las clases del formulario que se usa para el registro de leads o en su defecto incluir la clase "wg-idTag" al input incluido anteriormente por ejemplo:
<input type="hidden" value="<<idTag>>" name="idtag" class="wg-idTag" />
Incluir en la página una variable global de javascript para la creación de un mapping para la correcta asignación entre los campos de Delio y los campos del formulario. Por ejemplo:
<script type="text/javascript"> var clientConfig = { map: { nombre_campo_unbounce : 'etiqueta_Delio', nombre_campo_unbounce : 'etiqueta_Delio', nombre_campo_unbounce : 'etiqueta_Delio', ..... } }; </script>
Registro de leads a través de una llamada POST/GET
Registro o actualización de leads a través de una llamada POST/GET a nuestro webservice.
Url de llamada
https://ws.walmeric.com/provision/wsclient/client_addlead.html
Parámetros de entrada
Estos parámetros se deben enviar con la llamada POST/GET a la hora de realizar las operaciones:
campo | descripcion | Valores posibles | opcional |
---|---|---|---|
idTag | Credencial proporcionado por Delio para la autentificación del cliente. | No | |
idlead | Se puede usar cualquier alfanumérico para la identificación del mismo. Si se requiere tracking online proporcionado por Delio se debe enviar el idvisitor proporcionado por nuestro pixel de visita (Preguntar a nuestro soporte tecnico). | Si | |
"Etiquetas" | Etiquetas que se van a añadir al lead en Delio (ver mas abajo los tipos de etiquetas y sus formatos para añadirlas) | No | |
format | Indica el formato de la respuesta del resultado de la operación | XML, JSON y JSONP | Si (Por defecto: JSON) |
wm_prefix | SI el telefono tiene prefijo se debe incluir dicho prefijo en este parametro para procesar correctamente el telefono Ejemplo: wm_prefix=34&phone=34666666666 | Si |
Etiquetas que se pueden incluir
Etiquetas Declarativas
Para el registro de etiquetas declarativas solo se deben definir tantos campos como etiquetas se quiera registrar en Delio. El nombre de la etiqueta, si no existe, lo coge del nombre del campo. Hay que tener cuidado con los espacios y caracteres especiales, como acentos o puntos para que no haya problemas a la hora de identificar las etiquetas que se quieren asignar al lead.
Ejemplo : &nombre=name
Nota.- En caso de que queramos deshabilitar el CORS y envíar los datos vía POST cuando ejecutamos el addlead desde un browser, tenemos que añadir la siguiente etiqueta:
wm__control=checked
Ej: Si utilizamos Delio client, añadimos:
<input type="hidden" name="wm__control" value="checked" class=" wg-input">
Nota: hay dos "_". Se ha hecho así para evitar que pueda haber conflicto con alguna etiqueta existente.
Etiquetas Comerciales
Para el registro de etiquetas comerciales se debe definir un campo con el nombre "etc_#NUM#", Donde #NUM# es el identificador de la etiqueta comercial en Delio (Primera columna de la lista de etiquetas). El valor de dicho campo debe ser la opción elegida de entre las opciones que dispone la etiqueta comercial. El numero sera asignado por el orden en el que aparecen en la etiqueta.
Ejemplo : &etc_200=1
Etiquetas Externas
Para el registro de etiquetas externas se debe definir un campo con el nombre "ete_#NUM#", Donde #NUM# es el identificador de la etiqueta externa en Delio (Primera columna de la lista de etiquetas). El valor de dicho campo debe ser la opción elegida de entre las opciones que dispone la etiqueta comercial. El número sera asignado por el orden en el que aparecen en la etiqueta.
Ejemplo : &ete_1001=1
Las etiquetas externas también se pueden agregar con JSON ya sea por identificador o por su nombre. Hay que tener en cuenta que si se identifica por nombre deben ser exactos a los definidos en Delio.
Ejemplo : &EExternals=[{"id":"detalle de cierre","option":"venta"}]
Etiquetas de Conversión
Para el registro de etiquetas de conversión se debe definir un parámetro con el nombre #NUM#. Donde #NUM# es el identificador de la etiqueta de conversión en Delio. El valor de este parámetro deberá ser un Array JSON, el cual se deberá de convertir a una cadena JSON. Adicionalmente, una vez que se haya convertido a cadena JSON, sería conveniente realizar un encode URI. Ejemplo:
var conversionsValues = []; var values = { id: "1", value : "Producto" }; conversionsValues.push(values); var eConversions = encodeURIComponent(JSON.stringify(conversionsValues));
Ejemplo de llamada GET para el registro de lead
https://ws.walmeric.com/provision/wsclient/client_addlead.html?idTag=<<idTag>>&phone=<<phone>>&email=<<email>>&format=json&nombre=<<nombre>>&Apellidos=<<apellidos>>&etc_44=1&ete_23=2&EConversion=<<conversion_values>>
Tipo de llamada
Se puede realizar una llamada a nuestro WebService del tipo GET o POST donde el parámetro de la llamada "dataType" puede ser JSON o JSONP.
Respuesta de la llamada
La llamada devolverá un objeto JSON con la siguientes valores:
Parámetro | Opcional | Tipo | Descripción |
---|---|---|---|
result | No | Cadena | Devolverá "OK" o "KO" Dependiendo de como resulto el proceso |
code | No | Entero | Código de respuesta, 200 para registro correcto, otro es error |
leadId | No | Cadena | Identificador del lead en la plataforma de delio, Este vendrá vacío si se produce un error |
new | Si | Booleano | Indica si el lead se ha registrado como nuevo o actualiza un lead existente |
message | Si | string | Mensaje del error producido |
Ejemplo: {"result":"OK","code":200,"leadId":"10bfa8de2a715bb9382ebc0fc117e31b336930e3","new":true}
Codigo de errores posibles
code | message |
---|---|
485 | Lead en proceso de registro |
486 | Lead sin declarativas |
487 | Lead Bloqueado |
488 | Lead Desbordado |
492 | idTag Invalido |
493 | Servicio Deshabilitado |
429 | No hay mensaje, error Http |
Registro, actualización y consulta de etiquetas de leads a través de un teléfono
Realización de operaciones de gestión de las etiquetas de un lead, que se identifica por el número de teléfono proporcionado.
Urls de llamada
Consulta de leads: "https://ws.walmeric.com/provision/wsclient/delioClientTlf_get.html".
Actualización de leads: "https://ws.walmeric.com/provision/wsclient/delioClientTlf_put.html".
Parámetros de entrada
Para la Consulta
Estos parámetros se deben enviar con la llamada GET a la hora de realizar las operaciones:
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- phone: Teléfono del contacto a mostrar.
- cacheIdLead=no: para obtener el id lead externo y no pasar por la cache. La cache es de 61 segundos sin este parametro.
- Labels: Tipos de etiquetas que se quieren consultar (Opcional, si no se manda se devuelve por defecto declarativas, comerciales y externas)
- Dec: declarativas
- Com: comerciales
- Ext: externas
- Vis: visitas, etiquetas de visita, etiquetas de aterrizaje
- Cvs: conversiones, etiquetas de conversión y etiquetas de venta
- Gen: etiquetas generales del lead
- Web: etiquetas web
- Eve: etiquetas de eventos de flujo
Para la Actualización
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- phone: Teléfono del contacto a mostrar.
- data: Objeto JSON con las etiquetas a actualizar.
Ejemplo de url de llamada
//Consulta https://ws.walmeric.com/provision/wsclient/delioClientTlf_get.html?idTag=<<idTag>>&phone=<<telefono>>&labels=Dec,Com,Ext //Actualización https://ws.walmeric.com/provision/wsclient/delioClientTlf_put.html?idTag=<<idTag>>&phone=<<telefono>>&data=<<data>>
Ejemplo de parámetro de entrada "data" que es un Objeto JSON para la Actualización
{ "EDeclaratives":{ "nombre": <<nombre>>, "ebookid": <<valor>>, .... }, "ECommercials": [ //Array JSON { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, .... ], "EExternals": [ //Array JSON { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, .... ], "EVisits": [ //Array JSON { "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> }, .... ], "EConversions": [ //Array JSON { "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> }, .... ], "ESales": [ //Array JSON [{ "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> } ...], [{ "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> } ...], .... ] }
Tipo de llamada
Se debe realizar una llamada a nuestro WebService del tipo GET donde el parámetro de la llamada "dataType" debe ser JSONP.
Ejemplo de llamada GET
$.ajax({ type: "GET", url: "https://ws.walmeric.com/provision/wsclient/delioClientTlf_put.html", dataType: "jsonp", data: {idTag: <<idTag>>, phone: <<telefono>>, data: {<<Objeto JSON con las etiquetas a cambiar>>}} });
Opciones de actualización de las etiquetas
- Si se quiere actualizar o añadir una etiqueta declarativa, solo debe tener un nombre correcto, si el nombre existe como etiqueta se actualiza el valor, sino se crea una nueva etiqueta.
- Si se quiere eliminar una etiqueta declarativa se debe introducir el nombre de la etiqueta y su valor debe estar vacío.
- Si se quiere actualizar o añadir una nueva etiqueta comercial o externa, se debe indicar un identificador de etiqueta valido así como una opción valida existente en Delio. Si ya estaba asignada al lead lo modifica, sino se lo asigna como nueva.
- Si se quiere eliminar una etiqueta comercial o externa, se debe incluir con la id correcta definida en Delio y con una opción de valor 0.
Respuesta de la llamada
La llamada devolverá un objeto JSON con la siguientes valores:
Actualización de etiquetas
Actualización correcta:
Parámetro | Opcional | Tipo | Descripción |
---|---|---|---|
cod | No | Entero | Siempre se devolverá 200 |
message | No | Cadena | Siempre devolvera "Actualziacion Correcta" |
Ejemplo: {"cod":"200","message":"Actualizaci\u00f3n correcta"}
Actualización idcorrecta:
Parámetro | Subparaemtro | Tipo | Descripción |
---|---|---|---|
errors | code | Entero | Siempre se devolverá un codigo de error |
message | Cadena | Motivo del error |
Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}
Código de errores posibles
code | message |
---|---|
492 | idTag Invalido |
493 | Servicio Deshabilitado |
494 | Lead no encontrado |
495 | Error al actualizar las etiquetas |
429 | No hay mensaje, error Http |
462 | El parametro data esta vacio |
465 | Parametro "id" no valido, pueden ser otros parametros |
479 | Se pide un tipo de Etiqueta que no existe |
Consulta de etiquetas
Respuesta correcta
{ extleadId: String con el id del lead EDeclaratives: { "Descripcion declarativa": "valor" "Descripcion declarativa": "valor" ... } ECommercials: [ //Array de etiquetas comerciales { date: Fecha de registro descriptionOption: Descripción de la opción elegida id: id de la etiqueta comercial description: descripción de la etiqueta comercial opcion: id de la opción elegida comments: Comentarios incluidos en la etiqueta registerby: Nombre del usuario que registró/modificó la etiqueta } ... ] EExternals: [ //Array de etiquetas externas { date: Fecha de registro descriptionOption: Descripción de la opción elegida id: id de la etiqueta comercial description: descripción de la etiqueta comercial opcion: id de la opción elegida comments: Comentarios incluidos en la etiqueta registerby: Nombre del usuario que registró/modificó la etiqueta } ... ] }
Respuesta idcorrecta:
Parámetro | Subparaemtro | Tipo | Descripción |
---|---|---|---|
errors | code | Entero | Siempre se devolverá un codigo de error |
message | Cadena | Motivo del error |
Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}
Código de errores posibles
code | message |
---|---|
492 | idTag Invalido |
493 | Servicio Deshabilitado |
494 | Lead no encontrado |
429 | No hay mensaje, error Http |
Añadir datos de tracking al lead
- Para ello debemos añadir una nueva subtag al tag de tracking de visita de Delio con el siguiente código javascript
var refreshIntervalId = 'undefined'; var cont = 0; var idlead = ""; refreshIntervalId = window.setInterval(function() { if(typeof Piwik == 'undefined' && cont <= 5000){ cont += 500; }else{ clearInterval(refreshIntervalId); cont = 5000; if(typeof Piwik != 'undefined') { idlead = Piwik.getAsyncTracker().getVisitorId(); var domlead = document.getElementById("idlead"); domlead && (domlead.value = idlead); } } }, 500);
- Por ultimo hay que enviar junto a la llamada GET/POST el valor recogido por el subtag. Para ello se puede hacer de dos formas:
- Se crea un campo oculto en el formulario, donde rellena los datos el lead, llamado "idlead", que se envía con el resto de campos que rellena el lead.
- Enviar en la llamada POST/GET la variable global de javascript definida por el subtag, llamada idlead, junto al resto de parámetros del lead en la llamada Ajax.
Registro, actualización y consulta de etiquetas de leads a través de una etiqueta declarativa
Realización de operaciones de gestión de las etiquetas de un lead, que se identifica por el el identificador de la etiqueta declarativa y su valor proporcionado.
Esta limitado a buscar el lead en un período de mes desde la fecha actual.
Urls de llamada
Consulta de leads: "https://ws.walmeric.com/provision/wsclient/delioClientByDeclarative_get.html".
Actualización de leads: "https://ws.walmeric.com/provision/wsclient/delioClientDeclarative_put.html".
Parámetros de entrada
Para la Consulta
Estos parámetros se deben enviar con la llamada GET a la hora de realizar las operaciones:
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- id: identificador de la declarativa: debe estar previamente configurada como "usar para comprobar existencia".
- value: es el valor de la etiqueta declarativa por el cual se va a filtrar.
- creationDate: opcional si queremos aproximar la búsqueda del lead por su fecha de creación.
- cacheIdLead=no: para obtener el id lead externo y no pasar por la cache. La cache es de 61 segundos sin este parametro.
- Labels: Tipos de etiquetas que se quieren consultar (Opcional, si no se manda se devuelve por defecto declarativas, comerciales y externas)
- Dec: declarativas
- Com: comerciales
- Ext: externas
- Vis: visitas, etiquetas de visita, etiquetas de aterrizaje
- Cvs: conversiones, etiquetas de conversión y etiquetas de venta
- Gen: etiquetas generales del lead
- Web: etiquetas web
- Eve: etiquetas de eventos de flujo
Para la Actualización
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- id: identificador de la declarativa: debe estar previamente configurada como "usar para comprobar existencia".
- value: es el valor de la etiqueta declarativa por el cual se va a filtrar.
- creationDate: opcional si queremos aproximar la búsqueda del lead por su fecha de creación.
- data: Objeto JSON con las etiquetas a actualizar.
Registro, actualización y consulta de etiquetas de leads a través del id del lead
Realización de operaciones de gestión de las etiquetas de un lead, que se identifica por el id de lead proporcionado.
Urls de llamada
Consulta de etiquetas de los leads padre e hijos identificado por el idLead: "https://ws.walmeric.com/provision/wsclient/delioClientLeadId_get.html" o "https://ws.walmeric.com/provision/wsclient/delioClientAllLeadId_get.html"
Actualización de leads: "https://ws.walmeric.com/provision/wsclient/delioClientLeadId_put.html".
Parámetros de entrada
Para la Consulta
Estos parámetros se deben enviar con la llamada GET a la hora de realizar las operaciones:
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- leadId: id de lead a consultar.
- returnLast: indica el número de leads que se quiere devolver. (solo válido para "https://ws.walmeric.com/provision/wsclient/delioClientAllLeadId_get.html")
- Labels: Tipos de etiquetas que se quieren consultar (Opcional, si no se manda se devuelve por defecto declarativas, comerciales y externas)
- Dec: declarativas
- Com: comerciales
- Ext: externas
- Vis: visitas, etiquetas de visita, etiquetas de aterrizaje
- Cvs: conversiones, etiquetas de conversión y etiquetas de venta
- Gen: etiquetas generales del lead
- Web: etiquetas web
- Eve: etiquetas de eventos de flujo
Para la Actualización
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- leadId: id del Lead a actualizar.
- data: Objeto JSON con las etiquetas a actualizar.
Ejemplo de url de llamada
//Consulta https://ws.walmeric.com/provision/wsclient/delioClientLeadId_get.html?idTag=<<idTag>>&leadId=<<id del lead>>&labels=Dec,Com,Ext //Actualización https://ws.walmeric.com/provision/wsclient/delioClientLeadId_put.html?idTag=<<idTag>>&leadId=<<id del lead>>&data=<<data>>
Ejemplo formato de envío
DAL.Ajax({ type: 'jsonp', url: 'https://ws.walmeric.com/provision/wsclient/delioClientLeadId_put.html', data: { idTag: Identificador del cliente, // ejemplo: "29842f94d414949bf95fb2e610914d7e7r784s4565s6de8eb96e3a8b9601cb1a61cde857f3c4", leadId: identificador del lead, // ejemplo: "5bccf536afc980d29b4eb04d8080d09d608b83b8" data: JSON.stringify({ "EDeclaratives": { "nombre": "Usuario de prueba" } }) } });
Ejemplo de parámetro de entrada "data" que es un Objeto JSON para la Actualización
{ "EDeclaratives":{ "nombre": <<nombre>>, "ebookid": <<valor>>, .... }, "ECommercials": [ //Array JSON { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, .... ], "EExternals": [ //Array JSON { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, { "id": <<id>>, "option": <<Opcion>>, "comments": <<Comentarios>>, }, .... ], "EVisits": [ //Array JSON { "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> }, .... ], "EConversions": [ //Array JSON { "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> }, .... ], "ESales": [ //Array JSON [{ "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> } ...], [{ "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> } ...], .... ] }
Tipos de llamadas
- Se puede realizar una llamada a nuestro WebService del tipo POST donde el parámetro de la llamada "dataType" debe ser JSON
- Se puede realizar una llamada a nuestro WebService del tipo GET donde el parámetro de la llamada "dataType" puede ser JSON o JSONP.
Ejemplo de llamada GET o POST
$.ajax({ type: "GET", // También puede ser POST url: "https://ws.walmeric.com/provision/wsclient/delioClientLeadId_put.html", dataType: "json", //También puede ser JSONP data: {idTag: <<idTag>>, leadId: <<id del lead>>, data: {<<Objeto JSON con las etiquetas a cambiar>>}} });
Opciones de actualización de las etiquetas
- Si se quiere actualizar o añadir una etiqueta declarativa, solo debe tener un nombre correcto, si el nombre existe como etiqueta se actualiza el valor, sino se crea una nueva etiqueta.
- Si se quiere eliminar una etiqueta declarativa se debe introducir el nombre de la etiqueta y su valor debe estar vacío.
- Si se quiere actualizar o añadir una nueva etiqueta comercial o externa, se debe indicar un identificador de etiqueta valido así como una opción valida existente en Delio. Si ya estaba asignada al lead lo modifica, sino se lo asigna como nueva.
- Si se quiere eliminar una etiqueta comercial o externa, se debe incluir con la id correcta definida en Delio y con una opción de valor 0.
Respuesta de la llamada
La llamada devolverá un objeto JSON con la siguientes valores:
Actualización de etiquetas
Actualización correcta:
Parámetro | Opcional | Tipo | Descripción |
---|---|---|---|
cod | No | Entero | Siempre se devolverá 200 |
message | No | Cadena | Siempre devolvera "Actualziacion Correcta" |
Ejemplo: {"cod":"200","message":"Actualizaci\u00f3n correcta"}
Actualización idcorrecta:
Parámetro | Subparaemtro | Tipo | Descripción |
---|---|---|---|
errors | code | Entero | Siempre se devolverá un codigo de error |
message | Cadena | Motivo del error |
Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}
Código de errores posibles
code | message |
---|---|
492 | idTag Invalido |
493 | Servicio Deshabilitado |
494 | Lead no encontrado |
495 | Error al actualizar las etiquetas |
429 | No hay mensaje, error Http |
Consulta de etiquetas
Respuesta correcta
{ extleadId: String con el id del lead EDeclaratives: { "Descripcion declarativa": "valor" "Descripcion declarativa": "valor" ... } ECommercials: [ //Array de etiquetas comerciales { date: Fecha de registro descriptionOption: Descripción de la opción elegida id: id de la etiqueta comercial description: descripción de la etiqueta comercial opcion: id de la opción elegida comments: Comentarios incluidos en la etiqueta registerby: Nombre del usuario que registró/modificó la etiqueta } ... ] EExternals: [ //Array de etiquetas externas { date: Fecha de registro descriptionOption: Descripción de la opción elegida id: id de la etiqueta comercial description: descripción de la etiqueta comercial opcion: id de la opción elegida comments: Comentarios incluidos en la etiqueta registerby: Nombre del usuario que registró/modificó la etiqueta } ... ] }
Respuesta idcorrecta:
Parámetro | Subparaemtro | Tipo | Descripción |
---|---|---|---|
errors | code | Entero | Siempre se devolverá un codigo de error |
message | Cadena | Motivo del error |
Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}
Código de errores posibles
code | message |
---|---|
492 | idTag Invalido |
493 | Servicio Deshabilitado |
494 | Lead no encontrado |
429 | No hay mensaje, error Http |
Consulta de etiquetas de leads a través del Teléfono y la Fecha más cercana
Realización de operaciones de gestión de las etiquetas de un lead, que se identifica por el telefono y una fecha proporcionado al efectuarse la llamada.
Urls de llamada
Consulta de leads: "https://ws.walmeric.com/provision/wsclient/delioClientTlfDate_get.html".
Parámetros de entrada
Para la Consulta
Estos parámetros se deben enviar con la llamada GET a la hora de realizar las operaciones:
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- phone: telefono a consultar.
- creationDate: Fecha para obtener el telefono mas cercano del lead por su fecha de creacion
fromCreationDate = si: Para obtener el teléfono desde la fecha crationDate y nunca anterior a la fecha creationDate
- Labels: Tipos de etiquetas que se quieren consultar (Opcional, si no se manda se devuelve por defecto declarativas, comerciales y externas)
- Dec: declarativas
- Com: comerciales
- Ext: externas
- Vis: visitas, etiquetas de visita, etiquetas de aterrizaje
- Cvs: conversiones, etiquetas de conversión y etiquetas de venta
- Gen: etiquetas generales del lead
- Web: etiquetas web
- Eve: etiquetas de eventos de flujo
Registro, actualización y consulta de etiquetas de leads a través del id de contacto
Realización de operaciones de gestión de las etiquetas de un lead, que se identifica por el id de contacto proporcionado al efectuarse la llamada.
Urls de llamada
Consulta de leads: "https://ws.walmeric.com/provision/wsclient/delioClientIdContact_get.html".
Actualización de leads: "https://ws.walmeric.com/provision/wsclient/delioClientIdContact_put.html".
Parámetros de entrada
Para la Consulta
Estos parámetros se deben enviar con la llamada GET a la hora de realizar las operaciones:
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- idContact: id de contacto a consultar.
- Labels: Tipos de etiquetas que se quieren consultar (Opcional, si no se manda se devuelve por defecto declarativas, comerciales y externas)
- Dec: declarativas
- Com: comerciales
- Ext: externas
- Vis: visitas, etiquetas de visita, etiquetas de aterrizaje
- Cvs: conversiones, etiquetas de conversión y etiquetas de venta
- Gen: etiquetas generales del lead
- Web: etiquetas web
- Eve: etiquetas de eventos de flujo
Para la Actualización
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- idContact: id de contacto a actualizar.
- data: Objeto JSON con las etiquetas a actualizar.
Ejemplo de url de llamada
//Consulta https://ws.walmeric.com/provision/wsclient/delioClientIdContact_get.html?idTag=<<idTag>>&idContact=<<id de contacto>>&labels=Dec,Com,Ext //Actualización https://ws.walmeric.com/provision/wsclient/delioClientIdContact_put.html?idTag=<<idTag>>&idContact=<<id de contacto>>&data=<<data>>
Ejemplo de parámetro de entrada "data" que es un Objeto JSON para la Actualización
{ "EDeclaratives":{ "nombre": <<nombre>>, "ebookid": <<valor>>, .... }, "ECommercials": [ //Array JSON { "id": <<id>> "option": <<Opcion>> "comments": <<Comentarios>> }, { "id": <<id>> "option": <<Opcion>> "comments": <<Comentarios>> }, .... ], "EExternals": [ //Array JSON { "id": <<id>> "option": <<Opcion>> "comments": <<Comentarios>> }, { "id": <<id>> "option": <<Opcion>> "comments": <<Comentarios>> }, .... ], "EVisits": [ //Array JSON { "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> }, .... ], "EConversions": [ //Array JSON { "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> }, .... ], "ESales": [ //Array JSON [{ "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> } ...], [{ "id": <<id>>, "value": <<Value>> }, { "id": <<id>>, "value": <<Value>> } ...], .... ] }
Tipos de llamadas
- Se puede realizar una llamada a nuestro WebService del tipo POST donde el parámetro de la llamada "dataType" debe ser JSON
- Se puede realizar una llamada a nuestro WebService del tipo GET donde el parámetro de la llamada "dataType" puede ser JSON o JSONP.
Ejemplo de llamada GET o POST
$.ajax({ type: "GET", // También puede ser POST url: "https://ws.walmeric.com/provision/wsclient/delioClientIdContact_put.html", dataType: "json", //También puede ser JSONP data: {idTag: <<idTag>>, idContact: <<id de contacto>>, data: {<<Objeto JSON con las etiquetas a cambiar>>}} });
Opciones de actualización de las etiquetas
- Si se quiere actualizar o añadir una etiqueta declarativa, solo debe tener un nombre correcto, si el nombre existe como etiqueta se actualiza el valor, sino se crea una nueva etiqueta.
- Si se quiere eliminar una etiqueta declarativa se debe introducir el nombre de la etiqueta y su valor debe estar vacío.
- Si se quiere actualizar o añadir una nueva etiqueta comercial o externa, se debe indicar un identificador de etiqueta valido así como una opción valida existente en Delio. Si ya estaba asignada al lead lo modifica, sino se lo asigna como nueva.
- Si se quiere eliminar una etiqueta comercial o externa, se debe incluir con la id correcta definida en Delio y con una opción de valor 0.
Respuesta de la llamada
La llamada devolverá un objeto JSON con la siguientes valores:
Actualización de etiquetas
Actualización correcta:
Parámetro | Opcional | Tipo | Descripción |
---|---|---|---|
cod | No | Entero | Siempre se devolverá 200 |
message | No | Cadena | Siempre devolvera "Actualziacion Correcta" |
Ejemplo: {"cod":"200","message":"Actualizaci\u00f3n correcta"}
Actualización idcorrecta:
Parámetro | Subparaemtro | Tipo | Descripción |
---|---|---|---|
errors | code | Entero | Siempre se devolverá un codigo de error |
message | Cadena | Motivo del error |
Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}
Código de errores posibles
code | message |
---|---|
492 | idTag Invalido |
493 | Servicio Deshabilitado |
494 | Lead no encontrado |
495 | Error al actualizar las etiquetas |
429 | No hay mensaje, error Http |
Consulta de etiquetas
Respuesta correcta
{ extleadId: String con el id del lead EDeclaratives: { "Descripcion declarativa": "valor" "Descripcion declarativa": "valor" ... } ECommercials: [ //Array de etiquetas comerciales { date: Fecha de registro descriptionOption: Descripción de la opción elegida id: id de la etiqueta comercial description: descripción de la etiqueta comercial opcion: id de la opción elegida comments: Comentarios incluidos en la etiqueta registerby: Nombre del usuario que registró/modificó la etiqueta } ... ] EExternals: [ //Array de etiquetas externas { date: Fecha de registro descriptionOption: Descripción de la opción elegida id: id de la etiqueta comercial description: descripción de la etiqueta comercial opcion: id de la opción elegida comments: Comentarios incluidos en la etiqueta registerby: Nombre del usuario que registró/modificó la etiqueta } ... ] }
Respuesta idcorrecta:
Parámetro | Subparaemtro | Tipo | Descripción |
---|---|---|---|
errors | code | Entero | Siempre se devolverá un codigo de error |
message | Cadena | Motivo del error |
Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}
Código de errores posibles
code | message |
---|---|
492 | idTag Invalido |
493 | Servicio Deshabilitado |
494 | Lead no encontrado |
429 | No hay mensaje, error Http |
Actualización y creación de etiquetas de un lead simplificado.
Actualización y creación de etiquetas simplificado, no es necesario un objeto JSON, con variables GET y POST
Url de llamada
https://ws.walmeric.com/provision/wsApiHelper/executeApiHelper.html
Parámetros de entrada
Estos parámetros se deben enviar con una llamada POST/GET a la hora de realizar las operaciones:
- updateType: Identificador que servirá de clave para la actualización del lead, los valores posibles son: leadId, contactId, phone
- updateValue: la clave de la actualización
- tagId: Tag proporcionado por Delio para la autentificación del cliente.
- Resto de etiquetas: Para cada una de las etiquetas debe crearse un par clave=valor
Para cada una de estas etiquetas, la clave estará formada por el tipo de etiqueta (representado por su abreviatura) y el nombre de la etiqueta, el valor será el que deseemos establecer para el lead
Tipos de Etiquetas Tipos abreviados Ejemplo Comentario Declarativas dec dec:nombre=<<nombre>> Son las únicas etiquetas que pueden enviarse sin tipo. Si no se define tipo serán declarativas Comerciales com com:Nivel de Interes=Muy Interesado Externas ext ext:Detalle de cierre=Cliente interesado en contratar por canales electrónicos Conversión con con:Tipo Cliente=comercial Visita vis vis:Site conversion=home Venta sal, sal* sal:Precio=300
sal1:Precio=300
si solo utilizamos sal, se generará una etiqueta de venta, si queremos generar más de una podemos enviar sal1, sal2 ... sal* donde * es el número de etiquetas de venta que queramos definir
- format: es el formato en el que se obtendrá la respuesta, los valores posibles son JSON, XML
Ejemplo de llamada para actualización de lead utilizando como clave primaria el leadId:
https://ws.walmeric.com/provision/wsApiHelper/executeApiHelper.html?updateType=leadId&updateValue=<<identificador del lead de delio>>&tagId=<<tagId>>&dec:nombre=<<nombre>>&dec:ebookid=<<valor>>&com:<<nombre etiqueta>>=<<opcion>>&ext:<<nombre de la etiqueta>>=<<valor>>&ext:<<nombre de la siguiente etiqueta>>=<<valor>>...&format=json
Ejemplo de llamada para actualización de lead utilizando como clave primaria el contactId:
https://ws.walmeric.com/provision/wsApiHelper/executeApiHelper.html?updateType=contactId&updateValue=<<identificador de contacto(llamada)>>&tagId=<<tagId>>&dec:nombre=<<nombre>>&dec:ebookid=<<valor>>&com:<<nombre etiqueta>>=<<opcion>>&ext:<<nombre de la etiqueta>>=<<valor>>&ext:<<nombre de la siguiente etiqueta>>=<<valor>>...&format=json
Respuesta de la llamada
La llamada devolverá un objeto JSON con los siguientes valores:
- cod: Código de respuesta que indica si se realizó el proceso
- valor 200: El proceso se ha realizado correctamente
- valor 400: Hubo un problema en la llamada
- message/result
- Si el proceso resulto ser erróneo se enviará un mensaje "message" con el problema ocurrido.
- Y si por el contrario se realizo correctamente se devolverá un objeto JSON con las etiquetas del lead ("result").
Dar de baja en los servicios de llamada a un lead
Webservice para detener todos los servicios de llamada de un lead, identificado de tres formas:
- Teléfono
- Id del lead
- Id de contacto
Dar de baja usando el teléfono del lead
Url de llamada
Identificación por teléfono
https://ws.walmeric.com/provision/wsclient/delioStopService_tlf.html
Identificación por id del lead
https://ws.walmeric.com/provision/wsclient/delioStopService_leadId.html
Identificación por id de contacto
https://ws.walmeric.com/provision/wsclient/delioStopService_idContact.html
Parámetros de entrada
Estos parámetros se pueden enviar tanto por una llamada POST o GET.
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- phone: teléfono del lead a detener los servicios. (Solo para identificación por teléfono)
- leadId: id del lead a detener los servicios. (Solo para identificación por id del lead)
- idContact: id de contacto a detener los servicios. (Solo para identificación por id de contacto)
Ejemplo de llamada
//Url GET. https://ws.walmeric.com/provision/wsclient/delioStopService_tlf.html?idTag=<<idTag>>&phone=<<telefono>> //Ejemplo con Jquery de llamada POST/GET $.ajax({ type: "POST", // Tambien puede ser GET url: "https://ws.walmeric.com/provision/wsclient/delioStopService_tlf.html", dataType: "json", //Tambien puede ser jsonp data: { idTag: <<idTag>>, phone: <<telefono>>} });
Tipos de llamadas
- Se puede realizar una llamada a nuestro WebService del tipo POST donde el parámetro de la llamada "dataType" debe ser JSON
- Se puede realizar una llamada a nuestro WebService del tipo GET donde el parámetro de la llamada "dataType" puede ser JSON o JSONP.
Respuesta de la llamada
- cod: Código de respuesta que indica si se realizo el proceso.
- valor 200: El proceso se realizo correctamente.
- valor 400: Se ha producido un error en la llamada.
- message: Respuesta del sistema al proceso.
Dar de baja a un lead completamente en Delio
Webservice para dar de baja un lead en Delio y no se haga mas interacciones con el mismo, se puede identificar al lead de 3 formas:
- Teléfono
- Id del lead
- Id de contacto
Dar de baja usando el teléfono del lead
Url de llamada
Identificación por teléfono
https://ws.walmeric.com/provision/wsclient/delioOptout_tlf.html
Identificación por id del lead
https://ws.walmeric.com/provision/wsclient/delioOptout_leadId.html
Identificación por id de contacto
https://ws.walmeric.com/provision/wsclient/delioOptout_idContact.html
Parámetros de entrada
Estos parámetros se pueden enviar tanto por una llamada POST o GET.
- idTag: Tag proporcionado por Delio para la autentificación del cliente.
- phone: teléfono del lead a detener los servicios. (Solo para identificación por teléfono)
- leadId: id del lead a detener los servicios. (Solo para identificación por id del lead)
- idContact: id de contacto a detener los servicios. (Solo para identificación por id de contacto)
Ejemplo de llamada
//Url GET. https://ws.walmeric.com/provision/wsclient/delioOptout_idContact.html?idTag=<<idTag>>&idContact=<<idContact>> //Ejemplo con Jquery de llamada POST/GET $.ajax({ type: "POST", // Tambien puede ser GET url: "https://ws.walmeric.com/provision/wsclient/delioOptout_idContact.html", dataType: "json", //Tambien puede ser jsonp data: { idTag: <<idTag>>, idContact: <<idContact>>} });
Tipos de llamadas
- Se puede realizar una llamada a nuestro WebService del tipo POST donde el parámetro de la llamada "dataType" debe ser JSON
- Se puede realizar una llamada a nuestro WebService del tipo GET donde el parámetro de la llamada "dataType" puede ser JSON o JSONP.
Respuesta de la llamada
- cod: Código de respuesta que indica si se realizo el proceso.
- valor 200: El proceso se realizo correctamente.
- valor 400: Se ha producido un error en la llamada.
- message: Respuesta del sistema al proceso.
Registro de leads a través de envío de email
Configuración
Para que se pueda realizar el registro de un lead a través de un email, dicho email se debe enviar a la dirección de correo electrónico: altalead@walmeric.com
En el formulario, donde se desee realizar los registros de leads, se debe crear un campo oculto con la clase "wp_idlead" con nombre idlead para la inserción en el formulario del id de visita del lead para el correcto registro del mismo.
Etiquetas que se pueden incluir
Etiquetas Declarativas: Para el registro de etiquetas declarativas solo se deben definir tantas lineas como etiquetas se quiera registrar en Delio. El nombre de la etiqueta, si no existe, lo coge del atributo "name" del input. Hay que tener cuidado con los espacios y caracteres especiales, como acentos o puntos para que no haya problemas a la hora de identificar las etiquetas que se quieren asignar al lead.
Etiquetas Comerciales: Para el registro de etiquetas comerciales se debe definir una linea con el nombre "etc_#NUM#", Donde #NUM# es el identificador de la etiqueta comercial en Delio (Primera columna de la lista de etiquetas). El valor de dicho campo debe ser la opción elegida de entre las opciones que dispone la etiqueta comercial. El numero sera asignado por el orden en el que aparecen en la etiqueta.
Etiquetas Externas: Para el registro de etiquetas externas se debe definir una linea con el nombre "ete_#NUM#", Donde #NUM# es el identificador de la etiqueta externa en Delio (Primera columna de la lista de etiquetas). El valor de dicho campo debe ser la opción elegida de entre las opciones que dispone la etiqueta comercial. El numero sera asignado por el orden en el que aparecen en la etiqueta.
Estructura del email
La estructura del email esta compuesto por:
- Asunto: Debe contener las palabras "New Lead".
- Cuerpo: En el cuerpo del email deben estar los campos que se quieren registrar del lead, donde cada campo debe estar en una linea del documento y su valor debe estar en la misma linea separado por el carácter dos puntos ":".
- Campos Obligatorios: Se deben enviar obligatoriamente, para el correcto registro del lead y poder ejecutar flujos, los campos phone/teléfono y email. Ademas se deben enviar un campo llamado idTag donde tendrá el valor proporcionado por Delio para el registro de lead en su cliente.
Ejemplo:
DAL.Ajax({ type: 'jsonp', url: 'https://ws.walmeric.com/provision/wsclient/delioClientLeadId_put.html', data: { idTag: siteInfo.idTag, leadId: resp.leadId, data: JSON.stringify({ "EDeclaratives": { "url_visita": window.location.href } }) }});
Anexo: Conversiones offline y forzado de visitas
Para poder tratar ciertos aspectos del lead (especialmente poder asignar ventas) hace falta que haya conversión, por eso la existencia de la conversión offline, que existirá si no hay una conversión al uso (la online)
Para que haya conversión tiene haber visita, por eso la existencia de la visita offline, que existirá si no hay visita al uso.
En altas de lead
En los altas de leads, si un lead:
No tiene visita, se fuerza la creación de una visita
No tiene conversión, se crea una conversión offline
Se realizan altas de leads en Provision por:
- RingPool
Inbound
CallMes (https://ws.walmeric.com/provision/wsclient/client_addlead.html)
Alta masiva de leads por CSV
API a través de Delio: botón "añadir nuevo lead"
Verificación digital
Para la creación de la conversión offline se tiene en cuenta la última visita del lead, pero se incluyen las posibles visitas de otros leads que comparten raíz: leads sin sufijo ("padres") y con otros sufijos ("hermanos")
- Observación: dicho sufijo es precedido por el carácter ".", de forma como vemos en los ejemplos tipo de:
- lead sin sufijo (sólo con la raíz): abc123
- con sufijo: abc123.xyz
Observación para InBound: se conversan los valores de las etiquetas de visita y conversión que pudieran ser establecidos por defecto para el lead creado, de acuerdo a la configuración del respectivo teléfono InBound relativa a ello.
¿Qué pasa si luego lleva conversión online?
Si posteriormente entra una conversión online, habiendo previamente una offline, se sustituye la conversión offline por la online (ya no existe la conversión offline previa).
La conversión online se produce al llamar, desde las landing, al tracker con idgoal=1 (http(s)://t.womtp.com/t?idgoal=1&data=...&...)
Se busca visita siguiendo varios procedimientos, incluyendo visitas en ventana de tiempo (especificada en el parámetro "cw" de la llamada al servicio de conversión) y fuera de ella.
Si no hay visita no se hace nada la conversión online no se da de alta, quedando por tanto la conversión offline.