Introducción
CryptoMarket provee una simple y poderosa REST API, diseñada para permitir el acceso a todas las características de la plataforma de CryptoMarket.
El objetivo final es permitir a las personas recrear toda la plataforma por su cuenta.
Si desea sugerir cambios a la documentación, utilice el botón "Sugerir edición" que se encuentra a la derecha.
Autenticación
La API soporta un modo de autenticación:
API key - Útil para acceder a tu propia cuenta y al mercado.
API key
Para validar tus peticiones a la API, usa este código:
curl "https://api.cryptomkt.com/v1/order"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X POST
var xmlHttp = new XMLHttpRequest();
xmlHttp.setRequestHeader("X-MKT-APIKEY", "<tu api key>");
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", "<mensaje generado y firmado>");
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", "<timestamp de la llamada>");
xmlHttp.open( "POST", 'https://api.cryptomkt.com/v1/order', false );
xmlHttp.send( null );
var request = require('request');
var headers = {
'X-MKT-APIKEY': '<tu api key>',
'X-MKT-SIGNATURE': '<mensaje generado y firmado>',
'X-MKT-TIMESTAMP': '<timestamp de la llamada>'
};
request.post({
url: 'https://api.cryptomkt.com/v1/order',
formData: ... ,
headers: headers
}, function (error, response, body) {
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/order');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: <tu api key>',
'X-MKT-SIGNATURE: <mensaje generado y firmado>',
'X-MKT-TIMESTAMP: <timestamp de la llamada>'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
headers = {'X-MKT-APIKEY': '<tu api key>',
'X-MKT-SIGNATURE': '<mensaje generado y firmado>',
'X-MKT-TIMESTAMP': '<timestamp de la llamada>'
}
r = requests.post('https://api.cryptomkt.com/v1/order', headers=headers)
API key es recomendado si solamente necesitas acceder al mercado a través de tu propia cuenta. Todas las peticiones a la API deben ser firmadas y contener los siguientes encabezados:
X-MKT-APIKEY
: La API key como unstring
X-MKT-SIGNATURE
: El mensaje firmado generado por el usuario (ver abajo)X-MKT-TIMESTAMP
: Untimestamp
para tu llamada
Todos los cuerpos de las llamadas a la API deben ser content-type: application/x-www-form-urlencoded
.
El encabezado X-MKT-SIGNATURE
es generado creando un HMAC SHA384 usando la SECRET KEY
en el string timestamp + requestPath + body
(donde + representa concatenación de string).
El timestamp
es el mismo que el encabezado X-MKT-TIMESTAMP
. Debe ser el número de segundos desde el Unix Epoch. Tu timestamp
debe estar dentro de los 30 segundos de la hora del servicio de la API o su solicitud se considerará caducada y rechazada.
El body
corresponde a la concatenación de los valores
de los parámetros requeridos por la petición, ordenados lexicográficamente por el nombre del parámetro y se omiten si la petición no lo requiere (típicamente para peticiones tipo GET).
Interactuando con la API
Códigos de estado
200 OK
Llamada exitosa201 CREATED
Nuevo objeto guardado204 No content
Recurso borrado400 Bad Request
Retorna JSON con mensaje de error401 Unauthorized
No se pudo autenticar tu petición404 Not found
Recurso no existe429 Too Many Requests
Tu conexión está siendo limitada500 Internal Server Error
Ocurrió un error. No suelen pasar503 Service Unavailable
Servicio está inactivo por mantenimiento
Realizando peticiones
Según los patrones de diseño RESTful, la API CryptoMarket implementa los siguientes verbos HTTP:
GET
- Lectura de recursosPOST
- Crear, modificar y eliminar recursos.
Los parámetros a través de peticiones tipo GET
(no autenticados) serán parámetros de tipo GET, agregados en la URL.
Los parámetros a través de peticiones tipo POST
(autenticados) serán parte del cuerpo (body
) en formato diccionario (ver ejemplos).
CORS
CriptoMarket API v1 soporta peticiones HTTP cross-origin el cual es comúnmente referido a CORS. Esto significa que tú puedes pedir los recursos de la API usando Javascript desde cualquier navegador. Aunque esto permite interesantes casos de uso, es importante recordarte que no deberías exponer tu llave privada a terceros. CORS es principalmente importante con endpoints
públicos.
Campos
TIMESTAMPS
Todos los timestamps
serán entregados en formato ISO8601 en UTC. Ejemplo: "create_at": "2017-09-01T13:39:53.152016"
.
Paginación
Todos los endpoints de tipo GET
que retornen un listado de objetos soportarán paginación. Esta información se incluirá en el objeto pagination
.
Campos | Descripción |
---|---|
previous integer |
Página anterior. null si no existe |
next integer |
Página siguiente. null si no existe |
limit integer |
Límite de objetos por página. |
page integer |
Página actual. |
Errores
Todos los mensajes de error retornan un id
y un mensaje message
legible por humanos.
ID de Error | Código de Error | Descripción |
---|---|---|
400 | Bad Request | Petición inválida. 🙈 |
401 | Unauthorized | Tu API key es errónea. 🔐 |
403 | Forbidden | El recurso solicitado solo está disponible para administradores. 🚫 |
404 | Not Found | El recurso solicitado no pudo ser encontrado. 😔 |
405 | Method Not Allowed | Intentaste acceder a un recurso con un método inválido. 😵 |
406 | Not Acceptable | Solicitaste un formato que no es JSON. 😣 |
410 | Gone | El recurso solicitado ha sido removido de nuestros servidores. 😁 |
418 | I'm a teapot. | 😗☕️ |
429 | Too Many Requests | Estás solicitando muchos recursos! Detente! ✋ |
500 | Internal Server Error | Tenemos problemas en nuestros servidores. Inténtalo más tarde. 😰 |
503 | Service Unavailable | Estamos temporalmente fuera de línea por mantención. Por favor inténtalo más tarde. 👷🛠 |
Rate limit
La API de Cryptomarket tiene límites de consultas por minuto para evitar abusos que degradan nuestra capacidad de mantener un rendimiento consistente de la API para todos los usuarios. De forma predeterminada, cada clave o aplicación del API tiene una tasa limitada de 10 solicitudes por minuto. Si tus peticiones están siendo limitadas, el código de respuesta será HTTP 429 e incluirá el error rate_limit_exceeded
.
Registro de cambios
Recientes cambios y adiciones a la API V1 de Cryptomarket. Los cambios marcados con [Versionado]
incluirán cambios que solo estarán disponibles en esa versión específica o posteriores. Otros cambios estarán disponibles para todas las versiones.
01-09-2017
Lanzamiento inicial de la API V1 de CryptoMarket.
21-02-2020
Lanzamiento inicial de la API V2 de CryptoMarket. Documentación en desarrollo.
Clientes de API
Repositorio | Creador |
---|---|
cryptomkt-python | cryptomkt |
cryptomkt-node | cryptomkt |
cryptomkt-go | cryptomkt |
Endpoints públicos
Mercado
El mercado corresponde a los pares de mercados disponibles en CryptoMarket.
Campos | Descripción |
---|---|
markets array |
Arreglo de strings con los pares de mercado disponibles |
Obtener mercados
Obtener mercados:
curl "https://api.cryptomkt.com/v1/market"
-X GET
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/market', false );
xmlHttp.send( null );
var request = require('request');
request('https://api.cryptomkt.com/v1/market', function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$json = file_get_contents("https://api.cryptomkt.com/v1/market");
import requests
r = requests.get("https://api.cryptomkt.com/v1/market")
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": [
"ETHARS",
"ETHCLP"
]
}
Retorna listado de mercados disponibles en CryptoMarket.
Petición HTTP
GET https://api.cryptomkt.com/v1/market
Ticker
El ticker es una visión general de alto nivel del estado del mercado. Te mostrará el actual bid
y ask
, así como el último precio de mercado. También incluye información como el volumen diario y cuánto se ha movido el precio durante el último día.
Campos | Descripción |
---|---|
high string |
Precio más alto |
low string |
Precio más bajo |
ask string |
Precio de compra |
bid string |
Precio de venta |
last_price string |
Precio última transacción |
volume string |
Volumen del mercado |
market string |
Par de mercado |
timestamp string |
Fecha de consulta |
Obtener ticker
Obtener ticker:
curl "https://api.cryptomkt.com/v1/ticker?market=ETHARS"
-X GET
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open( "GET", 'https://api.cryptomkt.com/v1/ticker?market=ETHARS', false );
xmlHttp.send( null );
var request = require('request');
request('https://api.cryptomkt.com/v1/ticker?market=ETHARS', function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$json = file_get_contents("https://api.cryptomkt.com/v1/ticker?market=ETHARS");
import requests
payload = {'market': 'ETHARS'}
r = requests.get("https://api.cryptomkt.com/v1/ticker", params=payload)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": [
{
"high": "6888",
"volume": "13.03",
"low": "6303",
"ask": "6887",
"timestamp": "2017-08-29 15:44:17.267526",
"bid": "6416",
"last_price": "6610",
"market": "ETHARS"
}
]
}
Retorna una lista de objetos ticker de mercados activos. Si está presente parámetro market solo se retorna ticker de mercado especificado.
Petición HTTP
GET https://api.cryptomkt.com/v1/ticker?market=ETHARS
Parámetros | Descripción |
---|---|
market string |
Par de mercado a consultar |
Órdenes
Una orden de mercado corresponde a una solicitud de compra o venta dentro del Exchange Market de CryptoMarket.
Campos | Descripción |
---|---|
price string |
Precio límite de la orden |
amount string |
Cantidad de la orden |
timestamp string |
Fecha de creación |
Libro de órdenes
Obtener lista de órdenes:
curl "https://api.cryptomkt.com/v1/book?market=ETHCLP&type=buy&page=0"
-X GET
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/book?market=ETHCLP&type=buy&page=0', false );
xmlHttp.send( null );
var request = require('request');
request('https://api.cryptomkt.com/v1/book?market=ETHCLP&type=buy&page=0', function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$json = file_get_contents("https://api.cryptomkt.com/v1/book?market=ETHCLP&type=buy&page=0");
import requests
payload = {'market': 'ETHARS', 'type': 'buy', 'page': 0}
r = requests.get("https://api.cryptomkt.com/v1/book", params=payload)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"previous": 0,
"limit": 20,
"page": 0,
"next": "null"
},
"data": [
{
"timestamp": "2017-08-31T12:31:58.782060",
"price": "252610",
"amount": "0.6729"
},
{
"timestamp": "2017-08-31T10:14:58.466285",
"price": "252200",
"amount": "7.6226"
},
{
"timestamp": "2017-08-30T18:15:54.757558",
"price": "252000",
"amount": "2.9761"
},
{
"timestamp": "2017-08-31T14:02:32.377008",
"price": "251900",
"amount": "7.9396"
},
{
"timestamp": "2017-08-30T15:29:12.945642",
"price": "251540",
"amount": "0.7314"
},
{
"timestamp": "2017-08-31T13:46:34.666282",
"price": "250100",
"amount": "0.0399"
}
]
}
Retorna lista de órdenes activas en CryptoMarket.
Petición HTTP
GET https://api.cryptomkt.com/v1/book?market=ETHCLP&type=buy&page=1
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
type string requerido |
Tipo de orden. buy o sell |
page integer |
Página a consultar |
limit integer |
Límite de objetos por página. Por defecto es 20. Mínimo 20, máximo 100 |
Trades
Corresponden a las transacciones realizadas en CryptoMarket.
Campos | Descripción |
---|---|
market_taker string |
Tipo de transacción. buy o sell |
price string |
Precio al cual se realizó la transacción |
amount string |
Cantidad de la transacción |
tid string |
ID de la transacción |
timestamp string |
Fecha de la transacción |
market string |
Par de mercado donde se realizó la transacción |
Obtener trades
Obtener lista de trades
curl "https://api.cryptomkt.com/v1/trades?market=ETHCLP&start=2017-05-20&end=2017-05-30&page=2"
-X GET
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/trades?market=ETHCLP&start=2017-05-20&end=2017-05-30&page=2', false );
xmlHttp.send( null );
var request = require('request');
request('https://api.cryptomkt.com/v1/trades?market=ETHCLP&start=2017-05-20&end=2017-05-30&page=2', function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$json = file_get_contents("https://api.cryptomkt.com/v1/trades?market=ETHCLP&start=2017-05-20&end=2017-05-30&page=2");
import requests
payload = {'market': 'ETHCLP', 'start': '2017-05-20', 'end': '2017-05-30', 'page': 2}
r = requests.get("https://api.cryptomkt.com/v1/trades", params=payload)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"previous": 1,
"limit": 20,
"page": 2,
"next": "null"
},
"data": [
{
"market_taker": "buy",
"timestamp": "2017-05-29T22:14:00.419466",
"price": "155000",
"amount": "0.129",
"market": "ETHCLP"
},
{
"market_taker": "buy",
"timestamp": "2017-05-29T22:13:52.168265",
"price": "155000",
"amount": "0.6451",
"market": "ETHCLP"
},
{
"market_taker": "buy",
"timestamp": "2017-05-29T22:01:52.054549",
"price": "155000",
"amount": "2.7441",
"market": "ETHCLP"
},
{
"market_taker": "buy",
"timestamp": "2017-05-29T22:01:51.700777",
"price": "154000",
"amount": "3",
"market": "ETHCLP"
},
{
"market_taker": "buy",
"timestamp": "2017-05-29T22:01:51.342244",
"price": "151990",
"amount": "0.0335",
"market": "ETHCLP"
}
]
}
Retorna listado de trades realizados en CryptoMarket.
Petición HTTP
GET https://api.cryptomkt.com/v1/trades?market=ETHCLP&start=2017-05-20&end=2017-05-30&page=2
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
start string |
Fecha de inicio a consultar (YYYY-MM-DD) |
end string |
Fecha de fin a consultar (YYYY-MM-DD) |
page integer |
Página a consultar |
limit integer |
Límite de objetos por página. Por defecto 20. Mínimo 20 , máximo 100 |
Precios
Correspondes a las velas de los gráficos de precios presentes en la sección Market
en CryptoMarket.
Campos | Descripción |
---|---|
candle_id integer |
ID de la vela |
open_price string |
Precio de apertura |
hight_price string |
Precio más alto |
close_price string |
Precio de cierre |
low_price string |
Precio más bajo |
volume_sum string |
Volumen transado |
candle_date string |
Fecha de la vela |
Obtener precios
Obtener lista de precios
curl "https://api.cryptomkt.com/v1/prices?market=ETHCLP&timeframe=1440"
-X GET
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/prices?market=ETHCLP&timeframe=1440', false );
xmlHttp.send( null );
var request = require('request');
request('https://api.cryptomkt.com/v1/prices?market=ETHCLP&timeframe=1440', function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$json = file_get_contents("https://api.cryptomkt.com/v1/prices?market=ETHCLP&timeframe=1440");
import requests
payload = {'market': 'ETHCLP', 'timeframe': '1440'}
r = requests.get("https://api.cryptomkt.com/v1/prices", params=payload)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"previous": "null",
"limit": 2,
"page": 0,
"next": 1
},
"data": {
"ask": [
{
"candle_id": 9354058,
"open_price": "148800",
"hight_price": "150200",
"close_price": "149760",
"low_price": "142280",
"volume_sum": "32.446",
"candle_date": "2019-07-24 00:00",
"tick_count": "760"
},
{
"candle_id": 9333548,
"open_price": "154240",
"hight_price": "154940",
"close_price": "149060",
"low_price": "145840",
"volume_sum": "20.387",
"candle_date": "2019-07-23 00:00",
"tick_count": "2921"
}
],
"bid": [
{
"candle_id": 9354052,
"open_price": "146260",
"hight_price": "149900",
"close_price": "147500",
"low_price": "140060",
"volume_sum": "32.446",
"candle_date": "2019-07-24 00:00",
"tick_count": "688"
},
{
"candle_id": 9334052,
"open_price": "150560",
"hight_price": "154160",
"close_price": "146240",
"low_price": "145840",
"volume_sum": "20.387",
"candle_date": "2019-07-23 00:00",
"tick_count": "410"
}
]
}
}
Retorna listado de precios presentes en CryptoMarket.
Petición HTTP
GET https://api.cryptomkt.com/v1/prices?market=ETHCLP&timeframe=1440
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
timeframe string requerido |
Lapso de tiempo entre cada vela en minutos . Valores disponibles: 1 , 5 , 15 , 60 , 240 , 1440 , 10080 . |
page integer |
Página a consultar |
limit integer |
Límite de objetos por página. Por defecto 20. Mínimo 20 , máximo 100 |
Endpoints autenticados
Cuenta
Infomación asociada a la cuenta de CryptoMarket
Campos | Descripción |
---|---|
name string |
Nombre del usuario |
email string |
Correo electrónico del usuario |
rate .market_maker string |
Porcentaje de tarifa Market Maker |
rate .market_taker string |
Porcentaje de tarifa Market Taker |
bank_accounts array [BankAccount] |
Lista de cuentas bancarias |
Campos | Descripción |
---|---|
bank_account .id integer |
Identificador cuenta bancaria |
bank_account .bank string |
Nombre del banco |
bank_account .description string |
Descripción cuenta bancaria |
bank_account .country string |
País cuenta bancaria |
bank_account .number string |
Número cuenta bancaria |
Información de cuenta
Obtener información de cuenta:
curl "https://api.cryptomkt.com/v1/account"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/account';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/account', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/account';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request({
url: 'https://api.cryptomkt.com/v1/account',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/account');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/account';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp)+'/v1/account'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/account", headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"bank_accounts": [{
"country": "CL",
"number": "12345678",
"description": "",
"bank": "BANCO DEL ESTADO DE CHILE",
"id": 338492322
}],
"rate": {
"market_taker": "0.68",
"market_maker": "0.48"
},
"email": "[email protected]",
"name": "Juan Troncoso"
}
}
Retorna información asociada a cuenta en CryptoMarket
Petición HTTP
GET https://api.cryptomkt.com/v1/account
Órdenes de mercado
Una orden de mercado corresponde a una solicitud de compra o venta dentro del Exchange Market de CryptoMarket.
Campos | Descripción |
---|---|
id string |
ID de la orden |
status string |
Estado de la orden. active o executed |
type string |
Tipo de orden. buy o sell |
price string |
Precio límite de la orden |
amount .original string |
Cantidad original de la orden |
amount .remaining string |
Cantidad restante de la orden. Solo en órdenes activas |
amount .executed string |
Cantidad ejecutada de la orden. Solo en órdenes ejecutadas |
execution_price string |
Precio de ejecución |
avg_execution_price integer |
Precio de ejecución promedio ponderado. 0 si no se ejecuta. |
market string |
Par de mercado |
created_at string |
Fecha de creación |
updated_at string |
Fecha de actualización. Solo en órdenes activas |
executed_at string |
Fecha de ejecución. Solo en órdenes ejecutadas |
Órdenes activas
Obtener lista de órdenes activas:
curl "https://api.cryptomkt.com/v1/orders/active?market=ETHCLP&page=0"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/active';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/orders/active?market=ETHCLP&page=0', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/active';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request({
url: 'https://api.cryptomkt.com/v1/orders/active?market=ETHCLP&page=0',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/active?market=ETHCLP&page=0');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/orders/active';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp)+'/v1/orders/active'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {'market': 'ETHCLP', 'page': 0}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/orders/active", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"previous": "null",
"limit": 20,
"page": 0,
"next": "null"
},
"data": [
{
"status": "active",
"created_at": "2017-09-01T14:01:56.887272",
"amount": {
"original": "1.4044",
"remaining": "1.4044"
},
"execution_price": null,
"price": "7120",
"type": "buy",
"id": "M103966",
"market": "ETHCLP",
"updated_at": "2017-09-01T14:01:56.887272"
},
{
"status": "active",
"created_at": "2017-09-01T14:02:36.386967",
"amount": {
"original": "1.25",
"remaining": "1.25"
},
"execution_price": null,
"price": "8000",
"type": "buy",
"id": "M103967",
"market": "ETHCLP",
"updated_at": "2017-09-01T14:02:36.386967"
}
]
}
Retorna lista de órdenes activas en CryptoMarket pertenecientes al usuario propietario de las credenciales
Petición HTTP
GET https://api.cryptomkt.com/v1/orders/active?market=ETHCLP&page=1
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
page integer |
Página a consultar |
limit integer |
Límite de objetos por página. Por defecto es 20. Mínimo 20 , máximo 100 |
Órdenes ejecutadas
Retorna lista de órdenes ejecutadas en CryptoMarket pertenecientes al usuario propietario de las credenciales
Obtener lista de órdenes ejecutadas:
curl "https://api.cryptomkt.com/v1/orders/executed?market=ETHCLP&page=1"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/executed';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/orders/executed?market=ETHCLP&page=1', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/executed';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request({
url: 'https://api.cryptomkt.com/v1/orders/executed?market=ETHCLP&page=1',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/executed?market=ETHCLP&page=1');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/orders/executed';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp) + '/v1/orders/executed'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {'market': 'ETHARS', 'page': 0}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/orders/executed", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"previous": "null",
"limit": 20,
"page": 0,
"next": "null"
},
"data": [
{
"status": "executed",
"created_at": "2017-08-31T21:37:42.282102",
"amount": {
"executed": "0.6",
"original": "3.75"
},
"execution_price": "8000",
"executed_at": "2017-08-31T22:01:19.481403",
"price": "8000",
"type": "buy",
"id": "M103959",
"market": "ETHCLP"
},
{
"status": "executed",
"created_at": "2017-08-31T21:37:42.282102",
"amount": {
"executed": "0.5",
"original": "3.75"
},
"execution_price": "8000",
"executed_at": "2017-08-31T22:00:13.805482",
"price": "8000",
"type": "buy",
"id": "M103959",
"market": "ETHCLP"
},
{
"status": "executed",
"created_at": "2016-11-26T23:27:54.502024",
"amount": {
"executed": "1.5772",
"original": "1.5772"
},
"execution_price": "6340",
"executed_at": "2017-01-02T22:56:03.897534",
"price": "6340",
"type": "buy",
"id": "M103260",
"market": "ETHCLP"
}
]
}
Petición HTTP
GET https://api.cryptomkt.com/v1/orders/executed?market=ETHCLP&page=0
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
page integer |
Página a consultar |
limit integer |
Límite de objetos por página. Por defecto es 20. Mínimo 20 , máximo 100 |
Crear orden
Permite crear una orden de compra o venta dentro de CryptoMarket
Crear orden de compra o venta:
curl "https://api.cryptomkt.com/v1/orders/create"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"amount": "0.3","market": "ethclp","price": "10000","type": "buy"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var order = {amount: '0.01', market: 'ETHCLP', price: '200000', type: 'sell'};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/create' + order.amount + order.market + order.price + order.type;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/orders/create', false);
xmlHttp.send("amount=0.01&market=ETHCLP&price=200000&type=sell");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var order = {amount: '0.01', market: 'ETHCLP', price: '200000', type: 'sell'};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/create' + order.amount + order.market + order.price + order.type;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/orders/create',
formData: order,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/create');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$order = array(
'amount' => '0.01',
'market' => 'ETHCLP',
'price' => '200000',
'type' => 'sell'
);
$time = time();
$message_to_sign = time . '/v1/orders/create' . $order['amount'] . $order['market'] . $order['price'] . $order['type'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($order));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp)+'/v1/orders/create' + '0.3' + 'ethclp' + '10000' + 'buy'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'amount': "0.3",
'market': "ethclp",
'price': "10000",
'type': "buy"
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/orders/create", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"status": "executed",
"created_at": "2017-09-01T19:35:26.641136",
"amount": {
"executed": "0.3",
"original": "0.3"
},
"avg_execution_price": "30000",
"price": "10000",
"type": "buy",
"id": "M103975",
"market": "ETHCLP",
"updated_at": "2017-09-01T19:35:26.688106"
}
}
Petición HTTP
POST https://api.cryptomkt.com/v1/orders/create
Parámetros | Descripción |
---|---|
amount string requerido |
Cantidad de la orden |
market string requerido |
Par de mercado |
price string requerido |
Precio de la orden |
type string requerido |
Tipo de orden. buy o sell |
Estado de orden
Retorna el estado de una orden
Obtener estado de una orden de compra o venta:
curl "https://api.cryptomkt.com/v1/orders/status?id=M103975"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/status';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/orders/status?id=M103975', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/status';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.get({
url: 'https://api.cryptomkt.com/v1/orders/status?id=M103975',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/status?id=M103975');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/orders/status';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp)+'/v1/orders/status'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'id': "M103975"
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/orders/status", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"status": "active",
"created_at": "2017-09-01T14:01:56.887272",
"amount": {
"executed": "0",
"original": "1.4044"
},
"avg_execution_price": "0",
"price": "7120",
"type": "buy",
"id": "M103966",
"market": "ETHCLP",
"updated_at": "2017-09-01T14:01:56.887272"
}
}
Petición HTTP
GET https://api.cryptomkt.com/v1/orders/status
Parámetros | Descripción |
---|---|
id string requerido |
Identificador de una orden |
Cancelar una orden
Permite cancelar una orden
Cancelar orden de compra o venta:
curl "https://api.cryptomkt.com/v1/orders/cancel"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"id":"M103975"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var order = {'id': 'M103975'};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/cancel' + order.id;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/orders/cancel', false);
xmlHttp.send('id=M123123');
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var order = {'id': 'M103975'};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/cancel' + order.id;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/orders/cancel',
formData: order,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/cancel');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$order = array('id' => 'M103975');
$time = time();
$message_to_sign = $time . '/v1/orders/cancel' . $order['id'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($order));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp) + '/v1/orders/cancel' + 'M103975'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'id': 'M103975'
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/orders/cancel", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"status": "cancelled",
"created_at": "2017-09-01T14:02:36.386967",
"amount": {
"executed": "0",
"original": "1.25"
},
"avg_execution_price": "0",
"price": "8000",
"type": "buy",
"id": "M103967",
"market": "ETHCLP",
"updated_at": "2017-09-01T14:02:36.386967"
}
}
Petición HTTP
POST https://api.cryptomkt.com/v1/orders/cancel
Parámetros | Descripción |
---|---|
id string requerido |
Identificador de una orden |
Órdenes instantáneas
Una orden instantánea corresponde a una solicitud de compra o venta dentro del Instant Exchange de CryptoMarket.
Obtener cantidad
Permite obtener en base al estado actual del mercado, la cantidad de criptomonedas o moneda local a recibir si se ejecuta una compra o venta respectivamente.
Campos | Descripción |
---|---|
obtained string |
Si es una petición de compra buy , corresponde a la cantidad de criptomoneda a recibir si se efectuase la compra. Si es una petición de venta sell , corresponde a la cantidad de moneda local a recibir si se efectuase la venta. |
required string |
Si es una petición de tipo buy , corresponde a la cantidad de moneda local que se quiere utilizar para realizar la compra. Si type es sell , corresponde a la cantidad de criptomoneda que se quiere utilizar para la venta. Monto menor o igual a la cantidad solicitada. Modificado por la liquidez del mercado. |
Obtener cantidad estimada para una orden instantánea en Instant Exchange:
curl "https://api.cryptomkt.com/v1/orders/instant/get?market=ETHCLP&type=sell&amount=159"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/instant/get';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/orders/instant/get?market=ETHCLP&type=sell&amount=159', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/instant/get';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.get({
url: 'https://api.cryptomkt.com/v1/orders/instant/get?market=ETHCLP&type=sell&amount=159',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/instant/get?market=ETHCLP&type=sell&amount=159');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/orders/instant/get';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp)+'/v1/orders/instant/get'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'market': 'ETHCLP',
'type': 'sell',
'amount': '159'
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/orders/instant/get", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"obtained": "18047138.226",
"required": "159"
}
}
Petición HTTP
GET https://api.cryptomkt.com/v1/orders/instant/get?market=ETHCLP&type=sell&amount=159
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
type string requerido |
Tipo de orden. buy o sell |
amount string requerido |
Si type es buy , corresponde a la cantidad de moneda local que se quiere utilizar para realizar la compra en el mercado especificado. Si type es sell , corresponde a la cantidad de criptomoneda que se quiere utilizar para la venta en el mercado especificado. |
Crear orden
Permite crear una orden instantánea en el Instant Exchange de CryptoMarket
Crear una orden de compra o venta en Instant Exchange:
curl "https://api.cryptomkt.com/v1/orders/instant/create"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"market": "ETHCLP", "type": "buy", "amount": "10"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var order = {"market": "ETHCLP", "type": "buy", "amount": "10"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/instant/create' + order.amount + order.market + order.type;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/orders/instant/create', false);
xmlHttp.send("amount=10&market=ETHCLP&type=buy");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var order = {"market": "ETHCLP", "type": "buy", "amount": "10"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/instant/create' + order.amount + order.market + order.type;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/orders/instant/create',
formData: order,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/orders/instant/create');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$order = array('market' => 'ETHCP', 'type' => 'buy', 'amount' => '10');
$time = time();
$message_to_sign = $time . '/v1/orders/instant/create' . $order['amount'] . $order['market'] . $order['type'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($order));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
payload = {"market": "ETHCLP", "type": "buy", "amount": "10"}
body = str(timestamp) + '/v1/orders/instant/create' + payload['amount'] + payload['market'] + payload['type']
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/orders/instant/create", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": ''
}
Petición HTTP
POST https://api.cryptomkt.com/v1/orders/instant/create
Parámetros | Descripción |
---|---|
market string requerido |
Par de mercado |
type string requerido |
Tipo de orden. buy o sell |
amount string requerido |
Si type es buy , corresponde a la cantidad de moneda local que se quiere utilizar para realizar la compra en el mercado especificado. Si type es sell , corresponde a la cantidad de criptomoneda que se quiere utilizar para la venta en el mercado especificado. |
Billetera (Wallet)
Corresponde a las billeteras locales y de criptomonedas presentes en CryptoMarket.
Obtener balance
Permite obtener el balance actual de tus billeteras en CryptoMarket
Campos | Descripción |
---|---|
wallet string |
Billetera en CryptoMarket |
available string |
Saldo disponible |
balance string |
Saldo contable |
Obtener balances:
curl "https://api.cryptomkt.com/v1/balance"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/orders/balance';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/balance', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/balance';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.get({
url: 'https://api.cryptomkt.com/v1/balance',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/balance');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/balance';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp) + '/v1/balance'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/balance", headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": [
{
"available": "120347",
"wallet": "CLP",
"balance": "120347"
},
{
"available": "10.3399",
"wallet": "ETH",
"balance": "11.3399"
}
]
}
Petición HTTP
GET https://api.cryptomkt.com/v1/balance
Obtener movimientos
Permite obtener los movimientos de tus billeteras en CryptoMarket
Campos | Descripción |
---|---|
id string |
Identificador del movimiento |
type integer |
Tipo del movimiento. Depósito 1 . Retiro -1 . |
amount string |
Monto asociado al movimiento |
fee_percent string |
Porcentaje de la tarifa |
fee_amount string |
Monto de la tarifa |
balance string |
Saldo actual |
date string |
Fecha del movimiento. Formato YYYY-MM-DD HH:MM:SS |
hash string |
Hash de transacción. Disponible si es un retiro de criptomoneda |
address string |
Dirección de destino. Disponible si es un retiro de criptomoneda |
memo string |
Memo de destino. Disponible si es un retiro de criptomoneda |
Obtener movimientos:
curl "https://api.cryptomkt.com/v1/transactions?currency=ETH"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/transactions';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/transactions?currency=ETH', false);
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/transactions';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.get({
url: 'https://api.cryptomkt.com/v1/transactions?currency=ETH',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/transactions?currency=ETH');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/transactions';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp) + '/v1/transactions'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'currency': 'ETH'
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/transactions", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"next": "null",
"limit": 20,
"page": 0,
"previous": "null"
},
"data": [{
"fee_percent": "0.41%",
"fee_amount": "0.002 ETH",
"amount": "0.5011 ETH",
"date": "2018-08-15 16:57:20",
"balance": "12998.7246 ETH",
"type": 1,
"id": "T1408886"
}]
}
Petición HTTP
GET https://api.cryptomkt.com/v1/transactions
Parámetros | Descripción |
---|---|
currency string requerido |
Moneda de la billetera a consultar. Locales CLP , ARS , BRL , MXN , EUR . Criptomonedas ETH , XLM y BTC . |
page integer |
Página a consultar. |
limit integer |
Límite de movimientos por página. Por defecto es 20 . Mínimo 20 , máximo 100 . |
Notificar depósito
Permite nofiticar un depósito a billetera de divisa local
Notificar depósito:
curl "https://api.cryptomkt.com/v1/request/deposit"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"amount": "1200", "bank_account": "121332"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var notification = {"amount": "1231", "bank_account": "123123"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/request/deposit' + notification.amount + notification.bank_account;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/request/deposit', false);
xmlHttp.send("amount=1231&bank_account=123123");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var notification = {"amount": "2234", "bank_account": "432543"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/request/deposit' + notification.amount + notification.bank_account;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/request/deposit',
formData: order,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/request/deposit');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$notification = array('bank_account' => '12343', 'amount' => '10');
$time = time();
$message_to_sign = $time . '/v1/request/deposit' . $notification['amount'] . $notification['bank_account'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($order));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
notification = {"bank_account": "213213", "amount": "10234"}
body = str(timestamp) + '/v1/request/deposit' + notification['amount'] + notification['bank_account']
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/request/deposit", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success"
}
Petición HTTP
POST https://api.cryptomkt.com/v1/request/deposit
Parámetros | Descripción |
---|---|
amount string requerido |
Cantidad de dinero depositada. Sin separador de miles. Utilizar . para separador de decimales. |
bank_account string requerido |
Identificador de la cuenta bancaria desde la cual se realizó el depósito. |
date string |
Fecha del depósito. Formato dd/mm/yyyy . Requerido para México. |
tracking_code string |
Clave de rastreo del depósito. Requerido para México. |
voucher file |
Archivo comprobante del depósito. Requerido para México, Brasil y Unión Europea. Si es incluido, el nombre del archivo debe ser utilizado en la firma de la petición. |
Notificar retiro
Permite nofiticar un retiro desde billetera de divisa local
Notificar retiro:
curl "https://api.cryptomkt.com/v1/request/withdrawal"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"amount": "1200", "bank_account": "121332"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var notification = {"amount": "1231", "bank_account": "123123"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/request/withdrawal' + notification.amount + notification.bank_account;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/request/withdrawal', false);
xmlHttp.send("amount=1231&bank_account=123123");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var notification = {"amount": "2234", "bank_account": "432543"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/request/withdrawal' + notification.amount + notification.bank_account;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/request/withdrawal',
formData: order,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/request/withdrawal');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$notification = array('bank_account' => '12343', 'amount' => '10');
$time = time();
$message_to_sign = $time . '/v1/request/withdrawal' . $notification['amount'] . $notification['bank_account'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($order));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
notification = {"bank_account": "213213", "amount": "10234"}
body = str(timestamp) + '/v1/request/withdrawal' + notification['amount'] + notification['bank_account']
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/request/withdrawal", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success"
}
Petición HTTP
POST https://api.cryptomkt.com/v1/request/withdrawal
Parámetros | Descripción |
---|---|
amount string requerido |
Cantidad de dinero a retirar. Sin separador de miles. Utilizar . como separador de decimales. |
bank_account string requerido |
Identificador de la cuenta bancaria a la cual solicitar el retiro. |
Transferir
Permite transferir criptomonedas a otra billetera (wallet)
Transferir criptomonedas:
curl "https://api.cryptomkt.com/v1/transfer"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"address": "GDMXNQBJMS3FYI4PFSYCCB4", "amount": "1200", "currency": "XLM", "memo": "162354"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var transfer = {"address": "GDMXNQBJMS3FYI4PFSYCCB4", "amount": "1200", "currency": "XLM", "memo": "162354"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/transfer' + transfer.address + transfer.amount + transfer.currency + transfer.memo;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/transfer', false);
xmlHttp.send("address=GDMXNQBJMS3FYI4PFSYCCB4&amount=1200¤cy=XLM&memo=162354");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var transfer = {"address": "GDMXNQBJMS3FYI4PFSYCCB4", "amount": "1200", "currency": "XLM", "memo": "162354"};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/transfer' + transfer.address + transfer.amount + transfer.currency + transfer.memo;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/transfer',
formData: transfer,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/transfer');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$transfer = array("address" => "GDMXNQBJMS3FYI4PFSYCCB4", "amount" => "1200", "currency" => "XLM", "memo" => "162354");
$time = time();
$message_to_sign = $time . '/v1/transfer' . $transfer['address'] . $transfer['amount']. $transfer['currency'] . $transfer['memo'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($transfer));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
transfer = {"address": "GDMXNQBJMS3FYI4PFSYCCB4", "amount": "1200", "currency": "XLM", "memo": "162354"}
body = str(timestamp) + '/v1/transfer' + transfer['address'] + transfer['amount'] + transfer['currency'] + transfer['memo']
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/transfer", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success"
}
Petición HTTP
POST https://api.cryptomkt.com/v1/transfer
Parámetros | Descripción |
---|---|
address string requerido |
Dirección de billetera (wallet) de destino. |
amount string requerido |
Cantidad de dinero a retirar. Sin separador de miles. Utilizar . como separador de decimales. |
currency string requerido |
Billetera desde la cual se realizará la transferencia. ETH , BTC o XLM . |
memo string |
Memo de la billetera (wallet) de destino. |
Cryptocompra
Cryptocompra provee una simple y poderosa REST API, diseñada para permitir el acceso a personas y comercios de generar órdenes y recibir pagos con ETHER.
Orden pago
Una orden de pago corresponde a un solicitud de pago en moneda local. Una orden de pago tiene validez de 15 minutos.
Campos | Descripción |
---|---|
id string |
ID interno de la orden de pago |
external_id string |
ID externo |
status integer |
Estado de la orden de pago. Ver más abajo |
to_receive string |
Monto de la orden de pago |
to_receive_currency string |
Tipo de moneda a recibir por la orden de pago |
expected_amount string |
Cantidad que espera la orden para ser aceptada |
expected_currency string |
Tipo de moneda que espera la orden para ser aceptada |
deposit_address string |
Dirección de la orden de pago |
deposit_memo string |
Memo si orden debe ser pagada con XLM. Vacío por defecto. |
refund_email string |
Correo electrónico de contacto para coordinar reembolsos |
qr string |
Url de la imagen QR de la orden de pago |
obs string |
Observaciones |
callback_url string |
Url de notificación |
error_url string |
Url de error |
success_url string |
Url de éxito |
payment_url string |
Url de voucher de orden de pago |
remanining integer |
Segundos restantes para pagar la orden de pago |
language string |
Lenguaje asociado a la orden. Puede ser es , en o pt . Por defecto en |
created_at string |
Fecha de creación de la orden de pago |
updated_at string |
Fecha de actualización de la orden de pago |
server_at string |
Fecha del servidor |
Estado de una orden de pago
Estado | Descripción |
---|---|
-4 |
Pago múltiple |
-3 |
Monto pagado no concuerda |
-2 |
Falló conversión |
-1 |
Expiró orden de pago |
0 |
Esperando pago |
1 |
Esperando bloque |
2 |
Esperando procesamiento |
3 |
Pago exitoso |
Crear orden de pago
Permite crear una orden de pago, entregando QR y urls para pagar.
Crear orden de pago
curl "https://api.cryptomkt.com/v1/payment/new_order"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"to_receive": "3000", "to_receive_currency": "CLP", "payment_receiver": "[email protected]", "external_id": "123456CM", "callback_url": "", "error_url": "", "success_url": "", "refund_email": "[email protected]"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var payment = {
to_receive: '3000',
to_receive_currency: 'CLP',
payment_receiver: '[email protected]',
external_id: '123456CM',
callback_url: '',
error_url: '',
success_url: '',
refund_email: '[email protected]'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/new_order' + payment.callback_url + payment.error_url + payment.external_id + payment.payment_receiver + payment.refund_email + payment.success_url + payment.to_receive + payment.to_receive_currency;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/payment/new_order', false);
xmlHttp.send("external_id=123456CM&[email protected]&[email protected]&to_receive=3000&to_receive_currency=CLP");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var payment = {
to_receive: '3000',
to_receive_currency: 'CLP',
payment_receiver: '[email protected]',
external_id: '123456CM',
callback_url: '',
error_url: '',
success_url: '',
refund_email: '[email protected]'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/new_order' + payment.callback_url + payment.error_url + payment.external_id + payment.payment_receiver + payment.refund_email + payment.success_url + payment.to_receive + payment.to_receive_currency;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/payment/new_order',
formData: payment,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/payment/new_order');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$payment = array(
'to_receive' => '3000',
'to_receive_currency' => 'CLP',
'payment_receiver' => '[email protected]',
'external_id' => '123456CM',
'callback_url' => '',
'error_url' => '',
'success_url' => '',
'refund_email' => '[email protected]'
);
$time = time();
$message_to_sign = $time . '/v1/payment/new_order' . $payment['callback_url'] . $payment['error_url'] . $payment['external_id'] . $payment['payment_receiver'] . $payment['refund_email'] . $payment['success_url'] . $payment['to_receive'] . $payment['to_receive_currency'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payment));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
payload = {
'callback_url': '',
'error_url': '',
'external_id': 'ABC123',
'payment_receiver': '[email protected]',
'success_url': '',
'to_receive': '3000',
'to_receive_currency': 'CLP'
}
message_to_sign = str(timestamp) + '/v1/payment/new_order' + payload["callback_url"]+
payload["error_url"] + payload["external_id"] + payload["payment_receiver"] +
payload["refund_email"] + payload["success_url"] + payload["to_receive"] + payload["to_receive_currency"]
# python 2
hashed = hmac.new(API_SECRET, message_to_sign, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(message_to_sign, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/payment/new_order", data=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"expected_amount": "",
"payment_url": "https://www.cryptomkt.com/invoice/P2023132/xToY232aheSt8F?lang=en",
"deposit_memo": "",
"updated_at": "2018-06-15T19:44:08.768199",
"to_receive_currency": "CLP",
"to_receive": "5000",
"server_at": "2018-06-15T19:44:08.778598",
"id": "P2023132",
"refund_email": "[email protected]",
"remaining": 900,
"status": 0,
"error_url": "",
"expected_currency": "",
"deposit_address": "",
"qr": "https://www.cryptomkt.com/invoice/P2023132.png",
"language": "en",
"created_at": "2018-06-15T19:44:08.768199",
"token": "xToY232aheSt8F",
"success_url": "",
"callback_url": "",
"external_id": "ABC123",
"obs": ""
}
}
Petición HTTP
POST https://api.cryptomkt.com/v1/payment/new_order
Parámetros | Descripción |
---|---|
to_receive double requerido |
Monto a cobrar de la orden de pago. ARS soporta 2 decimales. EUR soporta 2 decimales. CLP no soporta decimales. BRL soporta 2 decimales. MXN soporta 2 decimales. . como separador de decimales. |
to_receive_currency string requerido |
Tipo de moneda con la cual recibirá el pago. |
payment_receiver string requerido |
Email del usuario o comercio que recibirá el pago. Debe estar registrado en CryptoMarket. |
external_id string |
ID externo. Permite asociar orden interna de comercio con orden de pago. Max. 64 caracteres. |
callback_url string |
Url a la cual se notificarán los cambios de estado de la orden. Max. 256 caracteres. |
error_url string |
Url a la cual se rediccionará en caso de error. Max. 256 caracteres. |
success_url string |
Url a la cual se rediccionará en caso de éxito. Max. 256 caracteres. |
refund_email string |
Correo electrónico de contacto para coordinar reembolsos |
language string |
Opcional. Lenguaje de la orden de pago. Lenguajes soportados es , en y pt . Por defecto en . |
Callback Url
Si el parámetro callback_url
fue proporcionado al crear una orden de pago, cada vez que el estado de esta cambie, se realizará una llamada de tipo POST
(x-www-form-urlencoded
) a la url utilizando como parámetros POST los campos de la orden de pago con su valor respectivo.
Para validar la llamada, además de los campos de la orden de pago se incluirá el parámetro signature
. Este campo consiste en un mensaje firmado compuesto por la concatenación de los campos id
+ status
de la orden de pago utilizando el SECRET KEY
asociado al encabezado X-MKT-APIKEY
entregado al crear la orden de pago.
Crear billetera de orden de pago
Crea billetera de la criptomoneda con la cual se podrá pagar la orden de pago. El hacer uso de este endpoint se completan los campos expected_amount
, expected_currency
, deposit_address
y deposit_memo
si corresponde a una billetera de Stellar (XLM)
.
Crear billetera de la criptomoneda
curl "https://api.cryptomkt.com/v1/payment/create_wallet"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"id": "P2023132", "token": "xToY232aheSt8F", "wallet": "ETH"}'
-X POST
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var payment = {
id: 'P2023132',
token: 'xToY232aheSt8F',
wallet: 'ETH'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/create_wallet' + payment.id + payment.token + payment.wallet;
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("POST", 'https://api.cryptomkt.com/v1/payment/create_wallet', false);
xmlHttp.send("id=P2023132&token=xToY232aheSt8F&wallet=ETH");
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var payment = {
id: 'P2023132',
token: 'xToY232aheSt8F',
wallet: 'ETH'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/create_wallet' + payment.id + payment.token + payment.wallet;
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.post({
url: 'https://api.cryptomkt.com/v1/payment/create_wallet',
formData: payment,
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/payment/create_wallet');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$payment = array(
id => 'P2023132',
token => 'xToY232aheSt8F',
wallet => 'ETH'
);
$time = time();
$message_to_sign = $time . '/v1/payment/create_wallet' . $payment['id'] . $payment['token'] . $payment['wallet'];
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payment));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
payload = {
'id': 'P2023132',
'token': 'xToY232aheSt8F',
'wallet': 'ETH'
}
message_to_sign = str(timestamp) + '/v1/payment/create_wallet' + payload["id"]+ payload["token"] + payload["wallet"];
# python 2
hashed = hmac.new(API_SECRET, message_to_sign, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(message_to_sign, 'utf-8'), hashlib.sha384)
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.post("https://api.cryptomkt.com/v1/payment/create_wallet", data=payload, headers=headers)
r.json()
La petición retorno un JSON estructurado como este:
{
"status": "success",
"data": {
"expected_amount": "2",
"payment_url": "https://www.cryptomkt.com/invoice/P2023132/xToY232aheSt8F?lang=en",
"deposit_memo": "",
"updated_at": "2018-06-15T19:44:08.768199",
"to_receive_currency": "CLP",
"to_receive": "5000",
"server_at": "2018-06-15T19:44:08.778598",
"id": "P2023132",
"refund_email": "[email protected]",
"remaining": 900,
"status": 0,
"error_url": "",
"expected_currency": "ETH",
"deposit_address": "asdfghjklqwertyuio12345678910zxcvbnm",
"qr": "https://www.cryptomkt.com/invoice/P2023132.png",
"language": "en",
"created_at": "2018-06-15T19:44:08.768199",
"token": "xToY232aheSt8F",
"success_url": "",
"callback_url": "",
"external_id": "ABC123",
"obs": ""
}
}
Petición HTTP
POST https://api.cryptomkt.com/v1/payment/create_wallet
Parámetros | Descripción |
---|---|
id string requerido |
ID de la orden de compra |
token string requerido |
Token de la orden de compra |
wallet string requerido |
Billetera a utilizar para recibir el pago. Billeteras disponibles ETH , XLM y BTC . |
Estado de orden de pago
Retorna el estado de una orden de pago
Obtener estado de una orden de pago
curl "https://api.cryptomkt.com/v1/payment/status"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"id": "P13433"}'
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/status';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/payment/status?id=P13433', false );
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var payment = {'id': 'P13433'};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/status';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.get({
url: 'https://api.cryptomkt.com/v1/payment/status?id=P13433',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/payment/status?id=P13433');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/payment/status';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp) + '/v1/payment/status'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'id': 'P13433'
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/payment/status", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"data": {
"expected_amount": "2",
"payment_url": "https://www.cryptomkt.com/invoice/P2023132/xToY232aheSt8F?lang=en",
"deposit_memo": "",
"updated_at": "2018-06-15T19:44:08.768199",
"to_receive_currency": "CLP",
"to_receive": "5000",
"server_at": "2018-06-15T19:44:08.778598",
"id": "P2023132",
"refund_email": "[email protected]",
"remaining": 900,
"status": 0,
"error_url": "",
"expected_currency": "ETH",
"deposit_address": "asdfghjklqwertyuio12345678910zxcvbnm",
"qr": "https://www.cryptomkt.com/invoice/P2023132.png",
"language": "en",
"created_at": "2018-06-15T19:44:08.768199",
"token": "xToY232aheSt8F",
"success_url": "",
"callback_url": "",
"external_id": "ABC123",
"obs": ""
}
}
Petición HTTP
GET https://api.cryptomkt.com/v1/payment/status
Parámetros | Descripción |
---|---|
id string requerido |
ID de orden de pago |
Listado de órdenes de pago
Retorna el listado de las órdenes de pago generadas
Obtener listado de órdenes de pago
curl "https://api.cryptomkt.com/v1/payment/orders"
-H "X-MKT-APIKEY: <tu api key>"
-H "X-MKT-SIGNATURE: <mensaje generado y firmado>"
-H "X-MKT-TIMESTAMP: <timestamp de la llamada>"
-d '{"start_date": "01/03/2018", "end_date": "08/03/2018"}'
-X GET
# usando un bundler
var sha384 = require('js-sha384');
var xmlHttp = new XMLHttpRequest()
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/orders';
var signature = sha384.hmac('sha384', credentials.API_SECRET).update(message_to_sign).hex();
xmlHttp.setRequestHeader("X-MKT-APIKEY", credentials.API_KEY);
xmlHttp.setRequestHeader("X-MKT-SIGNATURE", signature);
xmlHttp.setRequestHeader("X-MKT-TIMESTAMP", time);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
JSON.parse(xmlHttp.responseText);
}
xmlHttp.open("GET", 'https://api.cryptomkt.com/v1/payment/status?start_date=01/03/2018&end_date=08/03/2018', false );
xmlHttp.send( null );
var request = require('request');
var crypto = require('crypto');
var credentials = {
API_KEY: 'FS24FJ7',
API_SECRET: 'SFT23GSD'
};
var payload = {'start_date': '01/03/2018', 'end_date': '08/03/2018'};
var time = new Date() / 1000;
var message_to_sign = time + '/v1/payment/orders';
var signature = crypto.createHmac('sha384', credentials.API_SECRET).update(message_to_sign).digest('hex');
var headers = {
'X-MKT-APIKEY': credentials.API_KEY,
'X-MKT-SIGNATURE': signature,
'X-MKT-TIMESTAMP': time
};
request.get({
url: 'https://api.cryptomkt.com/v1/payment/orders?start_date=01/03/2018&end_date=08/03/2018',
headers: headers
}, function (error, response, body) {
...
var json_response = JSON.parse(body);
...
});
$ch = curl_init('https://api.cryptomkt.com/v1/payment/orders?start_date=01/03/2018&end_date=08/03/2018');
$credentials['API_KEY'] = 'FS24FJ7';
$credentials['API_SECRET'] = 'SFT23GSD';
$time = time();
$message_to_sign = $time . '/v1/payment/orders';
$signature = hash_hmac('sha384', $credentials['API_SECRET'], $message_to_sign, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-MKT-APIKEY: $credentials['API_KEY']',
'X-MKT-SIGNATURE: $signature',
'X-MKT-TIMESTAMP: $time'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
import requests
import hashlib
import hmac
import time
API_KEY = 'FS24FJ7'
API_SECRET = 'SFT23GSD'
timestamp = time.time()
body = str(timestamp) + '/v1/payment/orders'
# python 2
hashed = hmac.new(API_SECRET, body, hashlib.sha384)
# python 3
hashed = hmac.new(bytes(API_SECRET, 'utf-8'), bytes(body, 'utf-8'), hashlib.sha384)
payload = {
'start_date': '01/03/2018',
'end_date': '08/03/2018'
}
headers = {
'X-MKT-APIKEY': API_KEY,
'X-MKT-SIGNATURE': hashed.hexdigest(),
'X-MKT-TIMESTAMP': str(timestamp)
}
r = requests.get("https://api.cryptomkt.com/v1/payment/orders", params=payload, headers=headers)
r.json()
La petición retorna un JSON estructurado como este:
{
"status": "success",
"pagination": {
"previous": "null",
"limit": 20,
"page": 0,
"next": "null"
},
"data": [
{
"expected_amount": "2",
"payment_url": "https://www.cryptomkt.com/invoice/P2023132/xToY232aheSt8F?lang=en",
"deposit_memo": "",
"updated_at": "2018-06-15T19:44:08.768199",
"to_receive_currency": "CLP",
"to_receive": "5000",
"server_at": "2018-06-15T19:44:08.778598",
"id": "P2023132",
"refund_email": "[email protected]",
"remaining": 900,
"status": 0,
"error_url": "",
"expected_currency": "ETH",
"deposit_address": "asdfghjklqwertyuio12345678910zxcvbnm",
"qr": "https://www.cryptomkt.com/invoice/P2023132.png",
"language": "en",
"created_at": "2018-06-15T19:44:08.768199",
"token": "xToY232aheSt8F",
"success_url": "",
"callback_url": "",
"external_id": "ABC123",
"obs": ""
},
{...}
]
}
Petición HTTP
GET https://api.cryptomkt.com/v1/payment/orders
Parámetros | Descripción |
---|---|
start_date string requerido |
Fecha de inicio. Formato dd/mm/aaaa |
end_date string requerido |
Fecha de término. Formato dd/mm/aaaa |
page integer |
Página a consultar |
limit integer |
Límite de objetos por página. Por defecto es 20. Mínimo 20, máximo 100 |