Crear una orden

POST {{url}}/moovin-retail/api/v1/order/create

Se cuenta con la posibilidad de poder crear una orden asociada a un cliente.

Observaciones:

  • Se debe conocer el número de perfil al cual se debe asociar la orden, el sistema procederá a realizar un análisis del perfil.
  • Se debe conocer de antemano la sede de dónde la orden va a ser despachada al cliente.

Estados

  • SUCCESS: se ejecutó de forma correcta.
  • NOEXISTSCEDI: el cedi enviado no existe.
  • LONGTEXTPRODUCT: en caso de que el nombre o la descripción del producto supera los 256 caracteres.
  • NOEXISTSCURRENCY: no existe le tipo de moneda que se solicita.
  • NOEXISTSPAYMENTMETHODTYPE: se solicita un método de pago no permitido.
  • NOEXISTSTASKTYPE: se envía un tipo de tarea no permitida.
  • CEDILOCATIONNOTEXIST: alguna de las CEDIs con las que se esta creando la orden ya no existe.
  • ERRORPAYMENTNOTAVAILABLE: el perfil no esta habilitado para crear órdenes con cobros en el momento de entrega

Cobro contra entrega de la orden

Para configurar los cobros o cambio de dinero se tiene los siguientes parámetros:

currency

  • colones
  • dollars

method

  • cash: cobro en efectivo
  • creditCard: cobro en tarjeta
  • collectMoneyExchange: cambio a recoger(se debe recoger en el primer punto).

amount

  • monto a cobrar

Ejemplo del manejo de dinero

Escenarios de cobro

Crear una orden con cobro en efectivo

Se debe agregar a las orden en el parámetro lisPayment 2 elementos

cash: Indicando el monto a cobrar al cliente.

collectMoneyExchange: Indicado el monto de dinero que le debe entregar la cede al Moover para poder utilizar como cambio.

Observaciones que se debe considerar en el flujo: No se debe colocar el monto a retornar a la sede ya que se puede presentar los siguientes escenarios de forma dinámica que realizan la variación del monto:

Escenario #1

El cliente realiza una cancelación de monto exacto por lo que no se requiere que el Mover(Mensajero) deba recolectar cambio para poder realizar la entrega.

Escenario #2

El Moover(Mensajero) recolecta el monto indicado como dinero para vuelto(collectMoneyExchange) y la entrega se da de forma efectiva.

Por lo que el mensajero tendrá que retorna a la sede el monto de cash + collectMoneyExchange

Escenario #3

El Moover(Mensajero) recolecta el monto indicado como dinero para vuelto(collectMoneyExchange) y no se llega a dar la entrega de forma efectiva.

Posibles causas:

El cliente no es localizado

No cuenta con el dinero

Los productos enviados no son los deseados

En este caso el Moover debe retornar el monto collectMoneyExchange y los productos de la orden.

Escenario #4

El Moover(Mensajero) recolecta el monto indicado como dinero para vuelto(collectMoneyExchange) y se permite el cambio de método de pago.

Posibles causas:

No tiene dinero en ese momento.

Decide pagar con tarjeta de crédito.

En este caso el Moover debe retornar el monto collectMoneyExchange.

Nota: se debe considerar si el cliente permite el cambio de método de pago.

Una vez expuesto los escenarios anteriores y buscando poder aclarar los mismos nos apoyamos de un siguiente ejemplo.

El cliente realiza una compra por 18000 colones

EscenarioCashcollectMoneyExchangeMonto a devolver
Escenario #11800018000
Escenario #2 Paga con 2000018000200020000
Escenario #3 Paga con 200001800020002000
Escenario #4 Paga con 200001800020002000

Crear una orden cobro con tarjeta

Se debe agregar a las orden en el parámetro lisPayment 1 elemento

creditCard: donde se indica el monto a cobrar por el cliente.

En este caso el Moover no debe regresar para entregar dinero ya que no existe dinero físico.

Request Body

{"name"=>"Javier Hernandez 1", "phone"=>"60500849", "locationDelivery"=>{"name"=>"Casa Javier 1 ", "address"=>"direccion a la casa ", "latitude"=>9.936372, "longitude"=>-84.156485}, "listPackage"=>[{"fkIdCEDILocation"=>1, "listProduct"=>[{"name"=>"Medicina 1", "quantity"=>4}, {"name"=>"Medicina 2", "quantity"=>2}, {"name"=>"Medicina 3", "quantity"=>1}]}], "listPayment"=>[{"amount"=>18000, "currency"=>"colones", "method"=>"cash", "description"=>"Cobrar factura "}, {"amount"=>2000, "currency"=>"colones", "method"=>"collectMoneyExchange", "description"=>"Vuelto de la factura "}], "listTask"=>[{"name"=>"Prueba tarea 1", "type"=>"do"}]}

RESPONSES

status: OK

{"status":"NOEXISTSCEDI","message":"Associating one with a CEDI that does not exist"}