DESARROLLADORES

Referencia de la API

Todos los endpoints REST de SMetaGateway, generados a partir del contrato OpenAPI 3.1. Usa claves API bearer desde tu servidor; los importes son cadenas decimales.

URL base
https://smg.sabco24.com/api/v1
Versión
0.2.0 · OpenAPI 3.1

Endpoints

Todas las operaciones agrupadas por recurso.

MétodoRutaDescripciónAutenticación
Sistema
GET/healthComprobar el estado del servicio y el modo de la pasarela.Pública
GET/configLeer la configuración pública del cliente, incluida la clave de sitio del captcha.Pública
Autenticación
POST/auth/registerRegistrar un comercio e iniciar la sesión de propietario.Pública
POST/auth/loginIniciar sesión como propietario.Pública
POST/auth/verify-emailConfirmar una dirección de correo con el enlace enviado e iniciar una sesión de propietario.Pública
POST/auth/password/forgotEnviar por correo un enlace para restablecer la contraseña.Pública
POST/auth/password/resetEstablecer una nueva contraseña con un enlace de restablecimiento e iniciar sesión.Pública
POST/auth/googleIniciar sesión o registrarse con Google y abrir una sesión de propietario.Pública
GET/auth/sessionComprobar si este navegador ha iniciado sesión.Pública
POST/auth/logoutCerrar la sesión de propietario actual.Pública
Cuenta
GET/meObtener la cuenta, billeteras, facturas, claves, webhooks y estadísticas.Sesión de propietario
PATCH/meActualizar el nombre visible del comercio.Sesión de propietario
Billeteras
GET/walletsListar las direcciones de cobro registradas.Clave API o sesión
POST/walletsRegistrar una dirección TRON con checksum válido (propiedad no verificada).Sesión de propietario
Facturas
GET/invoicesListar las 500 facturas más recientes.Clave API o sesión
POST/invoicesCrear una factura y reservar un importe exacto único durante 90 días.Clave API o sesión
GET/invoices/{id}Obtener una factura de este comercio.Clave API o sesión
Checkout
GET/checkout/{token}Leer los datos de checkout seguros para el pagador mediante su token.Pública
Claves API
POST/api-keysCrear una clave API con vencimiento opcional; el secreto se muestra una vez.Sesión de propietario
POST/api-keys/{id}/rollSustituir una clave API por un nuevo secreto con el mismo nombre y duración.Sesión de propietario
DELETE/api-keys/{id}Revocar una clave API de inmediato.Sesión de propietario
Libro contable
GET/ledger.csvExportar el libro operativo completo en CSV.Clave API o sesión
Webhooks
POST/webhooksRegistrar un endpoint webhook HTTPS público; el secreto de firma se muestra una vez.Sesión de propietario
DELETE/webhooks/{id}Desactivar un endpoint y cancelar sus entregas pendientes.Sesión de propietario
POST/webhooks/{id}/testEnviar un evento webhook.test firmado.Sesión de propietario
POST/webhooks/deliveries/{id}/retryReintentar una entrega de webhook fallida o pendiente.Sesión de propietario
Soporte
POST/support/chatIniciar un chat del sitio con nombre, correo y primer mensaje; devuelve un token privado de chat.Pública
GET/support/chatLeer un chat del sitio con su token.Pública
POST/support/chat/messagesEnviar otro mensaje en un chat del sitio; un chat cerrado se reabre.Pública
POST/support/contactEnviar un mensaje a soporte sin cuenta.Pública
GET/support/ticketsListar tus tickets de soporte.Sesión de propietario
POST/support/ticketsAbrir un ticket de soporte.Sesión de propietario
GET/support/tickets/{id}Leer uno de tus tickets con sus mensajes.Sesión de propietario
POST/support/tickets/{id}/messagesResponder a tu ticket; un ticket cerrado se reabre.Sesión de propietario
POST/support/tickets/{id}/closeCerrar tu ticket.Sesión de propietario
GET/support/inboxEquipo de soporte: listar todos los tickets, primero los abiertos.Sesión de propietario
GET/support/inbox/{id}Equipo de soporte: leer un ticket con los datos de contacto.Sesión de propietario
POST/support/inbox/{id}/messagesEquipo de soporte: responder al ticket de un comercio.Sesión de propietario
POST/support/inbox/{id}/statusEquipo de soporte: cambiar el estado de un ticket.Sesión de propietario

Sistema

GET/api/v1/health

Pública

Comprobar el estado del servicio y el modo de la pasarela.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
status"ok"No
mode"live"NoInvoices are confirmed from verified TRON mainnet transfers.
live_payments_enabledtrueNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/health"

GET/api/v1/config

Pública

Leer la configuración pública del cliente, incluida la clave de sitio del captcha.

captcha is null when Cloudflare Turnstile is not configured; otherwise send captcha_token with sign-in, registration, contact and chat requests. google is null when Google sign-in is not configured.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
captchaobjectSí
googleobjectSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/config"

Autenticación

POST/api/v1/auth/register

Pública

Registrar un comercio e iniciar la sesión de propietario.

No session is started. The account can sign in after the emailed link (valid 24 hours, single use) is confirmed with POST /auth/verify-email. Answers 503 email_unavailable when the server cannot send email.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
emailstring (email)Sí
passwordstring (password)Sílength 12–128
captcha_tokenstringNoCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
namestringNolength 0–100
locale"en" | "fa" | "ar" | "zh" | "es" | "fr" | "ru"NoLanguage of the email. — default "en"
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
verification_requiredtrueSí
emailstring (email)Sí
email_sentbooleanSíFalse when the SMTP server rejected the message; signing in later sends a new link.

Respuestas

  • 201Account created; confirmation email sent
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
  • 503Email delivery is not configured (email_unavailable) or captcha verification is unavailable
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example Store","email":"merchant@example.com","password":"a-long-unique-passphrase","locale":"en"}'

POST/api/v1/auth/login

Pública

Iniciar sesión como propietario.

An account whose email is not yet confirmed answers 403 email_not_verified after a correct password, and a new confirmation link is emailed at most every 5 minutes.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
emailstring (email)Sí
passwordstring (password)Sílength 10–128
captcha_tokenstringNoCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
locale"en" | "fa" | "ar" | "zh" | "es" | "fr" | "ru"NoLanguage of the email. — default "en"
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
merchantMerchantNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
  • 503Captcha verification is temporarily unavailable
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"email":"merchant@example.com","password":"a-long-unique-passphrase"}'

POST/api/v1/auth/verify-email

Pública

Confirmar una dirección de correo con el enlace enviado e iniciar una sesión de propietario.

token comes from the #verify= fragment of the emailed link. Tokens are single use; a newer email replaces older links.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
tokenstringSíSingle-use token from the emailed link. — pattern ^[A-Za-z0-9_-]{43}$
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
merchantMerchantNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/verify-email" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAILED_LINK"}'

POST/api/v1/auth/password/forgot

Pública

Enviar por correo un enlace para restablecer la contraseña.

Always answers 202 whether or not an account exists. The link is valid for 1 hour and single use.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
emailstring (email)Sí
captcha_tokenstringNoCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
locale"en" | "fa" | "ar" | "zh" | "es" | "fr" | "ru"NoLanguage of the email. — default "en"
Devuelve: 202 application/json
CampoTipoObligatorioDescripción
successtrueSí

Respuestas

  • 202Accepted
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
  • 503Email delivery is not configured (email_unavailable) or captcha verification is unavailable
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/password/forgot" \
  -H "Content-Type: application/json" \
  -d '{"email":"merchant@example.com","locale":"en"}'

POST/api/v1/auth/password/reset

Pública

Establecer una nueva contraseña con un enlace de restablecimiento e iniciar sesión.

token comes from the #reset= fragment of the emailed link. Every existing session of the account is revoked, and the email counts as confirmed.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
tokenstringSíSingle-use token from the emailed link. — pattern ^[A-Za-z0-9_-]{43}$
passwordstring (password)Sílength 12–128
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
merchantMerchantNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/password/reset" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_THE_EMAILED_LINK","password":"a-new-long-unique-passphrase"}'

POST/api/v1/auth/google

Pública

Iniciar sesión o registrarse con Google y abrir una sesión de propietario.

Send the credential returned by Google Identity Services. The server verifies the RS256 signature against Google keys, the issuer, audience (GOOGLE_CLIENT_ID), expiry and email_verified. A new email creates an account (201). An existing confirmed account with the same email is linked to the Google account on first use; an unconfirmed one is claimed by the Google owner and its password stops working.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
credentialstringSíGoogle ID token (JWT). — length 20–4096
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
merchantMerchantNo

Respuestas

  • 200Signed in
  • 201Account created
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
  • 503Google keys are temporarily unreachable
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/google" \
  -H "Content-Type: application/json" \
  -d '{"credential":"GOOGLE_ID_TOKEN_FROM_GOOGLE_IDENTITY_SERVICES"}'

GET/api/v1/auth/session

Pública

Comprobar si este navegador ha iniciado sesión.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
signed_inbooleanSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/auth/session"

POST/api/v1/auth/logout

Pública

Cerrar la sesión de propietario actual.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
successtrueSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/auth/logout" \
  -H "Content-Type: application/json" \
  -d '{}'

Cuenta

GET/api/v1/me

Sesión de propietario

Obtener la cuenta, billeteras, facturas, claves, webhooks y estadísticas.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Devuelve: 200 Dashboard
CampoTipoObligatorioDescripción
merchantMerchantSí
walletsWallet[]Sí
invoicesInvoice[]Sí
eventsEvent[]Sí
api_keysApiKey[]Sí
webhooksWebhook[]Sí
deliveriesDelivery[]Sí
statsobjectSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/me" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

PATCH/api/v1/me

Sesión de propietario

Actualizar el nombre visible del comercio.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
namestringSílength 1–100
Devuelve: 200 Dashboard
CampoTipoObligatorioDescripción
merchantMerchantSí
walletsWallet[]Sí
invoicesInvoice[]Sí
eventsEvent[]Sí
api_keysApiKey[]Sí
webhooksWebhook[]Sí
deliveriesDelivery[]Sí
statsobjectSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X PATCH "https://smg.sabco24.com/api/v1/me" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"name":"string"}'

Billeteras

GET/api/v1/wallets

Clave API o sesión

Listar las direcciones de cobro registradas.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
walletsWallet[]No

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/wallets" \
  -H "Authorization: Bearer $SMETA_API_KEY"

POST/api/v1/wallets

Sesión de propietario

Registrar una dirección TRON con checksum válido (propiedad no verificada).

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
labelstringSílength 1–80
addressstringSípattern ^T[1-9A-HJ-NP-Za-km-z]{33}$
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
walletWalletNo

Respuestas

  • 200Existing address
  • 201Registered
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/wallets" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"label":"Main business wallet","address":"T_YOUR_PUBLIC_TRON_ADDRESS"}'

Facturas

GET/api/v1/invoices

Clave API o sesión

Listar las 500 facturas más recientes.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
invoicesInvoice[]No

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/invoices" \
  -H "Authorization: Bearer $SMETA_API_KEY"

POST/api/v1/invoices

Clave API o sesión

Crear una factura y reservar un importe exacto único durante 90 días.

Amount allocation is global for (network, token contract, receiving address, final payable micro-units), including merchants sharing an address. Reservations outlive invoice expiry. Historical amount reuse is assigned review status. The invoice is confirmed only when a verified TRON transfer of exactly payable_amount reaches wallet_address between creation and expiry.

Cabeceras obligatorias

CampoTipoObligatorioDescripción
Idempotency-KeystringSíClave única por intento de factura; reutilízala al reintentar.

Cuerpo de la solicitud CreateInvoice

CampoTipoObligatorioDescripción
merchant_order_idstringSíUnique per merchant. Reuse the original idempotency key for retries. — length 1–120
amountstringSíBase price in USDT; minimum 0.000001, maximum 1000000000. The server adds a disclosed identification adjustment. — pattern ^(0|[1-9][0-9]{0,9})(\.[0-9]{1,6})?$ · e.g. "49.95"
wallet_idstringSíID of a wallet registered to this merchant. — length 1–100
descriptionstringNolength 1–1000
metadataobjectNoJSON object, at most 16 KiB when serialized. Keep customer secrets out of metadata.
expires_in_minutesintegerNorange 1–1440 · default 20
Devuelve: 200 InvoiceEnvelope
CampoTipoObligatorioDescripción
invoiceInvoiceSí
idempotent_replaybooleanNo

Respuestas

  • 200Identical idempotent replay
  • 201Invoice allocated
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/invoices" \
  -H "Authorization: Bearer $SMETA_API_KEY" \
  -H "Idempotency-Key: order-1001" \
  -H "Content-Type: application/json" \
  -d '{"merchant_order_id":"1001","amount":"49.95","wallet_id":"WALLET_ID","description":"Example order","expires_in_minutes":20}'

GET/api/v1/invoices/{id}

Clave API o sesión

Obtener una factura de este comercio.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíInvoice ID
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
invoiceInvoiceNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/invoices/ID" \
  -H "Authorization: Bearer $SMETA_API_KEY"

Checkout

GET/api/v1/checkout/{token}

Pública

Leer los datos de checkout seguros para el pagador mediante su token.

Parámetros de ruta

CampoTipoObligatorioDescripción
tokenstringSíCheckout capability token from checkout_url
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
invoiceCheckoutInvoiceNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/checkout/TOKEN"

Claves API

POST/api/v1/api-keys

Sesión de propietario

Crear una clave API con vencimiento opcional; el secreto se muestra una vez.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
namestringSílength 1–80
expires_in_daysinteger | nullNoDays until the key expires. Omit or send null for a key that never expires. — range 1–3650 · e.g. 90
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
api_keyApiKey & objectNo
secretstringNo
warningstringNo

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/api-keys" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"name":"string"}'

POST/api/v1/api-keys/{id}/roll

Sesión de propietario

Sustituir una clave API por un nuevo secreto con el mismo nombre y duración.

The old key is revoked in the same transaction. The new secret is shown once.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíAPI key ID
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
api_keyApiKey & objectNo
secretstringNo
warningstringNo
replaced_key_idstringNo

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/api-keys/ID/roll" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{}'

DELETE/api/v1/api-keys/{id}

Sesión de propietario

Revocar una clave API de inmediato.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíAPI key ID
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
successtrueSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X DELETE "https://smg.sabco24.com/api/v1/api-keys/ID" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

Libro contable

GET/api/v1/ledger.csv

Clave API o sesión

Exportar el libro operativo completo en CSV.

Devuelve: 200 text/csv

Respuestas

  • 200CSV includes separate base, adjustment and payable columns; not a statutory accounting report.
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/ledger.csv" \
  -H "Authorization: Bearer $SMETA_API_KEY"

Webhooks

POST/api/v1/webhooks

Sesión de propietario

Registrar un endpoint webhook HTTPS público; el secreto de firma se muestra una vez.

Port 443 only. Local/private targets, IP literals, credentials, URL fragments and redirects are rejected. DNS is resolved and checked again at delivery time.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
urlstring (uri)Sílength 0–2048
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
webhookWebhook & objectNo
secretstringNo

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/webhooks" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://merchant.example.com/hooks/smeta"}'

DELETE/api/v1/webhooks/{id}

Sesión de propietario

Desactivar un endpoint y cancelar sus entregas pendientes.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíWebhook ID
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
successtrueSí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X DELETE "https://smg.sabco24.com/api/v1/webhooks/ID" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

POST/api/v1/webhooks/{id}/test

Sesión de propietario

Enviar un evento webhook.test firmado.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíWebhook ID
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
eventEventNo
deliveriesDelivery[]No

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/webhooks/ID/test" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{}'

POST/api/v1/webhooks/deliveries/{id}/retry

Sesión de propietario

Reintentar una entrega de webhook fallida o pendiente.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíDelivery ID
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
deliveryDeliveryNo

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/webhooks/deliveries/ID/retry" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{}'

POSThttps://your-server.example/hooks/smeta

Receive a signed gateway event at your configured URL

Verify HMAC-SHA256(secret, timestamp + "." + original raw body). The signature header is sha256=<lowercase hex>. Reject timestamps outside your five-minute window and deduplicate event IDs. Each retry is freshly signed. GET the saved invoice with your server key and reconcile it before fulfilling once. invoice.confirmed includes the matched on-chain transaction.

Cabeceras obligatorias

X-SMeta-Event-IdX-SMeta-TimestampX-SMeta-Signature

Respuestas

  • 200Persisted successfully or already processed. Any 2xx acknowledges delivery.
  • 400Invalid event
  • 401Invalid or stale signature
  • 503Temporary failure; retry delivery

Soporte

POST/api/v1/support/chat

Pública

Iniciar un chat del sitio con nombre, correo y primer mensaje; devuelve un token privado de chat.

Opens a ticket from the visitor's first message, name and email. The response contains chat_token, shown only here; send it as X-Support-Chat-Token to read replies and continue. Contact details are never echoed back.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
messagestringSílength 1–5000
namestringSílength 1–100
emailstring (email)Sílength 0–254
captcha_tokenstringNoCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
chat_tokenstringSíPrivate bearer token for this conversation.
ticketobjectSí
namestringSí
messagesSupportMessage[]Sí

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
  • 503Captcha verification is temporarily unavailable
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/chat" \
  -H "Content-Type: application/json" \
  -d '{"message":"Do you support WooCommerce?","name":"Jane Doe","email":"jane@example.com","captcha_token":"TURNSTILE_RESPONSE_TOKEN"}'

GET/api/v1/support/chat

Pública

Leer un chat del sitio con su token.

Cabeceras obligatorias

CampoTipoObligatorioDescripción
X-Support-Chat-TokenstringSíchat_token returned when the chat was started. Keep it private; it is the only key to this conversation.
Devuelve: 200 application/json
CampoTipoObligatorioDescripción
ticketobjectSí
namestringSí
messagesSupportMessage[]Sí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/support/chat" \
  -H "X-Support-Chat-Token: VALUE"

POST/api/v1/support/chat/messages

Pública

Enviar otro mensaje en un chat del sitio; un chat cerrado se reabre.

Cabeceras obligatorias

CampoTipoObligatorioDescripción
X-Support-Chat-TokenstringSíchat_token returned when the chat was started. Keep it private; it is the only key to this conversation.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
messagestringSílength 1–5000
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
ticketobjectSí
namestringSí
messagesSupportMessage[]Sí

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/chat/messages" \
  -H "X-Support-Chat-Token: VALUE" \
  -H "Content-Type: application/json" \
  -d '{"message":"Thanks, that helps."}'

POST/api/v1/support/contact

Pública

Enviar un mensaje a soporte sin cuenta.

Creates a ticket that the support team answers by email. Only the reference is returned.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
namestringSílength 1–100
emailstring (email)Sílength 0–254
subjectstringSílength 1–150
category"general" | "payments" | "technical" | "account" | "other"Nodefault "general"
messagestringSílength 1–5000
captcha_tokenstringNoCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
Devuelve: 201 application/json
CampoTipoObligatorioDescripción
ticketobjectNo

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
  • 503Captcha verification is temporarily unavailable
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/contact" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Doe","email":"jane@example.com","subject":"Question about pricing","category":"general","message":"Do you charge per invoice?","captcha_token":"TURNSTILE_RESPONSE_TOKEN"}'

GET/api/v1/support/tickets

Sesión de propietario

Listar tus tickets de soporte.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
ticketsSupportTicket[]No

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/support/tickets" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

POST/api/v1/support/tickets

Sesión de propietario

Abrir un ticket de soporte.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
subjectstringSílength 1–150
category"general" | "payments" | "technical" | "account" | "other"Nodefault "general"
messagestringSílength 1–5000
Devuelve: 201 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/tickets" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Webhook signature fails","category":"technical","message":"Deliveries return 401 since yesterday."}'

GET/api/v1/support/tickets/{id}

Sesión de propietario

Leer uno de tus tickets con sus mensajes.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíTicket ID
Devuelve: 200 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/support/tickets/ID" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

POST/api/v1/support/tickets/{id}/messages

Sesión de propietario

Responder a tu ticket; un ticket cerrado se reabre.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíTicket ID

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
messagestringSílength 1–5000
Devuelve: 201 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/tickets/ID/messages" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"message":"string"}'

POST/api/v1/support/tickets/{id}/close

Sesión de propietario

Cerrar tu ticket.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíTicket ID
Devuelve: 200 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/tickets/ID/close" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{}'

GET/api/v1/support/inbox

Sesión de propietario

Equipo de soporte: listar todos los tickets, primero los abiertos.

Requires a session for an account listed in SUPPORT_STAFF_EMAILS.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Devuelve: 200 application/json
CampoTipoObligatorioDescripción
ticketsSupportTicket[]No

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/support/inbox" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

GET/api/v1/support/inbox/{id}

Sesión de propietario

Equipo de soporte: leer un ticket con los datos de contacto.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíTicket ID
Devuelve: 200 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X GET "https://smg.sabco24.com/api/v1/support/inbox/ID" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

POST/api/v1/support/inbox/{id}/messages

Sesión de propietario

Equipo de soporte: responder al ticket de un comercio.

Contact-form tickets return 409 email_reply_required because the visitor has no account.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíTicket ID

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
messagestringSílength 1–5000
Devuelve: 201 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 201Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/inbox/ID/messages" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"message":"string"}'

POST/api/v1/support/inbox/{id}/status

Sesión de propietario

Equipo de soporte: cambiar el estado de un ticket.

Requiere la cookie de sesión del propietario del panel; las claves API se rechazan para esta operación.

Parámetros de ruta

CampoTipoObligatorioDescripción
idstringSíTicket ID

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
status"open" | "answered" | "closed"Sí
Devuelve: 200 SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí

Respuestas

  • 200Success
  • 400Validation error
  • 401Authentication required
  • 403Insufficient scope or invalid origin
  • 404Resource not found
  • 409Conflict, exhausted amount pool or manual review required
  • 429Rate limit exceeded
  • 500Internal server error
Solicitud de ejemplo
curl -X POST "https://smg.sabco24.com/api/v1/support/inbox/ID/status" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com" \
  -H "Content-Type: application/json" \
  -d '{"status":"open"}'

Esquemas

Objetos que la API devuelve y acepta.

Error
CampoTipoObligatorioDescripción
errorobjectSí
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
Merchant
CampoTipoObligatorioDescripción
idstringSí
namestringSí
emailstring (email)Sí
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
support_staffbooleanNoTrue when this account is listed in SUPPORT_STAFF_EMAILS and may use the support inbox.
SupportTicket
CampoTipoObligatorioDescripción
idstringSí
referencestringSíHuman-friendly reference such as SMG-1A2B3C4D5E.
subjectstringSí
category"general" | "payments" | "technical" | "account" | "other"Sídefault "general"
status"open" | "answered" | "closed"Síopen: waiting for support; answered: support replied; closed: resolved.
source"dashboard" | "contact" | "chat"Sídashboard: merchant ticket; contact: contact form, answered by email; chat: website chat widget, answered in place.
created_atstring (date-time)Sí
updated_atstring (date-time)Sí
namestringNoSupport inbox only.
emailstring (email)NoSupport inbox only.
merchant_idstring | nullNoSupport inbox only. Null for contact-form and website-chat tickets.
merchant_namestring | nullNoSupport inbox only.
SupportMessage
CampoTipoObligatorioDescripción
idstringSí
author"customer" | "staff"Sí
bodystringSí
created_atstring (date-time)Sí
SupportThread
CampoTipoObligatorioDescripción
ticketSupportTicketSí
messagesSupportMessage[]Sí
Wallet
CampoTipoObligatorioDescripción
idstringSí
labelstringSí
addressstringSí
network"tron-mainnet"Sí
verifiedfalseSí
verification_status"unverified"Sí
created_atstring (date-time)Sí
CheckoutInvoice
CampoTipoObligatorioDescripción
idstringSí
base_amountstringSíExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
adjustmentstringSíExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
payable_amountstringSíExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
wallet_addressstringSí
status"pending" | "confirmed" | "expired" | "review"Sí
created_atstring (date-time)No
expires_atstring (date-time)No
reserved_untilstring (date-time)No
descriptionstringNo
tx_hashstring | nullNoTRON transaction hash of the matched USDT transfer (64 hex characters).
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
network"tron-mainnet"No
token"USDT"No
token_contract"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"No
amount_reuse_reviewbooleanNo
merchant_namestringSíMerchant business display name.
Invoice
CampoTipoObligatorioDescripción
idstringSí
base_amountstringSíExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
adjustmentstringSíExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
payable_amountstringSíExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
wallet_addressstringSí
status"pending" | "confirmed" | "expired" | "review"Sí
created_atstring (date-time)No
expires_atstring (date-time)No
reserved_untilstring (date-time)No
descriptionstringNo
tx_hashstring | nullNoTRON transaction hash of the matched USDT transfer (64 hex characters).
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
network"tron-mainnet"No
token"USDT"No
token_contract"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"No
amount_reuse_reviewbooleanNo
checkout_urlstring (uri)No
checkout_tokenstringNoCapability token. Treat checkout URLs as confidential invoice links.
merchant_order_idstringSí
wallet_idstringSí
metadataobjectSí
CreateInvoice
CampoTipoObligatorioDescripción
merchant_order_idstringSíUnique per merchant. Reuse the original idempotency key for retries. — length 1–120
amountstringSíBase price in USDT; minimum 0.000001, maximum 1000000000. The server adds a disclosed identification adjustment. — pattern ^(0|[1-9][0-9]{0,9})(\.[0-9]{1,6})?$ · e.g. "49.95"
wallet_idstringSíID of a wallet registered to this merchant. — length 1–100
descriptionstringNolength 1–1000
metadataobjectNoJSON object, at most 16 KiB when serialized. Keep customer secrets out of metadata.
expires_in_minutesintegerNorange 1–1440 · default 20
InvoiceEnvelope
CampoTipoObligatorioDescripción
invoiceInvoiceSí
idempotent_replaybooleanNo
ApiKey
CampoTipoObligatorioDescripción
idstringSí
namestringSí
prefixstringSíFirst characters of the secret, for identification only.
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
scopes"invoices:read" | "invoices:write" | "ledger:read"[]Sí
created_atstring (date-time)No
last_used_atstring | null (date-time)No
revoked_atstring | null (date-time)No
expires_atstring | null (date-time)NoNull when the key never expires.
expiredbooleanNo
Webhook
CampoTipoObligatorioDescripción
idstringSí
urlstring (uri)Sí
created_atstring (date-time)No
activebooleanSí
Delivery
CampoTipoObligatorioDescripción
idstringSí
webhook_idstringSí
event_idstringSí
status"pending" | "sending" | "delivered" | "failed" | "cancelled"Sí
attemptsintegerSí
next_attempt_atstring | null (date-time)No
last_errorstring | nullNo
response_statusinteger | nullNo
created_atstring (date-time)No
delivered_atstring | null (date-time)No
Event
CampoTipoObligatorioDescripción
idstringSí
type"invoice.created" | "invoice.confirmed" | "invoice.expired" | "invoice.review" | "webhook.test"Sí
created_atstring (date-time)Sí
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
dataobjectSí
ConfirmedEvent
CampoTipoObligatorioDescripción
idstringSí
type"invoice.confirmed"Sí
created_atstring (date-time)Sí
mode"live"SíInvoices are confirmed from verified TRON mainnet transfers.
dataobjectSí
Dashboard
CampoTipoObligatorioDescripción
merchantMerchantSí
walletsWallet[]Sí
invoicesInvoice[]Sí
eventsEvent[]Sí
api_keysApiKey[]Sí
webhooksWebhook[]Sí
deliveriesDelivery[]Sí
statsobjectSí