Métodos API públicos

Hay seis métodos públicos que aceptan solicitudes HTTP GET y devuelven la respuesta en formato JSON:

ReturnTicker

El método devuelve tickers para todos/específicos mercados; ejemplos de solicitudes y respuestas:

Ejemplo 1. Devolución de todos los tickers.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

Respuesta:

{
  Tickers: [{
    BaseVolume: "0.00000000",
    HighPrice: "0.09611615",
    Last: "0.05125186",
    LowPrice: "0.04456261",
    ...
  },  {
    BaseVolume: "0.00000000",
    HighPrice: "0.02062280",
    Last: "0.01025148",
    LowPrice: "0.00972667",
    ...
  },  {
    BaseVolume: "0.00000000",
    HighPrice: "0.00105385",
    Last: "0.00050066",
    LowPrice: "0.00040122",
    ...
  },  ...]
}

Ejemplo 2. Devolución de tickers BTC_LTC y BTC_DOGE.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_LTC,BTC_DOGE]

Respuesta:

{
  Tickers:  [{
    BaseVolume: "0.00000000",
    HighPrice: "0.02062280",
    Last: "0.01023842",
    LowPrice: "0.00972667",
    ...
  },  {
    BaseVolume: "0.47617000",
    HighPrice: "0.00000080",
    Last: "0.00000041",
    LowPrice: "0.00000035",
    ...
  }]
}


Return24Volume

El método devuelve el volumen de trading durante 24 horas para todos/específicos mercados:

Ejemplo. Devolución del volumen para BTC_DOGE.

Solicitud:https://api.crex24.com/CryptoExchangeService/BotPublic/Return24Volume?request=[NamePairs=BTC_DOGE]

Respuesta:

{
  Volume: {
    VolumesByOne: [{
      Name: "BTC",
      Volume: 0.23673
    }, {
      Name: "DOGE",
      Volume: 577000
    }],
    VolumesByTwo: [{
      First: {
        Name: "BTC",
        Volume: 0.23673
      },
      Name: "BTC_DOGE",
      Second: {
        Name: "DOGE",
        Volume: 577000
      }
    }]
  }
}


ReturnOrderBook

El método devuelve la pila de órdenes para un mercado específico

Ejemplo. Devolución de la pila de órdenes para BTC_DOGE.

Solicitud:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnOrderBook?request=[PairName=BTC_DOGE]

Respuesta:

{
  BuyOrders: [{
    AccumulateMoneyCount: "36826.27800846",
    AccumulateMoneyVolume: "0.01509877",
    CoinCount: "36826.27800846",
    ...
  },  {
    AccumulateMoneyCount: "67304.76798074",
    AccumulateMoneyVolume: "0.02729017",
    CoinCount: "30478.48997228",
    ...
  },  {
    AccumulateMoneyCount: "75084.76074510",
    AccumulateMoneyVolume: "0.03032437",
    CoinCount: "7779.99276436",
    ...
  },  {
    AccumulateMoneyCount: "75433.94286209",
    AccumulateMoneyVolume: "0.03045706",
    CoinCount: "349.18211699",
    ...
  }],
  SellOrders: [{
    AccumulateMoneyCount: "10642.66536957",
    AccumulateMoneyVolume: "0.00446992",
    CoinCount: "10642.66536957",
    ...
  },  {
    AccumulateMoneyCount: "31738.44031685",
    AccumulateMoneyVolume: "0.01354110",
    CoinCount: "21095.77494728",
    ...
  }, {
    AccumulateMoneyCount: "41156.60557210",
    AccumulateMoneyVolume: "0.01768510",
    CoinCount: "9418.16525525",
    ...
  }, {
    AccumulateMoneyCount: "50937.97566773",
    AccumulateMoneyVolume: "0.02208671",
    CoinCount: "9781.37009563",
    ...
  }]
}


ReturnTradeHistoryPub

El método devuelve las últimas 1.000 (o menos si el parámetro de la Count es específico) transacciones o transacciones durante el tiempo especificado por los parámetros StartTS y EndTS en el formato UNIX timestamp.

Ejemplo. Devolución del historial de transacciones para BTC_DOGE.

Solicitud:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTradeHistoryPub?request=[PairName=BTC_DOGE]

Respuesta:

{
  Trades: [{
    CoinCount: "716.23394813",
    CoinPrice: "0.00000037",
    Commission: "0.00000027",
    DtCreateTS: 1502771794,
    ...
  }, {
    CoinCount: "283.76605187",
    CoinPrice: "0.00000037",
    Commission: "0.00000010",
    DtCreateTS: 1502771794,
    ...
  }]
}


ReturnChartData

El método devuelve datos en formato gráfico de velas o 'candlestick' para un mercado específico. El tiempo 'candlestick' en minutos puede ser establecido por el parámetro CandleTimeInMinutes, el principio y el final del intervalo puede ser establecido por los parámetros StartTS y EndTS en el formato UNIX timestamp.

Ejemplo. El método devuelve los cinco minutos 'candlestick' para BTC_DOGE antes del 16 de agosto de 2017.

Solicitud:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnChartData?request=\ [PairName=BTC_DOGE][CandleTimeInMinutes=5][StartTS=1][EndTS=1502876344]

Respuesta:

{
  Candles:  [{
    EndOrderPrice: "0.00000099",
    MaxOrderPrice: "0.00000100",
    MinOrderPrice: "0.00000098",
    OrderCount: 4,
    ...
  },  {
    EndOrderPrice: "0.00000100",
    MaxOrderPrice: "0.00000101",
    MinOrderPrice: "0.00000099",
    OrderCount: 2,
    ...
  },  {
    EndOrderPrice: "0.00000102",
    MaxOrderPrice: "0.00000103",
    MinOrderPrice: "0.00000100",
    OrderCount: 4 ,
    ...
  },  ...]
}


ReturnCurrencies

El método devuelve información sobre todas/específicas monedas.

Ejemplo. Información sobre la moneda DOGE

Solicitud:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnCurrencies?request=[Names=DOGE]

Respuesta:

{
  Currencies: [{
    Delisted: false,
    Disabled: false,
    Frozen: false,
    MinConf: 6,
    Name: "Dogecoin",
    ...
  }]
}

Métodos de trading API

URL para la API de trading: https://api.crex24.com/CryptoExchangeService/BotTrade/<MethodName>

Es necesario crear la clave API para usar la API de trading(https://crex24.com/settings/tokens).

Tenga en cuenta que el límite predeterminado es de 6 solicitudes por segundo. Si no es suficiente, por favor póngase en contacto con el Servicio de atención al cliente para aumentar dicho límite.

Todas las solicitudes de trading de la API son enviadas a la dirección HTTP por el método POST y deben contener los siguientes encabezados:
  • UserKey — API key.
  • Firma — firma del cuerpo de solicitud del POST creado con una clave secreta a través de HMACSHA512.

Todas las solicitudes deben contener el parámetro POST Nonce. Nonce es unsigned int64 que debe ser siempre mayor que el valor anterior. Puede usar el parámetro timestamp para estos objetivos.

Una respuesta es enviada en el JSON. Si ocurre un error, la respuesta será en el siguiente formato:

{"Error" : {"Message" : "<error message>"}}

Ejemplos de peticiones enviadas a la API de trading en varios lenguajes de programación:

Readme: https://github.com/iiw/Crex24.Examples

Python: https://github.com/iiw/Crex24.Examples/blob/master/python/app.py

C#: https://github.com/3P3C/Crex24.Example/blob/master/Crex24Example/Program.cs

JS: https://github.com/iiw/Crex24.Examples/tree/master/js

PHP: https://github.com/iiw/Crex24.Examples/blob/master/php/app.php

ReturnBalances

Obtener saldos disponibles.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnBalances

Cuerpo de la solicitud:

{
    "Names" : ["BTC", "LTC"],    # Listado de monedas. Si ausente, entonces recuperar datos para todas las monedas.
    "NeedNull" : "true"          # Incluir saldos cero a la lista.
}

Respuesta:

{
  "Balances": [
    {
      "AvailableBalances": 10.00000000,
      "InOrderBalances": 10.00000000,
      "Name": "BTC"
    },
    {
      "AvailableBalances": 0.00000000,
      "InOrderBalances": 0.00000000,
      "Name": "LTC"
    }
  ]
}

ReturnOpenOrders

Obtener órdenes abiertas.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOpenOrders

Cuerpo de la solicitud:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # Listado de pares de trading. Si ausente, entonces recuperar datos para todos los pares de trading.
}

Respuesta:

{
  "Orders": [
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01135442,
      "Id": 71463796,
      "IsCloseRequired": false,
      "IsSell": true,
      "PairName": "BTC_LTC"
    },
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.06835904,
      "Id": 71463169,
      "IsCloseRequired": false,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    ...
  ]
}

ReturnTradeHistory

Obtener historial de trading.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnTradeHistory

Cuerpo de la solicitud:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # Listado de pares de trading. Si ausente, entonces recuperar datos para todos los pares de trading.
}

Respuesta:

{
  "Trades": [
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.06835904,
      "Commission": 0.00000166,
      "DtCreateTS": 1506517638,
      "Id": 185197,
      "IsMaker": true,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01135442,
      "Commission": 0.00000166,
      "DtCreateTS": 1506085177,
      "Id": 185169,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    },
    ...
  ]
}

ReturnOrderTrades

Obtener todas las transacciones de trading por orden.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderTrades

Cuerpo de la solicitud:

{
  "OrderId": 51893150
}

Respuesta:

{
  "Trades": [
    {
      "CoinCount": 10.00000000,
      "CoinPrice":  0.06835904,
      "Commission": 0.00000166,
      "DtCreateTS": 1506517638,
      "Id": 185197,
      "IsMaker": true,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    ...
  ]
}

Buy

Realizar orden para comprar:

Ejemplo. Realizar orden para comprar 10 LTC por BTC a un precio de 0.01194538:

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/Buy

Cuerpo de la solicitud:

{
  "Pair": "BTC_LTC",
  "Course": 0.01194538,
  "Volume": 10.0
}

Respuesta:

{
  "Id": 51893288
}

Sell

Realizar orden para vender.

Ejemplo. Realizar orden para vender 10 LTC por BTC a un precio de 0.01194538:

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/Sell

Cuerpo de la solicitud:

{
  "Pair": "BTC_LTC",
  "Course": 0.01194538,
  "Volume": 10.0
}

Respuesta:

{
  "Id": 51893294
}

CancelOrder

Cancelar orden.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrder

Cuerpo de la solicitud:

{
  "OrderId": 51893294
}

Respuesta:

{
  "Success": true
}

CancelOrderMulti

Cancelar varias órdenes por lista de IDs o pares de trading.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrderMulti

Ejemplo 1. Cancelar órdenes por lista de IDs:

Cuerpo de la solicitud:

{
  "OrderIds": [51893293, 51893292]
}

Ejemplo 2. Cancelar todas las órdenes por los pares de trading:

Cuerpo de la solicitud:

{
  "PairNames": ["BTC_ETH", "BTC_LTC"]
}

Respuesta:

{
  "Success": true
}

ReturnOrderStatus

Obtener información y todas las operaciones de trading por orden.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderStatus

Cuerpo de la solicitud:

{
  "OrderId": 51893312
}

Respuesta:

{
  "CurrentOrder": {               # Estado de la orden actual.
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # Estado de la orden inicial
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # Listado de operaciones de trading por orden.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

Obtener el historial de depósitos y retiradas Las transacciones se mostrarán página a página, comenzando por la más reciente. Para ver la página siguiente, complete el campo FromId con la ID más baja del registro de la respuesta anterior.

Ejemplo. Obtener últimos 100 registros:

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositsWithdrawals

Cuerpo de la solicitud:

{
  "Names": ["BTC", "LTC"],       # Listado de monedas. Si ausente, entonces recuperar datos para todas las monedas.
  "FromId": 0,                   # 0 o el ID más bajo del registro de la respuesta anterior.
  "Take": 100                    # Número de registros a devolver. El número máximo de registros es 1.000.
}

Respuesta:

{
  "CountRemain": 1000,                          # Número de registros restantes. Si 0, entonces es la última página.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # Dirección de pago.
      "AgentName": null,                        # Nombre del Sistema de pagos para monedas fíat
      "CurrenceName": "BTC",
      "Id": 151,                                # ID del Registro.
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # Estado del pago. Ver abajo.
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # Creación de registro de hora en formato UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # ID de la Transacción
      "Type": 2                                 # Tipo de registro. Ver abajo.
    },
    ...
  ],
}

Valores posibles para el campo "Status":
  1. - Confirmado por el usuario
  2. - Transacción creada
  3. - Primera confirmación
  4. - Procesada con éxito
  5. - Transacción rechazada
  6. - Procesando
  7. - Cancelado por el usuario
  8. - Esperando para enviar
Valores posibles para el campo "Type":
  1. - Depósito de criptomonedas
  2. - Retirada de criptomoneda
  3. - Depósito de moneda fíat
  4. - Retirada de moneda fíat

Withdraw

Crear una solicitud de retirada.

Ejemplo.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/Withdraw

Cuerpo de la solicitud:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # Mensaje para las transacciones (se enviará si la moneda lo admite).
}

Respuesta:

{
  "NewBalance": 9.00000000,                         # Nuevo saldo
  "OutId": 613                                      # Id de solicitud para retirar. Si no es 0, la solicitud se ha creado correctamente.
}

ReturnDepositAddress

Obtener dirección para depositar moneda. Si es necesario indicar un mensaje para el depósito, será una respuesta.

Solicitud: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositAddress

Ejemplo 1. Obtener dirección para depositar BTC:

Cuerpo de la solicitud:

{
  "Currency": "BTC"
}

Respuesta:

{
  "Address": "1JH6h3qDbAMEzAD8e7usWEqePddHzpSTgK",
  "Message": null 
}

Ejemplo 2. Obtener dirección para depositar XMR:

Cuerpo de la solicitud:

{
  "Currency": "XMR"
}

Respuesta:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # Un mensaje que debe ser mostrado al depositar.
}