Skip to content

En QRwey!, obtener el detalle de un código QR significa consultar la información completa de la transacción asociada usando su identificador único (qr_id).

Esto te permite verificar el estado actual de la transacción, consultar si ya fue facturada, y obtener los datos fiscales completos.


Endpoint

GET /v1/qrs/{qrId}

Host (DEV):

https://api-dev.qrwey.com

Host (PROD):

https://api.qrwey.com

Headers requeridos

X-API-Key: TU_API_KEY

Path parameters

ParámetroDescripción
qrIdIdentificador único de la transacción QR (ej. tra_4aca0361cfcd41c097663db44008fbb9)

Ejemplo de request (DEV)

curl -X GET "https://api-dev.qrwey.com/v1/qrs/tra_4aca0361cfcd41c097663db44008fbb9" \
  -H "X-API-Key: TU_API_KEY"

Si estás en PROD, cambia el host a:

curl -X GET "https://api.qrwey.com/v1/qrs/tra_4aca0361cfcd41c097663db44008fbb9" \
  -H "X-API-Key: TU_API_KEY"

Respuesta (detalle de transacción)

Una respuesta exitosa (200) retorna el detalle completo de la transacción y su desglose.

Campos principales

CampoDescripción
qr_idIdentificador único de la transacción QR
store_uidIdentificador del punto de venta
store_nameNombre del punto de venta
sale_idIdentificador de la venta del comercio
idempotency_keyClave de idempotencia usada al generar el QR
issuer_rfcRFC del emisor
issuer_nameRazón social del emisor
amountTotal de la operación
subtotalSubtotal antes de impuestos
currencyMoneda
exchange_rateTasa de cambio
sat_payment_formForma de pago SAT
sat_payment_form_descDescripción de la forma de pago
sat_payment_methodMétodo de pago SAT
sat_payment_method_descDescripción del método de pago
type_of_receiptTipo de comprobante SAT
type_of_receipt_descDescripción del tipo de comprobante
export_codeCódigo de exportación
export_code_descDescripción del código de exportación
operationTipo de operación
statusEstado actual de la transacción
operation_dataConceptos del CFDI
related_cfdisCFDIs relacionados (si aplica)
global_infoInformación de factura global (si aplica)
metadataDatos adicionales del comercio
invoiceDetalle de la factura generada (si aplica)
customerDatos fiscales del cliente que facturó (si aplica)
qr_base64Imagen del QR en Base64
qr_urlURL de la imagen del QR
qr_contentContenido codificado del QR (deep link)
created_atFecha de creación
updated_atFecha de última actualización
scanned_atFecha en que fue escaneado
expires_atFecha de expiración

Detalle de factura (invoice)

Presente cuando la transacción ya fue timbrada a CFDi:

CampoDescripción
uuidFolio fiscal (UUID del CFDI)
statusEstado de la factura
totalTotal facturado
subtotalSubtotal facturado
issued_atFecha de emisión
xml_urlURL del archivo XML
pdf_urlURL del archivo PDF

Detalle del cliente (customer)

Presente cuando un cliente ya completó la facturación:

CampoDescripción
rfcRFC del receptor
nameRazón social del receptor
tax_regimeRégimen fiscal SAT
postal_codeCódigo postal fiscal

Conceptos (operation_data)

Cada elemento representa un concepto del CFDI:

CampoDescripción
skuIdentificador interno del producto
descriptionDescripción del concepto
amountImporte del concepto
quantityCantidad
discountDescuento aplicado
sat_unit_keyClave de unidad SAT
sat_unit_descDescripción de la unidad SAT
unit_pricePrecio unitario
sat_product_service_keyClave producto / servicio SAT
sat_product_service_descDescripción del producto / servicio SAT
sat_tax_object_keyClave de objeto de impuesto SAT
sat_tax_object_descDescripción del objeto de impuesto
taxesImpuestos aplicables

Impuestos del concepto (taxes)

CampoDescripción
typeTipo de impuesto SAT (Traslado, Retencion)
taxClave del impuesto SAT (ej. 002 IVA)
factorTipo de Factor SAT (Tasa, Cuota, Exento)
rateLa tasa o cuota del impuesto
taxable_baseLa base imponible sobre la cual se calcula el impuesto
amountEl monto del impuesto
CampoDescripción
tipo_relacionTipo de relación entre CFDI (ej. 04 Sustitución de los CFDI previos)
cfdisListado con los UUID de los CFDIs relacionados

Factura global (global_info)

CampoDescripción
periodicityCatálogo Periodicidad SAT (ej. 04 Mensual)
monthsCatálogo Meses SAT (ej. 12 Diciembre)
yearAño a cuatro dígitos

Ejemplo de respuesta

{
  "qr_id": "tra_4aca0361cfcd41c097663db44008fbb9",
  "store_uid": "store_abc123",
  "store_name": "PetroStation #45",
  "sale_id": "fcd68791-6a27-412f-a50f-8d47b7bc34d2",
  "idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
  "issuer_rfc": "EKU9003173C9",
  "issuer_name": "ESCUELA KEMPER URGATE",
  "amount": 133.00,
  "subtotal": 115.08,
  "currency": "MXN",
  "exchange_rate": 1.0,
  "sat_payment_form": "04",
  "sat_payment_form_desc": "Tarjeta de crédito",
  "sat_payment_method": "PUE",
  "sat_payment_method_desc": "Pago en una sola exhibición",
  "type_of_receipt": "I",
  "type_of_receipt_desc": "Ingreso",
  "export_code": "01",
  "export_code_desc": "No aplica",
  "operation": "INVOICE",
  "status": "PENDING",
  "operation_data": [
    {
      "sku": "GAS87",
      "description": "Gasolina Magna",
      "amount": 115.08,
      "quantity": 5.662,
      "discount": 0.00,
      "sat_unit_key": "LTR",
      "sat_unit_desc": "Litro",
      "unit_price": 20.325,
      "sat_product_service_key": "15101515",
      "sat_product_service_desc": "Gasolina premium mayor o igual a 91 octanos",
      "sat_tax_object_key": "02",
      "sat_tax_object_desc": "Sí objeto de impuesto",
      "taxes": [
        {
          "type": "Traslado",
          "tax": "002",
          "factor": "Tasa",
          "rate": "0.160000",
          "taxable_base": 112.0,
          "amount": 17.92
        }
      ]
    }
  ],
  "related_cfdis": null,
  "global_info": null,
  "metadata": null,
  "invoice": null,
  "customer": null,
  "qr_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...",
  "qr_url": "https://api.qrwey.com/qr.png?...",
  "qr_content": "https://api.qrwey.com/go?v=1&t=...&m=...",
  "created_at": "2026-01-01T13:00:00Z",
  "updated_at": "2026-01-01T13:00:00Z",
  "scanned_at": null,
  "expires_at": "2026-01-03T23:59:59Z"
}

¿Qué debes hacer con la respuesta?

Depende del actor:

Si eres el comercio (backend)

  • Consulta el status para conocer el estado actual de la transacción
  • Si invoice no es null, la factura ya fue generada y puedes obtener el XML/PDF
  • Guarda el qr_id como referencia interna

App QRwey!:

  • Presenta la información al usuario para revisión/confirmación
  • Si el usuario esta OK con la información, puede timbrar dicha intención a CFDi con un clic

Errores comunes

CódigoSignificadoQué hacer
401API Key inválida o ausenteRevisa X-API-Key y el ambiente
404Transacción no encontradaVerifica que el qr_id sea correcto
422Regla de negocio / configuraciónRevisa code y message en la respuesta

Consulta: Manejo de errores


Buenas prácticas

  • Consulta siempre desde tu backend (no expongas API Keys)
  • Registra qr_id, status, created_at, expires_at para auditoría y soporte
  • Verifica el campo invoice para saber si la transacción ya fue facturada

¿Qué sigue?