Saltar al contenido principal
Traducción Automática

Esta página utiliza traducción automática. Para cualquier inconsistencia, consulte la documentación en inglés.

Callbacks

Crypto2B puede generar notificaciones para el sistema del cliente con información sobre las operaciones (por ejemplo, depósitos, retiros, operaciones de servicio, verificaciones de direcciones). Para esto se utilizan los callbacks.

Configuración​

Si el cliente desea utilizar el mecanismo de callbacks para hacer seguimiento del estado de procesamiento de las operaciones, la URL de callback debe configurarse en la cuenta personal.

Luego, durante el procesamiento de los pagos en criptomonedas, Crypto2B enviará a esta URL notificaciones en formato JSON con toda la información necesaria sobre la transacción.

Contenido del callback​

Los callbacks de Crypto2B contienen toda la información importante sobre la transacción:

  • tipo de operación
  • estado de procesamiento
  • moneda
  • dirección
  • monto
  • hash de la transacción en la blockchain
  • número de confirmaciones
  • comisión

y así sucesivamente

Ejemplos de callbacks​

Depósito​

{
"data": {
"type": "Deposit",
"id": 123456,
"status": "Success",
"date": "2024-01-15T10:30:00Z",
"clientDepositId": "client-deposit-001",
"error": null,
"instrument": {
"currencyShortName": "USDT",
"transportProtocol": "trc20"
},
"address": {
"address": "TExampleDepositAddress1234567890abc",
"tag": null,
"foreignId": "user-12345",
"senderAddress": "TExampleSenderAddress0987654321xyz"
},
"transaction": {
"approach": "FullProcessing",
"hash": "abc123def456abc123def456abc123def456abc123def456abc123def456abcd",
"amount": 1000.50,
"confirmations": 21,
"amlRiskGrade": "Low"
},
"fees": [
{
"type": "Commercial",
"currencyShortName": "USDT",
"transportProtocol": "trc20",
"amount": 5.00
}
]
}
}

Retiro​

{
"data": {
"type": "Withdrawal",
"id": 789012,
"status": "Success",
"date": "2024-01-15T14:45:00Z",
"paymentOrderId": "withdrawal-order-001",
"foreignId": "user-withdrawal-789",
"error": null,
"instrument": {
"currencyShortName": "BTC",
"transportProtocol": "btc"
},
"address": {
"address": "bc1qexamplewithdrawaladdress000000000000000",
"tag": null
},
"transaction": {
"approach": "FullProcessing",
"hash": "00000000000000000000abcdef1234567890abcdef1234567890abcdef123456",
"amount": 0.05,
"confirmations": 6,
"amlRiskGrade": null
},
"fees": [
{
"type": "Commercial",
"currencyShortName": "BTC",
"transportProtocol": "btc",
"amount": 0.0001
},
{
"type": "Technical",
"currencyShortName": "BTC",
"transportProtocol": "btc",
"amount": 0.00005
}
]
}
}

Operación de servicio​

{
"data": {
"type": "Service",
"id": 345678,
"soType": "Common",
"status": "Success",
"date": "2024-01-15T16:00:00Z",
"error": null,
"instrument": {
"currencyShortName": "ETH",
"transportProtocol": "erc20"
},
"sender": "0x0000000000000000000000000000000000000001",
"recipient": "0x0000000000000000000000000000000000000002",
"transaction": {
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"amount": 2.5,
"confirmations": 35
},
"technicalFee": {
"currencyShortName": "ETH",
"transportProtocol": "erc20",
"amount": 0.002
}
}
}
nota

El valor de technicalFee.amount puede ser negativo. Esto ocurre en una operación de servicio de tipo UnlockedBalance, donde la comisión técnica se acredita de vuelta al saldo del cliente. En estos casos, el monto negativo debe tratarse como una recarga de saldo, no como una deducción.

Verificación de dirección​

{
"data": {
"type": "AddressCheck",
"checkId": "550e8400-e29b-41d4-a716-446655440000",
"address": "TJYeasypBnB2x5hLTpYPQZ6YR9ZL3hLj6b",
"status": "Completed",
"amlRiskGrade": "Low",
"description": "Exchange wallet",
"currency": "USDT",
"protocol": "Tron",
"feeAmount": 0.5,
"feeCurrencyShortName": "USDT",
"timestamp": "2024-01-15T10:30:00Z",
"errorCode": null,
"errorMessage": null
}
}

Descripción de los campos​

CampoDescripción
typeTipo de operación: Deposit, Withdrawal, Service, AddressCheck
idIdentificador único de la operación en el sistema
statusEstado de procesamiento de la operación
dateFecha y hora de la operación (ISO 8601)
instrumentInformación sobre la moneda y el protocolo
addressDirección de la transacción y parámetros adicionales
transactionDetalles de la transacción en la blockchain
feesArray de comisiones (comercial, técnica)
errorMensaje de error (si lo hay)

Campos específicos de los depósitos​

CampoDescripción
clientDepositIdID del depósito en el sistema del cliente
address.foreignIdIdentificador externo del usuario
address.senderAddressDirección del remitente

Campos específicos de los retiros​

CampoDescripción
paymentOrderIdID de la orden de pago
foreignIdIdentificador externo de la operación

Campos específicos de las operaciones de servicio​

CampoDescripción
soTypeTipo de operación de servicio (por ejemplo, Common)
senderDirección del remitente
recipientDirección del destinatario
technicalFeeComisión técnica de la operación

Algunos tipos de operaciones de servicio modifican el saldo del cliente: el monto del cambio se transmite en transaction.amount o technicalFee.amount (ver Operaciones de servicio).

Campos del callback de verificación de dirección​

El callback de verificación de dirección no contiene los campos comunes id, date, instrument, address, transaction ni fees. Su estructura se describe en la sección Verificación de dirección.

Nota importante​

Deduplicación

Tenga en cuenta que, debido a particularidades de la implementación, un mismo callback puede enviarse en ocasiones más de una vez. Realice siempre el seguimiento de los identificadores de transacción para evitar el doble gasto y problemas similares.