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.

  1. Código
  2. Ejemplo

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".



IDFechaEstadoCódigoItemCantPrecioSubtotalIVAAceptar


<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);
}