DÉVELOPPEURS

Référence API

Tous les endpoints REST de SMetaGateway, générés à partir du contrat OpenAPI 3.1. Utilisez des clés API bearer depuis votre serveur ; les montants sont des chaînes décimales.

URL de base
https://smg.sabco24.com/api/v1
Version
0.2.0 · OpenAPI 3.1

Endpoints

Toutes les opérations regroupées par ressource.

MéthodeCheminDescriptionAuth.
Système
GET/healthVérifier l’état du service et le mode de la passerelle.Publique
GET/configLire la configuration publique du client, dont la clé de site du captcha.Publique
Authentification
POST/auth/registerInscrire un marchand et ouvrir une session propriétaire.Publique
POST/auth/loginSe connecter et ouvrir une session propriétaire.Publique
POST/auth/verify-emailConfirmer une adresse e-mail via le lien envoyé et ouvrir une session propriétaire.Publique
POST/auth/password/forgotEnvoyer par e-mail un lien de réinitialisation du mot de passe.Publique
POST/auth/password/resetDéfinir un nouveau mot de passe via un lien de réinitialisation et se connecter.Publique
POST/auth/googleSe connecter ou s’inscrire avec Google et ouvrir une session propriétaire.Publique
GET/auth/sessionVérifier si ce navigateur est connecté.Publique
POST/auth/logoutFermer la session propriétaire en cours.Publique
Compte
GET/meObtenir le compte, les portefeuilles, factures, clés, webhooks et statistiques.Session propriétaire
PATCH/meModifier le nom affiché du marchand.Session propriétaire
Portefeuilles
GET/walletsLister les adresses de réception enregistrées.Clé API ou session
POST/walletsEnregistrer une adresse TRON à somme de contrôle valide (propriété non vérifiée).Session propriétaire
Factures
GET/invoicesLister les 500 dernières factures.Clé API ou session
POST/invoicesCréer une facture et réserver un montant exact unique pendant 90 jours.Clé API ou session
GET/invoices/{id}Obtenir une facture appartenant à ce marchand.Clé API ou session
Paiement
GET/checkout/{token}Lire les informations de paiement destinées au payeur via son jeton.Publique
Clés API
POST/api-keysCréer une clé API avec une expiration facultative ; le secret est affiché une seule fois.Session propriétaire
POST/api-keys/{id}/rollRemplacer une clé API par un nouveau secret de même nom et de même durée.Session propriétaire
DELETE/api-keys/{id}Révoquer immédiatement une clé API.Session propriétaire
Registre
GET/ledger.csvExporter le registre opérationnel complet en CSV.Clé API ou session
Webhooks
POST/webhooksEnregistrer un endpoint webhook HTTPS public ; le secret de signature n’est affiché qu’une fois.Session propriétaire
DELETE/webhooks/{id}Désactiver un endpoint et annuler ses livraisons en attente.Session propriétaire
POST/webhooks/{id}/testEnvoyer un événement webhook.test signé.Session propriétaire
POST/webhooks/deliveries/{id}/retryRelancer une livraison de webhook échouée ou en attente.Session propriétaire
Support
POST/support/chatDémarrer une discussion sur le site avec un nom, un e-mail et un premier message ; renvoie un jeton de discussion privé.Publique
GET/support/chatLire une discussion du site avec son jeton.Publique
POST/support/chat/messagesEnvoyer un autre message dans une discussion du site ; une discussion fermée est rouverte.Publique
POST/support/contactEnvoyer un message au support sans compte.Publique
GET/support/ticketsLister vos tickets de support.Session propriétaire
POST/support/ticketsOuvrir un ticket de support.Session propriétaire
GET/support/tickets/{id}Lire l’un de vos tickets avec ses messages.Session propriétaire
POST/support/tickets/{id}/messagesRépondre à votre ticket ; un ticket fermé est rouvert.Session propriétaire
POST/support/tickets/{id}/closeFermer votre ticket.Session propriétaire
GET/support/inboxÉquipe support : lister tous les tickets, ouverts en premier.Session propriétaire
GET/support/inbox/{id}Équipe support : lire un ticket avec les coordonnées.Session propriétaire
POST/support/inbox/{id}/messagesÉquipe support : répondre au ticket d’un marchand.Session propriétaire
POST/support/inbox/{id}/statusÉquipe support : changer le statut d’un ticket.Session propriétaire

Système

GET/api/v1/health

Publique

Vérifier l’état du service et le mode de la passerelle.

Renvoie: 200 application/json
ChampTypeRequisDescription
status"ok"Non
mode"live"NonInvoices are confirmed from verified TRON mainnet transfers.
live_payments_enabledtrueNon

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/health"

GET/api/v1/config

Publique

Lire la configuration publique du client, dont la clé de site du 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.

Renvoie: 200 application/json
ChampTypeRequisDescription
captchaobjectOui
googleobjectOui

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/config"

Authentification

POST/api/v1/auth/register

Publique

Inscrire un marchand et ouvrir une session propriétaire.

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.

Corps de la requête

ChampTypeRequisDescription
emailstring (email)Oui
passwordstring (password)Ouilength 12–128
captcha_tokenstringNonCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
namestringNonlength 0–100
locale"en" | "fa" | "ar" | "zh" | "es" | "fr" | "ru"NonLanguage of the email. — default "en"
Renvoie: 201 application/json
ChampTypeRequisDescription
verification_requiredtrueOui
emailstring (email)Oui
email_sentbooleanOuiFalse when the SMTP server rejected the message; signing in later sends a new link.

Réponses

  • 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
Exemple de requête
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

Publique

Se connecter et ouvrir une session propriétaire.

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.

Corps de la requête

ChampTypeRequisDescription
emailstring (email)Oui
passwordstring (password)Ouilength 10–128
captcha_tokenstringNonCloudflare 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"NonLanguage of the email. — default "en"
Renvoie: 200 application/json
ChampTypeRequisDescription
merchantMerchantNon

Réponses

  • 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
Exemple de requête
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

Publique

Confirmer une adresse e-mail via le lien envoyé et ouvrir une session propriétaire.

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

Corps de la requête

ChampTypeRequisDescription
tokenstringOuiSingle-use token from the emailed link. — pattern ^[A-Za-z0-9_-]{43}$
Renvoie: 200 application/json
ChampTypeRequisDescription
merchantMerchantNon

Réponses

  • 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
Exemple de requête
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

Publique

Envoyer par e-mail un lien de réinitialisation du mot de passe.

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

Corps de la requête

ChampTypeRequisDescription
emailstring (email)Oui
captcha_tokenstringNonCloudflare 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"NonLanguage of the email. — default "en"
Renvoie: 202 application/json
ChampTypeRequisDescription
successtrueOui

Réponses

  • 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
Exemple de requête
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

Publique

Définir un nouveau mot de passe via un lien de réinitialisation et se connecter.

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

Corps de la requête

ChampTypeRequisDescription
tokenstringOuiSingle-use token from the emailed link. — pattern ^[A-Za-z0-9_-]{43}$
passwordstring (password)Ouilength 12–128
Renvoie: 200 application/json
ChampTypeRequisDescription
merchantMerchantNon

Réponses

  • 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
Exemple de requête
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

Publique

Se connecter ou s’inscrire avec Google et ouvrir une session propriétaire.

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.

Corps de la requête

ChampTypeRequisDescription
credentialstringOuiGoogle ID token (JWT). — length 20–4096
Renvoie: 200 application/json
ChampTypeRequisDescription
merchantMerchantNon

Réponses

  • 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
Exemple de requête
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

Publique

Vérifier si ce navigateur est connecté.

Renvoie: 200 application/json
ChampTypeRequisDescription
signed_inbooleanOui

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/auth/session"

POST/api/v1/auth/logout

Publique

Fermer la session propriétaire en cours.

Renvoie: 200 application/json
ChampTypeRequisDescription
successtrueOui

Réponses

  • 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
Exemple de requête
curl -X POST "https://smg.sabco24.com/api/v1/auth/logout" \
  -H "Content-Type: application/json" \
  -d '{}'

Compte

GET/api/v1/me

Session propriétaire

Obtenir le compte, les portefeuilles, factures, clés, webhooks et statistiques.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Renvoie: 200 Dashboard
ChampTypeRequisDescription
merchantMerchantOui
walletsWallet[]Oui
invoicesInvoice[]Oui
eventsEvent[]Oui
api_keysApiKey[]Oui
webhooksWebhook[]Oui
deliveriesDelivery[]Oui
statsobjectOui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Modifier le nom affiché du marchand.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Corps de la requête

ChampTypeRequisDescription
namestringOuilength 1–100
Renvoie: 200 Dashboard
ChampTypeRequisDescription
merchantMerchantOui
walletsWallet[]Oui
invoicesInvoice[]Oui
eventsEvent[]Oui
api_keysApiKey[]Oui
webhooksWebhook[]Oui
deliveriesDelivery[]Oui
statsobjectOui

Réponses

  • 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
Exemple de requête
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"}'

Portefeuilles

GET/api/v1/wallets

Clé API ou session

Lister les adresses de réception enregistrées.

Renvoie: 200 application/json
ChampTypeRequisDescription
walletsWallet[]Non

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/wallets" \
  -H "Authorization: Bearer $SMETA_API_KEY"

POST/api/v1/wallets

Session propriétaire

Enregistrer une adresse TRON à somme de contrôle valide (propriété non vérifiée).

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Corps de la requête

ChampTypeRequisDescription
labelstringOuilength 1–80
addressstringOuipattern ^T[1-9A-HJ-NP-Za-km-z]{33}$
Renvoie: 200 application/json
ChampTypeRequisDescription
walletWalletNon

Réponses

  • 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
Exemple de requête
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"}'

Factures

GET/api/v1/invoices

Clé API ou session

Lister les 500 dernières factures.

Renvoie: 200 application/json
ChampTypeRequisDescription
invoicesInvoice[]Non

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/invoices" \
  -H "Authorization: Bearer $SMETA_API_KEY"

POST/api/v1/invoices

Clé API ou session

Créer une facture et réserver un montant exact unique pendant 90 jours.

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.

En-têtes requis

ChampTypeRequisDescription
Idempotency-KeystringOuiClé unique par tentative de facture ; réutilisez-la lors des relances.

Corps de la requête CreateInvoice

ChampTypeRequisDescription
merchant_order_idstringOuiUnique per merchant. Reuse the original idempotency key for retries. — length 1–120
amountstringOuiBase 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_idstringOuiID of a wallet registered to this merchant. — length 1–100
descriptionstringNonlength 1–1000
metadataobjectNonJSON object, at most 16 KiB when serialized. Keep customer secrets out of metadata.
expires_in_minutesintegerNonrange 1–1440 · default 20
Renvoie: 200 InvoiceEnvelope
ChampTypeRequisDescription
invoiceInvoiceOui
idempotent_replaybooleanNon

Réponses

  • 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
Exemple de requête
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}

Clé API ou session

Obtenir une facture appartenant à ce marchand.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiInvoice ID
Renvoie: 200 application/json
ChampTypeRequisDescription
invoiceInvoiceNon

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/invoices/ID" \
  -H "Authorization: Bearer $SMETA_API_KEY"

Paiement

GET/api/v1/checkout/{token}

Publique

Lire les informations de paiement destinées au payeur via son jeton.

Paramètres de chemin

ChampTypeRequisDescription
tokenstringOuiCheckout capability token from checkout_url
Renvoie: 200 application/json
ChampTypeRequisDescription
invoiceCheckoutInvoiceNon

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/checkout/TOKEN"

Clés API

POST/api/v1/api-keys

Session propriétaire

Créer une clé API avec une expiration facultative ; le secret est affiché une seule fois.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Corps de la requête

ChampTypeRequisDescription
namestringOuilength 1–80
expires_in_daysinteger | nullNonDays until the key expires. Omit or send null for a key that never expires. — range 1–3650 · e.g. 90
Renvoie: 201 application/json
ChampTypeRequisDescription
api_keyApiKey & objectNon
secretstringNon
warningstringNon

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Remplacer une clé API par un nouveau secret de même nom et de même durée.

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

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiAPI key ID
Renvoie: 201 application/json
ChampTypeRequisDescription
api_keyApiKey & objectNon
secretstringNon
warningstringNon
replaced_key_idstringNon

Réponses

  • 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
Exemple de requête
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}

Session propriétaire

Révoquer immédiatement une clé API.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiAPI key ID
Renvoie: 200 application/json
ChampTypeRequisDescription
successtrueOui

Réponses

  • 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
Exemple de requête
curl -X DELETE "https://smg.sabco24.com/api/v1/api-keys/ID" \
  -H "Cookie: smg_session=$SESSION" \
  -H "Origin: https://smg.sabco24.com"

Registre

GET/api/v1/ledger.csv

Clé API ou session

Exporter le registre opérationnel complet en CSV.

Renvoie: 200 text/csv

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/ledger.csv" \
  -H "Authorization: Bearer $SMETA_API_KEY"

Webhooks

POST/api/v1/webhooks

Session propriétaire

Enregistrer un endpoint webhook HTTPS public ; le secret de signature n’est affiché qu’une fois.

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

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Corps de la requête

ChampTypeRequisDescription
urlstring (uri)Ouilength 0–2048
Renvoie: 201 application/json
ChampTypeRequisDescription
webhookWebhook & objectNon
secretstringNon

Réponses

  • 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
Exemple de requête
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}

Session propriétaire

Désactiver un endpoint et annuler ses livraisons en attente.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiWebhook ID
Renvoie: 200 application/json
ChampTypeRequisDescription
successtrueOui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Envoyer un événement webhook.test signé.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiWebhook ID
Renvoie: 200 application/json
ChampTypeRequisDescription
eventEventNon
deliveriesDelivery[]Non

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Relancer une livraison de webhook échouée ou en attente.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiDelivery ID
Renvoie: 200 application/json
ChampTypeRequisDescription
deliveryDeliveryNon

Réponses

  • 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
Exemple de requête
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.

En-têtes requis

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

Réponses

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

Support

POST/api/v1/support/chat

Publique

Démarrer une discussion sur le site avec un nom, un e-mail et un premier message ; renvoie un jeton de discussion privé.

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.

Corps de la requête

ChampTypeRequisDescription
messagestringOuilength 1–5000
namestringOuilength 1–100
emailstring (email)Ouilength 0–254
captcha_tokenstringNonCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
Renvoie: 201 application/json
ChampTypeRequisDescription
chat_tokenstringOuiPrivate bearer token for this conversation.
ticketobjectOui
namestringOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Publique

Lire une discussion du site avec son jeton.

En-têtes requis

ChampTypeRequisDescription
X-Support-Chat-TokenstringOuichat_token returned when the chat was started. Keep it private; it is the only key to this conversation.
Renvoie: 200 application/json
ChampTypeRequisDescription
ticketobjectOui
namestringOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
curl -X GET "https://smg.sabco24.com/api/v1/support/chat" \
  -H "X-Support-Chat-Token: VALUE"

POST/api/v1/support/chat/messages

Publique

Envoyer un autre message dans une discussion du site ; une discussion fermée est rouverte.

En-têtes requis

ChampTypeRequisDescription
X-Support-Chat-TokenstringOuichat_token returned when the chat was started. Keep it private; it is the only key to this conversation.

Corps de la requête

ChampTypeRequisDescription
messagestringOuilength 1–5000
Renvoie: 201 application/json
ChampTypeRequisDescription
ticketobjectOui
namestringOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Publique

Envoyer un message au support sans compte.

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

Corps de la requête

ChampTypeRequisDescription
namestringOuilength 1–100
emailstring (email)Ouilength 0–254
subjectstringOuilength 1–150
category"general" | "payments" | "technical" | "account" | "other"Nondefault "general"
messagestringOuilength 1–5000
captcha_tokenstringNonCloudflare Turnstile response token. Required when GET /config returns a captcha site key; each token is single use. — length 0–2048
Renvoie: 201 application/json
ChampTypeRequisDescription
ticketobjectNon

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Lister vos tickets de support.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Renvoie: 200 application/json
ChampTypeRequisDescription
ticketsSupportTicket[]Non

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Ouvrir un ticket de support.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Corps de la requête

ChampTypeRequisDescription
subjectstringOuilength 1–150
category"general" | "payments" | "technical" | "account" | "other"Nondefault "general"
messagestringOuilength 1–5000
Renvoie: 201 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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}

Session propriétaire

Lire l’un de vos tickets avec ses messages.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiTicket ID
Renvoie: 200 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Répondre à votre ticket ; un ticket fermé est rouvert.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiTicket ID

Corps de la requête

ChampTypeRequisDescription
messagestringOuilength 1–5000
Renvoie: 201 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Fermer votre ticket.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiTicket ID
Renvoie: 200 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Équipe support : lister tous les tickets, ouverts en premier.

Requires a session for an account listed in SUPPORT_STAFF_EMAILS.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Renvoie: 200 application/json
ChampTypeRequisDescription
ticketsSupportTicket[]Non

Réponses

  • 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
Exemple de requête
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}

Session propriétaire

Équipe support : lire un ticket avec les coordonnées.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiTicket ID
Renvoie: 200 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Équipe support : répondre au ticket d’un marchand.

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

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiTicket ID

Corps de la requête

ChampTypeRequisDescription
messagestringOuilength 1–5000
Renvoie: 201 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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

Session propriétaire

Équipe support : changer le statut d’un ticket.

Nécessite le cookie de session du propriétaire du tableau de bord ; les clés API sont refusées pour cette opération.

Paramètres de chemin

ChampTypeRequisDescription
idstringOuiTicket ID

Corps de la requête

ChampTypeRequisDescription
status"open" | "answered" | "closed"Oui
Renvoie: 200 SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui

Réponses

  • 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
Exemple de requête
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"}'

Schémas

Objets renvoyés et acceptés par l’API.

Error
ChampTypeRequisDescription
errorobjectOui
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
Merchant
ChampTypeRequisDescription
idstringOui
namestringOui
emailstring (email)Oui
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
support_staffbooleanNonTrue when this account is listed in SUPPORT_STAFF_EMAILS and may use the support inbox.
SupportTicket
ChampTypeRequisDescription
idstringOui
referencestringOuiHuman-friendly reference such as SMG-1A2B3C4D5E.
subjectstringOui
category"general" | "payments" | "technical" | "account" | "other"Ouidefault "general"
status"open" | "answered" | "closed"Ouiopen: waiting for support; answered: support replied; closed: resolved.
source"dashboard" | "contact" | "chat"Ouidashboard: merchant ticket; contact: contact form, answered by email; chat: website chat widget, answered in place.
created_atstring (date-time)Oui
updated_atstring (date-time)Oui
namestringNonSupport inbox only.
emailstring (email)NonSupport inbox only.
merchant_idstring | nullNonSupport inbox only. Null for contact-form and website-chat tickets.
merchant_namestring | nullNonSupport inbox only.
SupportMessage
ChampTypeRequisDescription
idstringOui
author"customer" | "staff"Oui
bodystringOui
created_atstring (date-time)Oui
SupportThread
ChampTypeRequisDescription
ticketSupportTicketOui
messagesSupportMessage[]Oui
Wallet
ChampTypeRequisDescription
idstringOui
labelstringOui
addressstringOui
network"tron-mainnet"Oui
verifiedfalseOui
verification_status"unverified"Oui
created_atstring (date-time)Oui
CheckoutInvoice
ChampTypeRequisDescription
idstringOui
base_amountstringOuiExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
adjustmentstringOuiExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
payable_amountstringOuiExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
wallet_addressstringOui
status"pending" | "confirmed" | "expired" | "review"Oui
created_atstring (date-time)Non
expires_atstring (date-time)Non
reserved_untilstring (date-time)Non
descriptionstringNon
tx_hashstring | nullNonTRON transaction hash of the matched USDT transfer (64 hex characters).
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
network"tron-mainnet"Non
token"USDT"Non
token_contract"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"Non
amount_reuse_reviewbooleanNon
merchant_namestringOuiMerchant business display name.
Invoice
ChampTypeRequisDescription
idstringOui
base_amountstringOuiExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
adjustmentstringOuiExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
payable_amountstringOuiExact USDT decimal string, six fractional digits in responses. Never a floating point number. — pattern ^[0-9]+\.[0-9]{6}$ · e.g. "49.953821"
wallet_addressstringOui
status"pending" | "confirmed" | "expired" | "review"Oui
created_atstring (date-time)Non
expires_atstring (date-time)Non
reserved_untilstring (date-time)Non
descriptionstringNon
tx_hashstring | nullNonTRON transaction hash of the matched USDT transfer (64 hex characters).
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
network"tron-mainnet"Non
token"USDT"Non
token_contract"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"Non
amount_reuse_reviewbooleanNon
checkout_urlstring (uri)Non
checkout_tokenstringNonCapability token. Treat checkout URLs as confidential invoice links.
merchant_order_idstringOui
wallet_idstringOui
metadataobjectOui
CreateInvoice
ChampTypeRequisDescription
merchant_order_idstringOuiUnique per merchant. Reuse the original idempotency key for retries. — length 1–120
amountstringOuiBase 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_idstringOuiID of a wallet registered to this merchant. — length 1–100
descriptionstringNonlength 1–1000
metadataobjectNonJSON object, at most 16 KiB when serialized. Keep customer secrets out of metadata.
expires_in_minutesintegerNonrange 1–1440 · default 20
InvoiceEnvelope
ChampTypeRequisDescription
invoiceInvoiceOui
idempotent_replaybooleanNon
ApiKey
ChampTypeRequisDescription
idstringOui
namestringOui
prefixstringOuiFirst characters of the secret, for identification only.
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
scopes"invoices:read" | "invoices:write" | "ledger:read"[]Oui
created_atstring (date-time)Non
last_used_atstring | null (date-time)Non
revoked_atstring | null (date-time)Non
expires_atstring | null (date-time)NonNull when the key never expires.
expiredbooleanNon
Webhook
ChampTypeRequisDescription
idstringOui
urlstring (uri)Oui
created_atstring (date-time)Non
activebooleanOui
Delivery
ChampTypeRequisDescription
idstringOui
webhook_idstringOui
event_idstringOui
status"pending" | "sending" | "delivered" | "failed" | "cancelled"Oui
attemptsintegerOui
next_attempt_atstring | null (date-time)Non
last_errorstring | nullNon
response_statusinteger | nullNon
created_atstring (date-time)Non
delivered_atstring | null (date-time)Non
Event
ChampTypeRequisDescription
idstringOui
type"invoice.created" | "invoice.confirmed" | "invoice.expired" | "invoice.review" | "webhook.test"Oui
created_atstring (date-time)Oui
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
dataobjectOui
ConfirmedEvent
ChampTypeRequisDescription
idstringOui
type"invoice.confirmed"Oui
created_atstring (date-time)Oui
mode"live"OuiInvoices are confirmed from verified TRON mainnet transfers.
dataobjectOui
Dashboard
ChampTypeRequisDescription
merchantMerchantOui
walletsWallet[]Oui
invoicesInvoice[]Oui
eventsEvent[]Oui
api_keysApiKey[]Oui
webhooksWebhook[]Oui
deliveriesDelivery[]Oui
statsobjectOui