getContacts()
Los vendedores pueden agregar nuevos clientes desde la aplicación móvil de Seller Manager, para ello se ha creado el método getContacts(). Use este método para importar los nuevos clientes a su sistema empresarial o de gestión de clientes.
Código
Cuando un agente agrega un nuevo cliente mediante la App móvil, el sistema guarda el origen del contacto como 'App', este estado es temporal y se usa para detectar nuevos clientes que necesitan ser agregados al sistema empresarial. El método devuelve todos los campos de la tabla contactos.
Los clientes importados deben ser actualizados para evitar duplicados en futuras importaciones. El campo "origen" tiene valor: "App" cuando el cliente es agregado por el agente desde la app. Una vez importado debe enviarse la actualización del campo "origen" y cambiarlo a "Importado".
//get contacts, buscar nuevos clientes agregados desde app móvil
function getContacts(){
var origen = 'App';
params = {
origen: origen,
token: token
}
callAPI('getContacts', params);
}
///////////////////////////////////////////////////////////////////////////////
//Ejemplo de la respuesta que recibe de la API.
if (data.code == 1) {
arrdatos = data.details;
filas = '';
for(i=0;i<arrdatos.length; i++){
contact_id = arrdatos[i].contact_id;
nombre_comercial = arrdatos[i].fullname;
razon_social = arrdatos[i].representante;
ruc = arrdatos[i].ruc; //para RUC, Cedula o pasaporte
email = arrdatos[i].email;
phone = arrdatos[i].phone;
estado = arrdatos[i].status; //active, pending (Prospecto), blocked
fecha_creado = arrdatos[i].date_created;
driver_id = arrdatos[i].driver_id; //ID del vendedor que lo agregó
agente = arrdatos[i].agente; //Nombre del vendedor que lo agregó
credito = arrdatos[i].credito; //toma valor 0 ó 1 (0 -> no tiene crédito, 1 -> tiene crédito)
cupo = arrdatos[i].cupo; //cupo asignado si tiene crédito
balance = arrdatos[i].balance; //monto de la deuda si tiene
address = arrdatos[i].address;
origen = arrdatos[i].origen;
origen = '<label class="label label-danger">'+origen+'</label>';
//coordenadas del mapa
lat = arrdatos[i].addresss_lat;
lng = arrdatos[i].addresss_lng;
var nuevoestado='';
switch(estado){
case 'blocked':
nuevoestado = 'Bloqueado';
estado = '<label class="label label-danger">'+nuevoestado+'</label>';
break;
case 'pending':
nuevoestado = 'Pendiente';
estado = '<label class="label label-primary">'+nuevoestado+'</label>';
break;
case 'active':
nuevoestado = 'Activo';
estado = '<label class="label label-success">'+nuevoestado+'</label>';
break;
}
filas += '<tr class="contact_'+contact_id+'"><td>'+contact_id+'</td><td>'+nombre_comercial+'</td><td>'+ruc+'</td><td>'+phone+'</td><td>'+address+'</td><td>'+agente+'</td><td>'+estado+'</td><td>'+origen+'</td><td><button onclick="updateContact('+contact_id+')" class="btn btn-info">Actualizar</button></td><</tr>';
}
$('#clientes').html(filas);
}else{
alert(data.msg);
}
//////////////////////////////////////////////////////////////
//function origen del Contacto
function updateContactOrigen(contact_id){
var origen = 'Importado';
params = {
origen: origen,
contact_id: contact_id,
token: token
}
callAPI('updateContactOrigen', params);
}
///////////////////////////////////////////////////////////////////////////////
//Ejemplo de la respuesta que recibe de la API.
if (data.code == 1) {
alert(data.msg);
contact_id = params.contact_id;
nuevo_origen = '<label class="label label-success">Importado</label>';
$('.contact_'+contact_id).find('td:eq(7)').html(nuevo_origen);
}else{
alert(data.msg);
}
Ejemplo:
Obtener nuevos Clientes y actualizar origen del cliente una vez importado: El ejemplo obtiene nuevos clientes agregados desde la app Seller Manager.
| ID | Nombre Comercial | RUC | Teléfono | Dirección | Agente | Estado | Origen | Actualizar |
|---|
<div class="form-group">
<button onclick="getContacts();" class="btn btn-primary">Obtener Nuevos Clientes</button><br>
<label> Resultado:</label> <br>
<table class="table table-bordered table-responsive table-striped">
<theah>
<tr>
<th>ID</th><th>Nombre Comercial</th><th>RUC</th><th>Teléfono</th><th>Dirección</th><th>Agente</th><th>estado</th><th>origen</th><th>Actualizar</th>
</tr>
</theah>
<tbody id="clientes">
</tbody>
</table>
</div>
//get contacts, buscar nuevos clientes agregados desde app móvil
function getContacts(){
var origen = 'App';
params = {
origen: origen,
token: token
}
callAPI('getContacts', params);
}
////////////////////////////////////////
Respuesta de la API
if (data.code == 1) {
arrdatos = data.details;
filas = '';
for(i=0;i<arrdatos.length; i++){
contact_id = arrdatos[i].contact_id;
nombre_comercial = arrdatos[i].fullname;
razon_social = arrdatos[i].representante;
ruc = arrdatos[i].ruc; //para RUC, Cedula o pasaporte
email = arrdatos[i].email;
phone = arrdatos[i].phone;
estado = arrdatos[i].status; //active, pending (Prospecto), blocked
fecha_creado = arrdatos[i].date_created;
driver_id = arrdatos[i].driver_id; //ID del vendedor que lo agregó
agente = arrdatos[i].agente; //Nombre del vendedor que lo agregó
credito = arrdatos[i].credito; //toma valor 0 ó 1 (0 -> no tiene crédito, 1 -> tiene crédito)
cupo = arrdatos[i].cupo; //cupo asignado si tiene crédito
balance = arrdatos[i].balance; //monto de la deuda si tiene
address = arrdatos[i].address;
origen = arrdatos[i].origen;
origen = '<label class="label label-danger">'+origen+'</label>';
//coordenadas del mapa
lat = arrdatos[i].addresss_lat;
lng = arrdatos[i].addresss_lng;
var nuevoestado='';
switch(estado){
case 'blocked':
nuevoestado = 'Bloqueado';
estado = '<label class="label label-danger">'+nuevoestado+'</label>';
break;
case 'pending':
nuevoestado = 'Pendiente';
estado = '<label class="label label-primary">'+nuevoestado+'</label>';
break;
case 'active':
nuevoestado = 'Activo';
estado = '<label class="label label-success">'+nuevoestado+'</label>';
break;
}
filas += '<tr class="contact_'+contact_id+'"><td>'+contact_id+'</td><td>'+nombre_comercial+'</td><td>'+ruc+'</td><td>'+phone+'</td><td>'+address+'</td><td>'+agente+'</td><td>'+estado+'</td><td>'+origen+'</td><td><button onclick="updateContactOrigen('+contact_id+')" class="btn btn-info">Actualizar</button></td><</tr>';
}
$('#clientes').html(filas);
}else{
alert(data.msg);
}
//////////////////////////////////////////////////////////////
//function actualizar origen del Contacto
function updateContactOrigen(contact_id){
var origen = 'Importado';
params = {
origen: origen,
contact_id: contact_id,
token: token
}
callAPI('updateContactOrigen', params);
}
///////////////////////////////////////////////////////////////////////////////
//Ejemplo de la respuesta que recibe de la API.
if (data.code == 1) {
alert(data.msg);
contact_id = params.contact_id;
nuevo_origen = '<label class="label label-success">Importado</label>';
$('.contact_'+contact_id).find('td:eq(7)').html(nuevo_origen);
}else{
alert(data.msg);
}