# Agregar un prospecto Este servicio permite agregar un prospecto a la base de datos de una tienda (en PlazaMundial.Net) desde una página Web externa; generalmente una 'landing page'; ya sea a través de una solicitud POST o Ajax. End point: https://pm.api.induxsoft.net/leads/ ## Consumir a través de un formulario HTML ``` html
``` Si consume el servicio desde un formulario HTML, debe especificar una URL de redirección para el éxito o el fracaso definiendo los campos ocultos ```_on_success_redirect``` y ```_on_fail_redirect``` respectivamente. Las url de redirección pueden incluir datos del registro usando marcadores de posición en la forma ```@nombre_del_campo```, por ejemplo para redirigir cuando se ha agregado el prospecto e incluir en la URL su clave primaria y nombre indicado use: ``` https://miurldesalida.tld/?clave_primaria=@sys_pk&nombre=@name ``` Se le sugiere validar las entradas del usuario a través de Javascript antes de enviar el formulario. ## Consumir a traves de AJAX ``` Method: POST Content-Type: application/json;charset=utf-8 { "storeid":"Id de la tienda", ... datos del prospecto ... } ``` Cuando se consume el servicio al estilo AJAX, se agrega el encabezado HTTP ```Access-Control-Allow-Origin: *``` a la respuesta para que pueda utilizarlo directamente desde el código Javascript de la página en su propio dominio. El contenido de la respuesta HTTP en caso de éxito consistirá en los datos del prospecto agregado, similar a: ``` Content-Type: application/json;charset=utf-8 { ... datos del prospecto ... } ``` En caso de error, se devolverá el código de estado HTTP 500 (Error interno del servidor) y en el cuerpo estará disponible el mensaje explicativo provisto por el servicio. ## Campos disponibles Los datos (campos) del prospecto requeridos son: * subject. Cadena con el asunto o título del prospecto * name. Cadena con el nombre del prospecto * email. Cadena con el correo electrónico del prospecto Los siguientes campos son opcionales: * recived. Cadena de fecha y hora en formato yyyy-MM-ddThh:mm:ss que corresponde a le fecha y hora de recepción del prospecto * next_contact. Cadena de fecha y hora en formato yyyy-MM-ddThh:mm:ss que corresponde a le fecha y hora del próximo contacto programado * agent_id. Cadena con el Id del perfil del agente (colaborador) al que está asignado el prospecto * lead_status. Numérico con la clave del estado en el que está el prospecto. * remarks. Cadena con los comentarios o mensaje del prospecto * color. Numérico que indica el color asignado al prospecto (0-Blanco, 1-Rojo, 2-Verde, 3-Azul, 4-Morado y 5-Amarillo) * phone. Cadena con el número telefónico del prospecto * organization. Cadena con el nombre de la empresa u organización del prospecto * position. Cadena con el nombre del puesto del prospecto en la organización Ejemplo para agregar un prospecto Solicitud ``` Method: POST Content-Type: application/json;charset=utf-8 { "storeid":"Id de la tienda o una clave de API de una tienda", "name":"Juan López", "email":"correodejuan@servidordejuan.com", "phone":"5555555555", "subject":"prueba", "remarks":"Algún mensaje de prueba", "organization":"Empresa de juan", "position":"Puesto de juan en su empresa" } ``` Respuesta ``` Content-Type: application/json;charset=utf-8 { "sys_pk": 168726, "sys_dtcreated": "2022-03-16T13:20:05", "sys_timestamp": "2022-03-16T13:20:05", "sys_guid": "9f0d74762562407da30b73ce2148832b", "recived": "2022-03-16T13:20:05", "next_contact": "", "last_contact": "", "last_attempt": "", "agent_id": "", "leadstatus": 0, "subject": "prueba", "color": 0, "name": "Juan L\u00F3pez", "email": "correodejuan@servidordejuan.com", "phone": "5555555555", "organization": "Empresa de juan", "remarks": "Alg\u00FAn mensaje de prueba", "position": "Puesto de juan en su empresa", } ```