Integración con delio-client

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 a incorporar
<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.

      NOTAS:
      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.
  • 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:

Ejemplo Configuración
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:

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 obligatoriadata-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:

  1. Crear un nuevo landing con el formulario a utilizar.
  2. Seleccionar la opción, en el menú de la derecha, en el apartado de "Basic Integrations", llamada "WebHook: POST to URL".
  3. Colocar en el campo "Url for POST" la url "https://ws.walmeric.com/provision/wsclient/sendLeadUnbounce.html".
  4. Añadir mapeado de los campos para que se le asignen nombres acordes a las etiquetas declarativas que se quieran crear.
  5. 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:

  1. 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">
  2. 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" />
  3. 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:

campodescripcionValores posiblesopcional
idTagCredencial 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
formatIndica el formato de la respuesta del resultado de la operaciónXML, JSON y JSONPSi (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

Ejemplo de llamada GET
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ámetroOpcionalTipoDescripción
resultNoCadenaDevolverá "OK" o "KO" Dependiendo de como resulto el proceso
codeNoEnteroCódigo de respuesta, 200 para registro correcto, otro es error
leadIdNoCadenaIdentificador del lead en la plataforma de delio, Este vendrá vacío si se produce un error
newSiBooleanoIndica si el lead se ha registrado como nuevo o actualiza un lead existente
messageSistringMensaje del error producido

Ejemplo: {"result":"OK","code":200,"leadId":"10bfa8de2a715bb9382ebc0fc117e31b336930e3","new":true}

Codigo de errores posibles

codemessage
485Lead en proceso de registro
486Lead sin declarativas
487Lead Bloqueado
488Lead Desbordado
492idTag Invalido
493Servicio Deshabilitado
429No 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

Url ejemplo
//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

Ejemplo objeto JSON
{
	"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

Ejemplo Llamada GET por JQuery
$.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ámetroOpcionalTipoDescripción
codNoEnteroSiempre se devolverá 200
messageNoCadenaSiempre devolvera "Actualziacion Correcta"

Ejemplo: {"cod":"200","message":"Actualizaci\u00f3n correcta"}

Actualización idcorrecta:

ParámetroSubparaemtroTipoDescripción
errorscodeEnteroSiempre se devolverá un codigo de error

messageCadenaMotivo del error

Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}

Código de errores posibles

codemessage
492idTag Invalido
493Servicio Deshabilitado
494Lead no encontrado
495Error al actualizar las etiquetas
429No hay mensaje, error Http
462El parametro data esta vacio
465Parametro "id" no valido, pueden ser otros parametros
479Se pide un tipo de Etiqueta que no existe

Consulta de etiquetas

Respuesta correcta

Ejemplo de respuesta (RESULT)
{
	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ámetroSubparaemtroTipoDescripción
errorscodeEnteroSiempre se devolverá un codigo de error

messageCadenaMotivo del error

Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}

Código de errores posibles

codemessage
492idTag Invalido
493Servicio Deshabilitado
494Lead no encontrado
429No 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

Url ejemplo
//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

Ejemplo objeto JSON
{
	"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

Ejemplo Llamada GET o POST por JQuery
$.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ámetroOpcionalTipoDescripción
codNoEnteroSiempre se devolverá 200
messageNoCadenaSiempre devolvera "Actualziacion Correcta"

Ejemplo: {"cod":"200","message":"Actualizaci\u00f3n correcta"}

Actualización idcorrecta:

ParámetroSubparaemtroTipoDescripción
errorscodeEnteroSiempre se devolverá un codigo de error

messageCadenaMotivo del error

Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}

Código de errores posibles

codemessage
492idTag Invalido
493Servicio Deshabilitado
494Lead no encontrado
495Error al actualizar las etiquetas
429No hay mensaje, error Http

Consulta de etiquetas

Respuesta correcta

Ejemplo de respuesta (RESULT)
{
	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ámetroSubparaemtroTipoDescripción
errorscodeEnteroSiempre se devolverá un codigo de error

messageCadenaMotivo del error

Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}

Código de errores posibles

codemessage
492idTag Invalido
493Servicio Deshabilitado
494Lead no encontrado
429No 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

Url ejemplo
//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

Ejemplo objeto JSON
{
	"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

Ejemplo Llamada GET o POST por JQuery
$.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ámetroOpcionalTipoDescripción
codNoEnteroSiempre se devolverá 200
messageNoCadenaSiempre devolvera "Actualziacion Correcta"

Ejemplo: {"cod":"200","message":"Actualizaci\u00f3n correcta"}

Actualización idcorrecta:

ParámetroSubparaemtroTipoDescripción
errorscodeEnteroSiempre se devolverá un codigo de error

messageCadenaMotivo del error

Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}

Código de errores posibles

codemessage
492idTag Invalido
493Servicio Deshabilitado
494Lead no encontrado
495Error al actualizar las etiquetas
429No hay mensaje, error Http

Consulta de etiquetas

Respuesta correcta

Ejemplo de respuesta (RESULT)
{
	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ámetroSubparaemtroTipoDescripción
errorscodeEnteroSiempre se devolverá un codigo de error

messageCadenaMotivo del error

Ejemplo: {"errors":{"code":495,"message":"Error al actualizar las etiquetas: EExternals"}}

Código de errores posibles

codemessage
492idTag Invalido
493Servicio Deshabilitado
494Lead no encontrado
429No 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 EtiquetasTipos abreviados EjemploComentario
      Declarativasdecdec:nombre=<<nombre>>Son las únicas etiquetas que pueden enviarse sin tipo. Si no se define tipo serán declarativas 
      Comercialescomcom:Nivel de Interes=Muy Interesado
      Externasextext:Detalle de cierre=Cliente interesado en contratar por canales electrónicos
      Conversiónconcon:Tipo Cliente=comercial
      Visitavisvis:Site conversion=home
      Ventasal, 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

Ejemplo POST/GET 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

Ejemplo POST/GET 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:

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.