getPedidosAPI()
Los pedidos del cliente llegan en tiempo real a Seller Manager, a través de la API el sistema de facturación consulta nuevos pedidos y procede a procesar los mismos.
Código
El método getPedidosAPI() recibe como parámetros el estado del pedido ("Pendiente" es de forma predeterminada el estado inicial) y el contact_id (idcliente) que se obtiene con el método getContactid(). Una vez recibidos los nuevos pedidos el sistema de facturación debe enviar a Seller Manager el nuevo estado: "Aceptado" o "Cancelado".
//get pedidos
function getPedidosAPI(){
//obtenga el idcliente con la función anterior getContactid
var contact_id = $('#idclientepedido').val(); //idcliente
//Puede solicitar pedidos por estado. ("Pendiente", "Aceptado", "Entregado", "Cancelado")
var estado = 'Pendiente';
params = {
contact_id: contact_id,
estado: estado,
token: token
}
callAPI('getPedidosAPI', 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++){
idpedido = arrdatos[i].idpedido;
cliente = arrdatos[i].cliente;
agente = arrdatos[i].agente;
fecha = arrdatos[i].date_created;
estado = arrdatos[i].status;
var nuevoestado='';
switch(estado){
case 'Pendiente':
estado = '<label class="label label-danger">'+estado+'</label>';
nuevoestado = 'Aceptado';
break;
case 'Aceptado':
estado = '<label class="label label-primary">'+estado+'</label>';
nuevoestado = 'Entregado';
break;
case 'Entregado':
estado = '<label class="label label-success">'+estado+'</label>';
break;
}
cod_prod = arrdatos[i].cod_prod;
description = arrdatos[i].description;
quantity = arrdatos[i].quantity;
price = arrdatos[i].price;
subtotal = arrdatos[i].subtotal;
subtotal_iva = arrdatos[i].subtotal_iva;
filas += '<tr class="pedido_'+idpedido+'"><td>'+idpedido+'</td><td>'+fecha+'</td><td>'+estado+'</td><td>'+cod_prod+'</td><td>'+description+'</td><td>'+quantity+'</td><td>'+price+'</td><td>'+subtotal+'</td><td>'+subtotal_iva+'</td><td><button onclick="updatePedido('+idpedido+', \''+nuevoestado+'\')" class="btn btn-info">Actualizar</button></td><</tr>';
}
$('#pedidos').html(filas);
}else{
alert(data.msg);
}
/////////////////////////////////////////////////////////////////////////////////////////////
//actualizar estado del pedido
function updatePedido(idpedido, nuevoestado){
params = {
idpedido: idpedido,
estado: nuevoestado,
token: token
}
callAPI('updatePedido', params);
}
///////////////////////////////////////////////////////////////////////////////
//Ejemplo de la respuesta que recibe de la API.
if (data.code == 1) {
idpedido = params.idpedido;
nuevoestado = params.estado;
switch(nuevoestado){
case 'Pendiente':
nuevoestado = '<label class="label label-danger">'+nuevoestado+'</label>';
break;
case 'Aceptado':
nuevoestado = '<label class="label label-primary">'+nuevoestado+'</label>';
break;
case 'Entregado':
nuevoestado = '<label class="label label-success">'+nuevoestado+'</label>';
break;
}
$('.pedido_'+idpedido).find('td:eq(2)').html(nuevoestado);
}else{
alert(data.msg);
}
Ejemplo:
Obtener nuevos pedidos del Cliente en Seller Manager: El ejemplo ha sido preparado para enviar el ID de un cliente y obtener sus pedidos. En este ejemplo el botón "Actualizar" cambia al estado "Aceptado".
| ID | Fecha | Estado | Código | Item | Cant | Precio | Subtotal | IVA | Aceptar |
|---|
<form id="frm-idciente" method="POST" onsubmit="return false;">
<div class="form-group">
<label for="idclientepedido">Cliente (Usa idcliente de Seller Manager)</label>
<select id="idclientepedido" data-placeholder="Tienda Juanito" required class="form-control">
<option value="">Cliente... </option>
<option value="195">Tienda Juanito</option>
<option value="197">Knela Shop</option>
</select>
</div>
<div class="form-group">
<label for="estadopedido">Estado (Pendiente)</label>
<select id="estadopedido" data-placeholder="Tienda Juanito" required class="form-control">
<option value="Pendiente">Pendiente</option>
<option value="Aceptado">Aceptado</option>
<option value="Entregado">Entregado</option>
<option value="Cancelado">Cancelado</option>
</select>
</div>
<div class="form-group text-right m-b-0">
<button onclick="getPedidosAPI();" class="btn btn-primary waves-effect waves-light" >
Obtener
</button>
</div>
</form>
<hr>
<div class="form-group">
<label for="idcliente"> Resultado:</label> <br>
<table class="table table-bordered table-responsive">
<theah>
<tr>
<th>Idpedido</th><th>Cliente</th><th>Fecha</th><th>Estado</th><th>Código</th><th>Item</th><th>Cant</th><th>Precio</th><th>Subtotal</th><th>IVA</th><th>Aceptar</th>
</tr>
</theah>
<tbody id="pedidos">
</tbody>
</table>
</div>
<hr>
//get pedidos
function getPedidosAPI(){
//obtenga el idcliente con la función anterior getContactid
var contact_id = $('#idclientepedido').val(); //idcliente
//Puede solicitar pedidos por estado. ("Pendiente", "Aceptado", "Entregado")
var estado = $('#estadopedido').val();
params = {
contact_id: contact_id,
estado: estado,
token: token
}
callAPI('getPedidosAPI', params);
}
//actualizar estado del pedido
function updatePedido(idpedido, nuevoestado){
paramsbalance = {
idpedido: idpedido,
estado: nuevoestado,
token: token
}
callAPI('updatePedido', paramsbalance);
}