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.

Autorización

Obtención de Claves de Autorización API

Las claves de acceso API se pueden obtener en su cuenta personal en la sección "Claves API".

Restricción de Acceso por Dirección IP

Por motivos de seguridad, el acceso API está restringido por direcciones IP. Al crear o editar una clave API en su cuenta personal, debe especificar una lista de direcciones IP permitidas.

Configuración Obligatoria

Una clave API no puede activarse sin especificar al menos una dirección IP. Solo se permiten direcciones IP públicas — no se permiten direcciones privadas ni localhost.

Autorización de Solicitudes API

La autorización se realiza enviando los siguientes encabezados en la solicitud:

EncabezadoValorFormatoRequerido
X-Processing-KeyClave API pública obtenida en su cuenta personalGUID sin guiones ni llavesRequerido
X-Processing-TimestampMarca de tiempo en milisegundos cuando se creó y envió la solicitudMarca de tiempo Unix en milisegundosRequerido
X-Processing-RecvWindowNúmero de milisegundos después de la marca de tiempo durante los cuales la solicitud es válidaEnteroOpcional (predeterminado 5000 ms)
X-Processing-SignatureDatos de solicitud firmados con clave secreta HMAC-SHA512Valor en codificación base64Requerido

Cálculo de X-Processing-Signature

Algoritmo

  1. Formar los datos a firmar como una cadena concatenando las partes de la solicitud en el siguiente orden:

    1. Valor del encabezado X-Processing-Timestamp +
    2. Valor del encabezado X-Processing-RecvWindow (si se proporciona) +
    3. Tipo de método HTTP de la solicitud (GET, POST, etc.) +
    4. URL relativa de la solicitud (Ruta + Parámetros de consulta) +
    5. Cuerpo de la solicitud (si se proporciona)
  2. Calcular el valor de la firma de los datos de la solicitud como una secuencia de bytes:

    • Algoritmo: HMACSHA512
    • Clave secreta: secuencia de bytes de la clave secreta obtenida del valor de la clave secreta en codificación base64
    • Datos a firmar: secuencia de bytes de la cadena a firmar en codificación UTF-8
  3. Pasar el valor de la firma en el encabezado X-Processing-Signature en codificación base64

Ejemplo de Cálculo de Firma

Claves API

ClaveValor
apiPublicKeyd93b40983c61423c9a84-9956bf1c3549
apiSecretKeyKTxbhABQWghHHkeOFUAUFIb8u9S2rr0nVklG7/x9EtXKdq9sELhhfYbdsTL1QGK5DWsjrxzTeAP2Zf/hrkv3ZK210fmU/ld30avXEzjHCeBoxYXPCjuTEWtkiFHEOfBczL85rFsLeu0fGZVFmOmnihnMTVbkjmgcSqfYWcpKKYE=

Solicitud

curl -X POST "https://api.crypto2b.com/v1/channels/take" \
-H "Content-Type: application/json" \
-H "X-Processing-Key: d93b40983c61423c9a849956bf1c3549" \
-H "X-Processing-Signature: meQrmb8yTnQK3PJTxGakG71iUVpVxgxcj5B30H7XPhaoP0eiRV2JRBZbgk5vwiqUv5snGcKapousInHtn/Rodg==" \
-H "X-Processing-Timestamp: 1499827320350" \
-H "X-Processing-RecvWindow: 6000" \
-d '{"currencyShortName":"USDT","transportProtocol":"trc20","foreignId":"user-007"}'

Pasos de Cálculo

  1. Cadena a firmar:

    14998273203506000POST/v1/channels/take{"currencyShortName":"USDT","transportProtocol":"trc20","foreignId":"user-007"}
  2. Secuencia de bytes (HEX) de la cadena a firmar en UTF-8:

    3134393938323733323033353036303030504f53542f76312f6368616e6e656c732f74616b657b2263757272656e637953686f72744e616d65223a2255534454222c227472616e73706f727450726f746f636f6c223a227472633230222c22666f726569676e4964223a22757365722d303037227d
  3. Secuencia de bytes (HEX) de apiSecretKey:

    293c5b8400505a08471e478e1540141486fcbbd4b6aebd27564946effc7d12d5ca76af6c10b8617d86ddb132f54062b90d6b23af1cd37803f665ffe1ae4bf764adb5d1f994fe5777d1abd71338c709e068c585cf0a3b93116b648851c439f05cccbf39ac5b0b7aed1f19954598e9a78a19cc4d56e48e681c4aa7d859ca4a2981
  4. X-Processing-Signature (HEX):

    99e42b99bf324e740adcf253c466a41bbd62515a55c60c5c8f9077d07ed73e16a83f47a2455d8944165b824e6fc22a94bf9b2719c29aa68bac2271ed9ff46876
  5. X-Processing-Signature (base64):

    meQrmb8yTnQK3PJTxGakG71iUVpVxgxcj5B30H7XPhaoP0eiRV2JRBZbgk5vwiqUv5snGcKapousInHtn/Rodg==