Saltar al contenido principal

show-order

Este método se utiliza para mostrar de manera individual la información de una orden de venta, no aplica paginación con en el caso de get-orders.

Notas

El método show-order debe de utilizarse únicamente para consultar la información actual de la orden, este o no este abierta para el cliente, es muy similar a utilizar los métodos tipo show de los demás elementos, como por ejemplo, show-product o show-shop.

Este método como ya se mencionó muestra la información actual de una orden de venta, no debe confundirse con el método show-order-customer, que lo que haces es abrir la orden para el cliente, es decir, generar la dirección de depósito y comenzar con la cuenta regresiva para que la orden expire, a menos que se pague en su totalidad o reciba por lo menos un pago parcial.


Path del método

show-order

Endpoint final

PRODUCCION

https://aceptabits.com/api/thirdparty/v1/show-order

SANDBOX DE PRUEBAS

https://sandbox.aceptabits.com/api/thirdparty/v1/show-order

Método de petición HTTP

GET

Lista de parámetros

ParámetroObligatorioDescripciónvalor
codeSiEl código de la orden que se quiere obtenerEjemplo:
pgbord17799727777894479

Deberás de ingresar el código de la orden que requieres obtener

Lista de códigos

Exitoso
CódigoDescripción
0066La orden se ha obtenido con éxito

 

Error
CódigoDescripción
0000El Token API no es correcto y la autenticación del usuario ha fallado
0003El Token API no es correcto y la autenticación del usuario ha fallado
1397El Token API no es correcto y la autenticación del usuario ha fallado
1398El código de la orden es requerido
1399La orden que se intenta obtener no existe (el código de la orden es incorrecto)
1400El Token API no es correcto y la autenticación del usuario ha fallado
1401Ocurrió un problema al obtener la orden, inténtelo nuevamente o consulte con soporte técnico para más ayuda
1402Ocurrió un problema al obtener la orden, inténtelo nuevamente o consulte con soporte técnico para más ayuda

Ejemplo de respuesta EXITOSA

Exitoso

Código HTTP 200


{
"status": true,
"success": {
"code": "0066"
},
"data": {
"code": "pgbord110424845444398694",
"address": null,
"slug": "6d49614f8dadb0800de7f2dff01d970f23bb304fMls1vA4kCXlXVvruBOT3",
"amount_filled": "0.00000000",
"amount_remaining": "83.92857142",
"amount_unconfirmed": "0.00000000",
"code_customer": "pgbcus64417556427339357",
"name_customer": "Mauricio Torres",
"code_agent": null,
"name_agent": null,
"code_shop": "pgbsho40996222369461182",
"name_shop": "Tienda general",
"code_currency": "PBT",
"currency_full_name": "PesoBits (PBT)",
"name_currency": "PesoBits",
"confirmations_counter": "0",
"remaining_seconds": null,
"created_at": "2024-08-14T00:58:28.000000Z",
"created_at_format": "2024-08-13 18:58:28",
"expiration_date": null,
"expiration_date_format": null,
"isConfirming": "0",
"isExpired": "0",
"isPaid": "0",
"isWaiting": "0",
"total": "83.92857142",
"subtotal": "83.08928570",
"commission": "0.83928572",
"commission_percent": "1.00000000",
"total_mxn": "235.00000000",
"subtotal_mxn": "232.65000000",
"commission_mxn": "2.35000000",
"cart": [
{
"quantity": "1.00000000",
"total_mxn": "0.00000000",
"name_product": null,
"code_product": null,
"name_service": "Venta general",
"code_service": "pgbser39672923942379828"
}
],
"concept": "Pedido No.1520"
}
}

Descripción de la respuesta

  • Revisar el listado de códigos EXITOSO para conocer el significado de success code.
  • data - muestra la información actual de la orden
    • code - Código de la orden (este código es único para cada orden dada de alta)
    • address - Muestra la dirección de depósito de la orden, si no se ha mostrado la orden al cliente con el método show-order-customer, este campo se mantendrá con valor null
    • slug - Este es el identificador web de la orden (este slug es unico para cada orden dada de alta, se utiliza para formar la URL de pago que se puede compartir al cliente)
    • amount_filled - Muestra la cantidad obtenida de la orden, se va actualizando cada vez que se realiza un pago a la orden
    • amount_remaining - Muestra la cantidad restante que falta por obtener en la orden, se va actualizando cada vez que se realiza un pago a la orden
    • amount_unconfirmed - Muestra la cantidad obtenida que aún no ha completado las confirmaciones de red (en caso de que el pago no provenga de un usuario de MercadoBits, es decir de una wallet externa, si es así deberá de completar las confirmaciones de red para poder reflejarse en el campo amount_filled, si el pago proviene de un usuario de MercadoBits se vera reflejado inmediatamente en el campo amount_filled)
    • code_customer - Código del cliente al que pertenece la orden de venta
    • name_customer - Nombre del cliente al que pertenece la orden de venta
    • code_agent - Código del agente de ventas al que pertenece la orden de venta, si la orden no tiene asignado un agente de ventas se mantendrá este campo con valor null
    • name_agent - Nombre del agente de ventas al que pertenece la orden de venta, si la orden no tiene asignado un agente de ventas se mantendrá este campo con valor null
    • code_shop - Código de la tienda al que pertenece la orden de venta
    • name_shop - Nombre de la tienda al que pertenece la orden de venta
    • code_currency - Muestra el código de la moneda con la que se debe de pagar la orden de venta
    • currency_full_name - Muestra el nombre completo de la moneda con la que se debe de pagar la orden de venta (incluye nombre y código de moneda)
    • name_currency - Muestra el nombre de la moneda con la que se debe de pagar la orden de venta
    • confirmations_counter - Muestra las confirmaciones restantes para liberar el amount_unconfirmed
    • remaining_seconds - Muestra la diferencia de tiempo hasta su fecha y hora de expiración en segundos, si no se ha mostrado la orden al cliente con el metodo show-order-customer, este campo se mantendrá con valor null
    • created_at - Fecha y hora de creación de la orden (UTC)
    • created_at_format - Fecha y hora de creación de la orden (America/Mexico_City)
    • expiration_date - Fecha y hora de expiración de la orden (America/Mexico_City), si no se ha mostrado la orden al cliente con el método show-order-customer, este campo se mantendrá con valor null
    • expiration_date_format - Fecha y hora de expiración de la orden (UTC), si no se ha mostrado la orden al cliente con el método show-order-customer, este campo se mantendrá con valor null
    • isConfirming - indica si la orden tiene algún pago nativo recibido y esta esperando las confirmaciones de red, los valores posibles son:
      • 0 = no está esperando confirmaciones de red
      • -1 = si está esperando confirmaciones de red
    • isExpired - indica si una orden ha expirado, los valores posibles son:
      • 0 = no ha expirado
      • -1 = ya ha expirado
    • isPaid - indica si una orden ya ha sido pagada en su totalidad, los valores posibles son:
      • 0 = la orden aún no ha sido pagada en su totalidad
      • -1 = la orden ya se ha pagado en su totalidad
    • isWaiting - indica si la orden está en espera de ser liquidada completamente, los valores posibles son:
      • 0 = la orden no ha recibido ningún pago o se ha pagado en su totalidad
      • -1 = la orden recibió por lo menos un pago y está en espera de ser liquidada completamente
    • total - Muestra la cantidad total a pagar de la orden de venta
    • subtotal - Muestra la cantidad que recibirá el vendedor una vez la orden este pagada (si existe excedente, es decir que se pague de más, el vendedor recibirá también el excedente, el único monto que pasa a formar parte de AceptaBits es el mostrado en el campo commission)
    • commission - Muestra la comisión que el vendedor pagara a AceptaBits una vez que la orden este pagada
    • commission_percent - Muestra el porcentaje de comisión que la orden pagara a AceptaBits (se utiliza este valor para calcular el campo commission)
    • total_mxn - Muestra una representación del campo total en MXN (Peso mexicano)
    • subtotal_mxn - Muestra una representación del campo subtotal en MXN (Peso mexicano)
    • commission_mxn - Muestra una representación del campo commission en MXN (Peso mexicano)
    • cart - arreglo que contiene el carrito de compras de la orden, cada elemento dentro de este arreglo es un producto o servicio agregado
      • quantity - indica la cantidad del producto o servicio
      • total_mxn - muestra el total del presente elemento del carrito de compras expresado en MXN (Peso mexicano), se calcula de la siguiente manera: quantity X el precio en MXN del producto o servicio
      • name_product - Muestra el nombre del producto, si el elemento es un servicio este campo se mantendrá con valor null
      • code_product - Muestra el código del producto, si el elemento es un servicio este campo se mantendrá con valor null
      • name_service - Muestra el nombre del servicio, si el elemento es un producto este campo se mantendrá con valor null
      • code_service - Muestra el código del servicio, si el elemento es un producto este campo se mantendrá con valor null
    • concept - Muestra el concepto que se le asigno a la orden de venta, si no se le asigno ningún concepto este campo se mantendrá con valor null
Notas

Es importante conocer y saber interpretar la combinación de ciertos campos para entender en qué estado se encuentra una orden, por ejemplo, para saber si una orden ya se pagó, si está en espera de confirmaciones de red, si ya expiro, etc., a continuación mostramos estos estados y su respectiva combinación e interpretación de sus respectivos campos:

ESTADO 1: orden recién creada en espera de ser abierta para el cliente: Este estado nos indica que se acaba de crear una orden nueva y está en espera de que sea abierta para el cliente utilizando el método: show-order-customer.

  • address = null
  • isPaid = 0
  • isExpired = 0
  • isConfirming = 0
  • isWaiting = 0
  • confirmations_counter = 0
  • amount_filled = 0
  • amount_unconfirmed = 0
  • amount_remaining = tiene el valor del campo total, ejemplo: 100, 0.00056, etc.
  • expiration_date = null
  • expiration_date_format = null
  • remaining_seconds = null

ESTADO 2: orden recién abierta para el cliente: Este estado nos indica que la orden ya fue abierta para el cliente utilizando el método: show-order-customer, en este estado se genera la dirección de depósito y comienza a correr el tiempo hasta su expiración.

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = 0
  • isExpired = 0
  • isConfirming = 0
  • isWaiting = 0
  • confirmations_counter = 0
  • amount_filled = 0
  • amount_unconfirmed = 0
  • amount_remaining = tiene el valor del campo total, ejemplo: 100, 0.00056, etc
  • expiration_date = tiene el valor de fecha y hora para su expiración, ejemplo: 2024-08-13 13:07:06, se representa en zona horaria America/Mexico_City
  • expiration_date_format = tiene el valor de fecha y hora para su expiración, ejemplo: 2024-08-13T18:07:06.000000Z, se representa en zona horaria UTC
  • remaining_seconds = muestra el tiempo en segundos hasta su fecha y hora de expiración, ejemplo: 185

ESTADO 3: orden con un pago recibido esperando las confirmaciones de red (deposito externo que no proviene de un usuario de MercadoBits): Este estado nos indica que la orden ha recibido un depósito y se encuentra en espera de las confirmaciones de red para acreditar los fondos, en este estado la orden ya no va a expirar y se deberá de ignorar completamente los campos: expiration_date, expiration_date_format y remaining_seconds.

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = 0
  • isExpired = 0
  • isConfirming = -1
  • isWaiting = -1
  • confirmations_counter = muestra las confirmaciones pendientes de red para los depositos que requieren confirmaciones, ejemplo: 5
  • amount_filled = muestra el monto que ya se ha confirmado, ejemplo: 100, 0.00056, etc. (este campo va mostrando la sumatoria de todos los depósitos recibidos confirmados, es decir va mostrando el total de depósitos que ha recibido la orden)
  • amount_unconfirmed = tiene el valor del depósito recibido que está en espera de las confirmaciones de red, ejemplo: 70.52369854
  • amount_remaining = tiene el valor del monto restante para completar el pago, ejemplo: 100, 0.00056, etc.

ESTADO 4: pago parcial recibido que ya a cumplido con las confirmaciones de red (deposito externo que no proviene de un usuario de MercadoBits) Este estado nos indica que la orden ha recibido un depósito parcial y ya se ha completado las confirmaciones de red, en este estado la orden ya no va a expirar y se deberá de ignorar completamente los campos: expiration_date, expiration_date_format y remaining_seconds, así mismo la orden queda en espera de ser pagada completamente.

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = 0
  • isExpired = 0
  • isConfirming = 0
  • isWaiting = -1
  • confirmations_counter = 0 (si aun hay depósitos pendientes por confirmacion mostrara las confirmaciones pendientes que aún restan por completarse)
  • amount_filled = muestra el monto que ya se ha confirmado, ejemplo: 100, 0.00056, etc. (este campo va mostrando la sumatoria de todos los depositos recibidos confirmados, es decir va mostrando el total de depositos que ha recibido la orden)
  • amount_unconfirmed = 0 (si aun hay depósitos pendientes por confirmación mostrara el monto pendiente que aún falta por confirmarse)
  • amount_remaining = tiene el valor del campo total menos los depósitos ya confirmados, ejemplos: 100, 0.00056, 0, etc. (si ya se pagó en su totalidad este campo mostrara el valor 0)

ESTADO 5: pago completo recibido que ya a cumplido con las confirmaciones de red (deposito externo que no proviene de un usuario de MercadoBits) Este estado nos indica que la orden ha recibido un depósito que liquida en su totalidad la orden y ya se ha completado las confirmaciones de red, en este estado la orden ya no va a expirar y se deberá de ignorar completamente los campos: expiration_date, expiration_date_format y remaining_seconds, así mismo la orden se muestra como pagada completamente.

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = -1
  • isExpired = 0
  • isConfirming = 0
  • isWaiting = 0
  • confirmations_counter = 0
  • amount_filled = muestra el monto que ya se ha confirmado, en este caso el total de la orden, ejemplo: 100, 0.00056, etc. (si la orden tuvo algún excedente se mostrara aquí)
  • amount_unconfirmed = 0
  • amount_remaining = 0

ESTADO 6: pago parcial recibido que no necesita confirmaciones de red (deposito que proviene de un usuario de MercadoBits) Este estado nos muestra un pago parcial recibido proveniente de un usuario de MercadoBits, estos pagos se procesan al instante y no requieren de confirmaciones de red para acreditar los fondos, en este estado la orden ya no va a expirar y se deberá de ignorar completamente los campos: expiration_date, expiration_date_format y remaining_seconds, así mismo la orden queda en espera de ser pagada completamente.

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = 0
  • isExpired = 0
  • isConfirming = 0
  • isWaiting = -1
  • confirmations_counter = 0
  • amount_filled = muestra el monto que ya se ha confirmado, ejemplo: 100, 0.00056, etc. (este campo va mostrando la sumatoria de todos los depósitos recibidos confirmados (en este caso de los depósitos provenientes de usuarios de MercadoBits entran directamente como depósitos confirmados), es decir va mostrando el total de depósitos que ha recibido la orden)
  • amount_unconfirmed = 0
  • amount_remaining = tiene el valor del campo total menos los depósitos ya confirmados, en este caso todos los depósitos que entran ya están confirmados y no necesitan confirmaciones de red, ejemplos: 100, 0.00056, 0, etc. (si ya se pagó en su totalidad este campo mostrara el valor 0)

ESTADO 7: pago completo recibido que no necesita confirmaciones de red (deposito que proviene de un usuario de MercadoBits) Este estado nos indica que la orden ha recibido un depósito que liquida en su totalidad la orden y que no necesita confirmaciones de red, en este estado la orden ya no va a expirar y se deberá de ignorar completamente los campos: expiration_date, expiration_date_format y remaining_seconds, así mismo la orden se muestra como pagada completamente.

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = -1
  • isExpired = 0
  • isConfirming = 0
  • isWaiting = 0
  • confirmations_counter = 0
  • amount_filled = muestra el monto que ya se ha confirmado, en este caso el total de la orden, ejemplo: 100, 0.00056, etc. (si la orden tuvo algun excedente se mostrara aquí)
  • amount_unconfirmed = 0
  • amount_remaining = 0

ESTADO 8: la orden ha expirado Este estado nos muestra una orden que ha expirado, es importante que no se muestren al cliente órdenes ya expiradas, de ser necesario se deberá de generar una orden nueva para que el cliente la pague, en este estado ya no se debe de hacer nada y solamente se deberá de archivar como una orden expirada

  • address = tiene generada la dirección de depósito, ejemplo: pbtcrt1qjr2fte8wgt0zet9tz9xcgwvjagvchrdea6a4ey
  • isPaid = 0
  • isExpired = -1
  • isConfirming = 0
  • isWaiting = 0
  • confirmations_counter = 0
  • amount_filled = 0
  • amount_unconfirmed = 0
  • amount_remaining = tiene el valor del campo total, ejemplo: 100, 0.00056, etc.
  • expiration_date = tiene el valor de fecha y hora para su expiración, ejemplo: 2024-08-13 13:07:06, se representa en zona horaria America/Mexico_City
  • expiration_date_format = tiene el valor de fecha y hora para su expiración, ejemplo: 2024-08-13T18:07:06.000000Z, se representa en zona horaria UTC
  • remaining_seconds = 0

Dirección de deposito: EL campo address es la dirección a la que el cliente final deberá de depositar el pago de la orden, esta dirección es única para cada orden generada en AceptaBits, se genera de manera automática al abrir la orden al cliente y no se puede cambiar ni ingresar de manera manual.

Se recomienda al desarrollador mostrarle al cliente esta dirección de manera muy clara y que por ningún motivo pueda ser cambiada, editada o borrada en la pantalla donde sea mostrada, esto con el propósito de minimizar la posibilidad de que un cliente pueda cometer algún error al momento de copiarla o transcribirla y posteriormente ser utilizada en su wallet para realizar el retiro de sus fondos, los fondos enviados a direcciones equivocadas serán responsabilidad del cliente, AceptaBits únicamente recibirá y acreditara fondos de las direcciones que se generen en las órdenes de venta.

Se recomienda al desarrollador mostrar la dirección de manera textual y también mostrarla en forma de código QR, estos códigos QR son muy cómodos y ampliamente utilizados en muchas plataformas al brindarle a sus usuarios la posibilidad de escanearlos para obtener de manera fácil una dirección de depósito, en AceptaBits hacemos uso de ellos para mostrar la dirección de depósito en las órdenes de venta, así mismo, brindamos a nuestros usuarios su respectivo escáner QR tanto en la página web como en la app para dispositivos móviles.


Montos en espera de confirmación por parte de la red:

Los montos que se depositen en la dirección de la orden y que provengan de una wallet externa que no sea la de MercadoBits quedaran en espera de las respectivas confirmaciones de red para cada criptomoneda, el número de confirmaciones podrá ser consultado con el método: get-payment-data.

Una vez que se reciba un depósito de esta naturaleza se actualizara el campo amount_unconfirmed con la cantidad depositada y también se actualizara el campo confirmations_counter, una vez pasadas las confirmaciones de red se actualizarán los campos de amount_filled con la cantidad ya liberada y el campo confirmations_counter con valor 0, tomando esto en cuenta veamos un par de ejemplos:

Ejemplo 1: supongamos que se recibe un pago de 0.00050000 BTC, en este caso el campo amount_unconfirmed quedara con el valor 0.00050000 y el campo confirmations_counter quedara con las confirmaciones requeridas en ese momento, por ejemplo: 6.

Ejemplo 2: Tomando el ejemplo anterior, supongamos que se recibe otro pago de 0.0006000 BTC, entonces el campo amount_unconfirmed quedara con el valor 0.00110000, esto es debido a que se suma la cantidad del primer deposito con este nuevo depósito, y que pasa con el campo confirmations_counter?, bueno en este caso se volverá a actualizar con las confirmaciones requeridas, por ejemplo: 6.

Ahora tomando en cuenta los dos ejemplos anteriores, supongamos que al primer deposito le quedaban solo 3 confirmaciones, esto no significa que deberá de esperar nuevamente las 6 confirmaciones para que ese monto se libere, conforme pasen las confirmaciones que originalmente requería se ira liberando y por lo tanto el campo amount_unconfirmed se ira actualizando, tomando este ejemplo, al pasar las 3 confirmaciones que requería el primer deposito el campo amount_unconfirmed quedaría con el valor 0.0006000 que viene siendo el monto del segundo deposito que aun está en espera de confirmarse, así mismo los montos que se van liberando también van actualizando el campo amount_filled, que en este caso quedaría con valor 0.00050000, ahora una vez que el segundo deposito sea confirmado completamente, el campo amount_unconfirmed quedaría con valor 0, el campo amount_filled quedaría con valor 0.00110000 y el campo confirmations_counter quedaría con valor 0.

Es importante saber cómo funcionan los depósitos que no provienen de usuario de MercadoBits, si no de wallets externas, ya sea otro exchange o alguna wallet nativa

Como nota final acerca de las confirmaciones de red, se debe de mencionar que se incrementa en 1 el numero de confirmaciones mostradas en get-payment-data, esto es debido a que el contador comienza una vez que la transacción ha entrado a su primer bloque, por ejemplo: si se requieren 6 confirmaciones de red para Bitcoin (BTC), entonces al momento de recibir el pago se mostrara el campo confirmations_counter con valor igual a 7, es decir, las 6 confirmaciones que requiere AceptaBits + 1 confirmación que en realidad es el bloque en que entra la transacción al blockchain, este incremento +1 aplica para todos las monedas soportadas en la plataforma y a medida que se van procesando los bloques en el blockchain el valor del campo confirmations_counter ira disminuyendo (cada bloque confirmado disminuirá en 1 este campo contador).


Depósitos que provienen de usuarios de MercadoBits:

Los depósitos a la dirección de la orden que provengan de usuarios de MercadoBits (ya sea desde la web o desde la app) no pasan por el proceso de confirmaciones de red, estos depósitos se procesan de manera inmediata, por lo que veras actualizado directamente el campo amount_filled.


Total, Subtotal y Comisión:

En la orden podrás observar un campo llamado total, este campo es la combinación del campo subtotal y commission, es decir, el campo total es la suma del campo subtotal y el campo commission, este valor es el total que se deberá de depositar en la orden para que se considere pagada, como observación adicional, el valor que aparece en este campo es el valor que se ingresó como total al momento de generar la orden (ya sea que se ingresó manualmente en la criptomoneda, manualmente en FIAT y después convertido a la criptomoneda o calculado directamente usando el carrito de compras).

El campo subtotal es la cantidad que recibirá el vendedor una vez que la orden este pagada, es decir, es la cantidad restante que se obtiene como resultado de quitar la comisión de AceptaBits al Total de la orden, es importante señalar que si existe un excedente en la orden pagada (se depositó de más o se pagó de más) se le entregara al vendedor, el único monto que obtiene AceptaBits es el mostrado en el campo comission.

El campo comission representa la cantidad que la orden destinara como comisión por el uso del servicio a AceptaBits, este valor se calcula tomando el porcentaje de comisión (que es del 1% actualmente) y extrayendo dicho porcentaje del monto encontrado en el campo total de la orden, ya sea que se haya ingresado manualmente en la criptomoneda, manualmente en moneda FIAT y después convertido a la criptomoneda o calculado usando el carrito de compras, ejemplo, si la orden se generó por un total de 200 PesoBits (PBT), entonces la comisión será de 2 PesoBits (PBT), puedes consultar el porcentaje actual de comisión utilizando el metodo: get-commission_percent


Carrito de compras:

Como ya se ha mencionado con anterioridad, las órdenes de venta necesitan por lo menos un producto o un servicio para poder generarse, estos productos y servicios se ingresan en el campo cart que es el carrito de compras (viene siendo un arreglo con X número de elementos), aquí encontraras todos los productos y servicios que se ingresaron, es decir, si se ingresó un solo producto o servicio, el carrito de compras tendrá solamente 1 elemento, si se ingresaron 3 productos o 3 servicios entonces el carrito tendrá 3 elementos y así sucesivamente.

Cada elemento está compuesto de la siguiente estructura:

  • quantity - indica la cantidad del producto o servicio
  • total_mxn - muestra el total del presente elemento del carrito de compras expresado en MXN (Peso mexicano), se calcula de la siguiente manera: quantity X el precio en MXN del producto o servicio
  • name_product - Muestra el nombre del producto, si el elemento es un servicio este campo se mantendrá con valor null
  • code_product - Muestra el código del producto, si el elemento es un servicio este campo se mantendrá con valor null
  • name_service - Muestra el nombre del servicio, si el elemento es un producto este campo se mantendrá con valor null
  • code_service - Muestra el código del servicio, si el elemento es un producto este campo se mantendrá con valor null

Como explicación especial, ya que podría resultar confuso, hablemos del campo total_mxn, pero antes de entrar en detalles, recordemos que al momento de dar de alta un producto o un servicio se ingresa su precio en MXN (Peso mexicano), recordando también que en el caso de los servicios este precio puede omitirse, es decir que valga $0.00 MXN.

Teniendo esto en cuenta y ahora si entrando en detalles del campo total_mxn, basta con mencionar que este campo es el monto total expresado en MXN del producto o servicio que tenga ese elemento en el carrito, se calcula utilizando la cantidad ingresada del producto o servicio mostrado en el campo quantity y multiplicándola por el precio que tenga dicho producto o servicio, por ejemplo, supongamos que se agrega al carrito el producto calculadora de mano con un precio unitario es de $100.00 MXN y se vendieron 2 unidades, es decir quantity igual a 2, por lo tanto total_mxn seria igual a $200.00 MXN (En el caso de servicios que no tienen precio fijo MXN, es decir que tengan como precio $0.00, el valor del campo total_mxn siempre será 0).

La lógica anterior aplica para todos los elementos que se encuentren dentro del arreglo del carrito de compras, recordando que cada elemento es independiente uno del otro, es decir por cada producto o servicio diferente agregado al carrito se mostrara dicha información, llámese producto o servicio diferente a todo aquel producto o servicio que tiene su código de identificación diferente a otro, no a la cantidad ingresada del producto o servicio, por ejemplo, en la lógica de programación del desarrollador, puede ser que un cliente seleccione una calculadora de mano, y después de seguir explorando y al haber agregado otros productos decida que en realidad quiere 2 calculadoras de mano, bueno en este caso las dos calculadoras de mano no representan dos elementos diferentes dentro del carrito de compras, si no un solo elemento dentro del carrito de compras con un quantity igual a 2.

Para finalizar con el carrito de compras, es importante mencionar que la información de carrito de compras es meramente informativa, ya que recordemos que al momento de crear una orden podemos elegir si ingresamos el total de manera manual o utilizamos el valor de los productos y/o servicios para hacer el cálculo del total, para más información sobre como ver la información del cálculo de una orden antes de crearla ingresa a la documentación del método: calculate-order


Campo remaining_seconds:

Este campo muestra la diferencia de tiempo hasta su fecha y hora de expiración expresado en segundos, por lo tanto, cada vez que consultes la información de una orden que ya ha sido abierta para el cliente este campo tendrá un valor diferente, esto es debido a que el tiempo sigue corriendo, recomendamos al desarrollador apoyarse de este campo para mostrar un temporizador descendente al cliente para indicarle cuanto tiempo le queda para pagar.

Una vez que se ha recibido por lo menos un pago en la orden, este temporizador ya no tendrá importancia, esto es debido a que las órdenes que reciban por lo menos un pago ya no expiraran y quedaran abiertas de manera indefinida hasta que se pague la orden en su totalidad, aplica tanto para depósitos que requieren confirmaciones de red o pagos instantáneos de usuarios de MercadoBits.

Para los pagos que requieren confirmaciones de red, se considera que la orden recibió un pago desde el momento en que se detectó el depósito, por lo tanto la fecha de expiración y por ende el temporizador segundero dejaran de tener importancia, aunque tarde 1 o 2 horas en completarse las confirmaciones de red, esto por menciona un ejemplo.


SLUG para navegadores web:

Las órdenes generan un código especial llamado slug, este código podremos encontrarlo en el campo que tiene el mismo nombre slug, la función de este código es para que una orden de venta sea abierta para el cliente desde un navegador web, para ellos utilizaremos la siguiente estructura:

https://aceptabits.com/order/ + el slug de la orden

tomando de ejemplo el slug que podemos observar en el Ejemplo de respuesta EXITOSA, la url que compartirías a tu cliente para que pueda realizar el pago de la orden es el siguiente:

https://aceptabits.com/order/6d49614f8dadb0800de7f2dff01d970f23bb304fMls1vA4kCXlXVvruBOT3

Una vez que el cliente ingrese a la url podrá observar la información de la orden, su dirección de depósito y el respectivo contador de tiempo hasta su expiración, a menos claro, que realice por lo menos un depósito a la orden.

Esta misma url es la que podemos obtener desde el panel principal de órdenes en la cuenta de AceptaBits al presionar el botón Copiar URL cuando se seleccionar una orden desde el listado de órdenes.


Algunas cosas a tener en consideración:

  • Una orden se considera abierta para el cliente cuando se ha utilizado el método: show-order-customer, al ejecutar este método se genera la dirección de depósito y comienza la cuenta regresiva hasta que la orden expire
  • Evita mostrar a tus clientes órdenes ya expiradas
  • Las órdenes que reciban por lo menos un pago ya no expiraran y quedaran abiertas indefinidamente hasta que la orden sea pagada en su totalidad
  • Los depósitos realizados a la orden que provengan de usuarios de MercadoBits (ya sea desde la web o la app) se verán reflejados de manera inmediata
  • Los depósitos que provienen fuera de MercadoBits, es decir, que depositen a la dirección de la orden desde otro exchange u otra wallet tendrán que esperar las respectivas confirmaciones de red para liberar los fondos
  • Apóyate con los campos *expiration_date, expiration_date_format o remaining_seconds para mostrar a tu cliente cuanto tiempo le queda para pagar o hacer un pago parcial antes de que la orden expire
  • Si tienes alguna situación especial con alguna orden no dudes en comunicarte con el equipo de soporte
  • Una vez que la orden se pague completamente se demorara un par minutos para que AceptaBits deposite los fondos a la wallet del usuario en su cuenta de MercadoBits, recordemos que el usuario principal de AceptaBits tiene su cuenta en MercadoBits y ahí es a donde los fondos de cada orden pagada serán depositados

Ejemplo de respuesta FALLIDA

Error

Código HTTP 400, Código HTTP 401, Código HTTP 500


{
"status": false,
"error": {
"code": "1399"
}
}

Descripción de la respuesta

  • Revisar el listado de códigos ERROR para conocer la causa y saber cómo corregir
  • Si se obtiene un código HTTP 500 comunicarse a soporte técnico
  • Si se obtiene un código HTTP 401 revisar que el Token API este correcto

Notas

Si tienes alguna duda recuerda que siempre puedes contactar con el equipo de soporte para desarrolladores ingresando en el siguiente enlace: Soporte para desarrolladores.