CRYPTONAV Navbar
cURL Javascript NodeJS PHP Python
  • Introducción
  • Autenticación
  • Interactuando con la API
  • Errores
  • Rate limit
  • Registro de cambios
  • Clientes de API
  • Endpoints públicos
  • Endpoints autenticados
  • Cryptocompra
  • 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:

    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

    Realizando peticiones

    Según los patrones de diseño RESTful, la API CryptoMarket implementa los siguientes verbos HTTP:

    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.

    Clientes de API

    PHP

    Repositorio Creador
    cryptomkt-api-client-php CriptoPagos

    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

    Endpoints autenticados

    Ó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_SECRET']',
        '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/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_SECRET']',
        '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_SECRET']',
        'X-MKT-SIGNATURE: $signature',
        'X-MKT-TIMESTAMP: $time'
      ));
    curl_setopt($ch, CURLOPT_POST, 1);
    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/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_SECRET']',
        '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/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_SECRET']',
        'X-MKT-SIGNATURE: $signature',
        'X-MKT-TIMESTAMP: $time'
      ));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($order));
    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/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_SECRET']',
        '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/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_SECRET']',
        'X-MKT-SIGNATURE: $signature',
        'X-MKT-TIMESTAMP: $time'
      ));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($order));
    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()
    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.

    Balance

    Un balance corresponde al estado de tus billeteras de criptomonedas y locales. Este estado contiene el saldo disponible, saldo contable y billetera correspondiente.

    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_SECRET']',
        '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/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

    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 integer ID interno de la orden de pago
    external_id string ID externo
    status string 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
    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
    created_at string Fecha de creación de la orden de pago
    updated_at string Fecha de actualización de la orden de pago

    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": "r[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';
    
    $order = array(
      'amount' => '0.01', 
      'market' => 'ETHCLP',
      'price' => '200000',
      'type' => 'sell'
    );
    
    $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_SECRET']',
        'X-MKT-SIGNATURE: $signature',
        'X-MKT-TIMESTAMP: $time'
      ));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($payment));
    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()
    
    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 retorno un JSON estructurado como este:

    {
       "status": "success",
       "data": {
          "status": 0,
          "expected_currency": "ETH",
          "expected_amount": "0.01566579634464751958224543081",
          "payment_url": "https://www.cryptomkt.com/invoice/P13674/hDxeBGs6eyUR",
          "external_id": "ABCDEB123123123123",
          "created_at": "2017-10-03T18:39:23.472767",
          "updated_at": "2017-10-03T18:39:23.472767",
          "error_url": "",
          "to_receive_currency": "CLP",
          "qr": "https://www.cryptomkt.com/invoice/P13434.png",
          "success_url": "",
          "to_receive": "3000",
          "refund_email": "",
          "obs": "",
          "callback_url": "",
          "deposit_address": "0xe27e458588dsdfb80da4b086ff85950e1dcc28e1e",
          "id": "P13674"
       }
    }
    

    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. . 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

    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_SECRET']',
        '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/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": {
          "status": -1,
          "expected_currency": "ETH",
          "expected_amount": "0.01594896331738437",
          "payment_url": "https://www.cryptomkt.com/invoice/P13433/Vdj9324UDU7o",
          "external_id": "ABCDEB123123123123",
          "created_at": "2017-10-03T16:30:04.684995",
          "updated_at": "2017-10-03T16:30:04.684995",
          "error_url": "",
          "to_receive_currency": "CLP",
          "qr": "https://www.cryptomkt.com/invoice/P13653.png",
          "success_url": "",
          "to_receive": "3000",
          "obs": "",
          "refund_email": "",
          "callback_url": "",
          "deposit_address": "0x35872463f0b81a2ef82e073e159623dbba812fec",
          "id": "P13653"
       }
    }
    

    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_SECRET']',
        '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/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": [
           {
            "status": -1,
            "expected_currency": "ETH",
            "expected_amount": "0.01594896331738437",
            "payment_url": "https://www.cryptomkt.com/invoice/P13433/Vdj9324UDU7o",
            "external_id": "ABCDEB123123123123",
            "created_at": "2017-10-03T16:30:04.684995",
            "updated_at": "2017-10-03T16:30:04.684995",
            "error_url": "",
            "to_receive_currency": "CLP",
            "qr": "https://www.cryptomkt.com/invoice/P13653.png",
            "success_url": "",
            "to_receive": "3000",
            "obs": "",
            "refund_email": "",
            "callback_url": "",
            "deposit_address": "0x35872463f0b81a2ef82e073e159623dbba812fec",
            "id": "P13653"
            },
            {...}
        ]
    }
    

    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