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.
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:
| Encabezado | Valor | Formato | Requerido |
|---|---|---|---|
X-Processing-Key | Clave API pública obtenida en su cuenta personal | GUID sin guiones ni llaves | Requerido |
X-Processing-Timestamp | Marca de tiempo en milisegundos cuando se creó y envió la solicitud | Marca de tiempo Unix en milisegundos | Requerido |
X-Processing-RecvWindow | Número de milisegundos después de la marca de tiempo durante los cuales la solicitud es válida | Entero | Opcional (predeterminado 5000 ms) |
X-Processing-Signature | Datos de solicitud firmados con clave secreta HMAC-SHA512 | Valor en codificación base64 | Requerido |
Cálculo de X-Processing-Signature
Algoritmo
-
Formar los datos a firmar como una cadena concatenando las partes de la solicitud en el siguiente orden:
- Valor del encabezado
X-Processing-Timestamp+ - Valor del encabezado
X-Processing-RecvWindow(si se proporciona) + - Tipo de método HTTP de la solicitud (
GET,POST, etc.) + - URL relativa de la solicitud (Ruta + Parámetros de consulta) +
- Cuerpo de la solicitud (si se proporciona)
- Valor del encabezado
-
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
-
Pasar el valor de la firma en el encabezado
X-Processing-Signatureen codificación base64
Ejemplo de Cálculo de Firma
Claves API
| Clave | Valor |
|---|---|
| apiPublicKey | d93b40983c61423c9a84-9956bf1c3549 |
| apiSecretKey | KTxbhABQWghHHkeOFUAUFIb8u9S2rr0nVklG7/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
-
Cadena a firmar:
14998273203506000POST/v1/channels/take{"currencyShortName":"USDT","transportProtocol":"trc20","foreignId":"user-007"} -
Secuencia de bytes (HEX) de la cadena a firmar en UTF-8:
3134393938323733323033353036303030504f53542f76312f6368616e6e656c732f74616b657b2263757272656e637953686f72744e616d65223a2255534454222c227472616e73706f727450726f746f636f6c223a227472633230222c22666f726569676e4964223a22757365722d303037227d -
Secuencia de bytes (HEX) de apiSecretKey:
293c5b8400505a08471e478e1540141486fcbbd4b6aebd27564946effc7d12d5ca76af6c10b8617d86ddb132f54062b90d6b23af1cd37803f665ffe1ae4bf764adb5d1f994fe5777d1abd71338c709e068c585cf0a3b93116b648851c439f05cccbf39ac5b0b7aed1f19954598e9a78a19cc4d56e48e681c4aa7d859ca4a2981 -
X-Processing-Signature (HEX):
99e42b99bf324e740adcf253c466a41bbd62515a55c60c5c8f9077d07ed73e16a83f47a2455d8944165b824e6fc22a94bf9b2719c29aa68bac2271ed9ff46876 -
X-Processing-Signature (base64):
meQrmb8yTnQK3PJTxGakG71iUVpVxgxcj5B30H7XPhaoP0eiRV2JRBZbgk5vwiqUv5snGcKapousInHtn/Rodg==