API pública

Lista de métodos

Comisión por transacción:
https://api.bitok.com/open_api/<pair>/fee
Tablero de cotizaciones:
https://api.bitok.com/open_api/<pair>/ticker
Transacciones:
https://api.bitok.com/open_api/<pair>/trades
Profundidad:
https://api.bitok.com/open_api/<pair>/depth
Los pares:
https://api.bitok.com/open_api/pairs
Parámetro Sol. Descripción Tipo
<pair> Par de divisas separadas por un guión bajo, p. ej., "btc_usd", "ltc_eur", etc. Cadena

API de transacción

La autenticación se lleva a cabo enviando los siguientes encabezados http:

Clave:
Clave de API, p. ej., b355c2770b0f5710a447e305fc2fa689
Firma:
Datos POST (?param=val&param1=val1), firmados usando el método HMAC-SHA512 con secreto de API como clave

Los datos deben enviarse a https://api.bitok.com.
Se debe enviar también el nonce que actúa como parámetro POST. El nonce debe ser positivo y aumentar con cada solicitud.

El nombre del método se envía como método del parámetro POST. Todos los parámetros del método se envían como datos POST.
Todas las repuestas se generan en formato JSON.

Si la solicitud se completa correctamente, la respuesta tendrá este aspecto:

{
    "success": 1,
    "return": {

    }
}

Respuesta de error:

{
    "success": 0,
    "error": "<Error text>"
} 

Lista de métodos

getInfo

Devuelve información acerca del saldo actual del usuario, privilegios de clave de API, número de transacciones y recuento de órdenes activas.
El método carece de parámetros.

Ejemplo de respuesta:

{
  "success": 1,
  "return": {
    "funds": {
      "usd": 325,
      "btc": 23.998,
      "sc": 121.998,
      "ltc": 0,
      "ruc": 0,
      "nmc": 0
    },
    "funds_on_hold": {
      "usd": 0,
      "btc": 1,
      "sc": 0,
      "ltc": 0.02,
      "ruc": 0,
      "nmc": 0
    },
    "affiliate_amount": {
      "usd": 0.0000123,
      "btc": 0,
      "sc": 0,
      "ltc": 0.0002,
      "ruc": 0,
      "nmc": 0
    },
    "rights": {
      "info": 1,
      "trade": 1
    },
    "transaction_count": 80,
    "open_orders": 1,
    "server_time": 1342123547
  }
}
TransHistory

Devuelve el historial de transacciones

Parámetro Sol. Descripción Tipo Valor predeterminado
from No Contrapartida inicial Entero 0
count No Recuento de transacciones a mostrar Entero 1000
from_id No Id. de transmisión inicial Entero 0
end_id No Id. de transmisión final Entero Inf
order No Criterio de ordenación ASC o DESC DESC
since No Marca de tiempo inicial Tiempo UNIX 0
end No Marca de tiempo final Tiempo UNIX Inf

Si se utilizan los parámetros since o end, el parámetro order se establecerá automáticamente en ASC.

Ejemplo de respuesta:

{
    "success": 1,
    "return":{
        "total": 173,
        "rows": {
            "1081672":{
                "type": "trade",
                "amount": "0.5135923100",
                "currency": "btc",
                "timestamp": 1457960494,
                "direction": "income",
                "status": 2,
                "desc": "BTC payment"
            }
        }
    }
}
TradeHistory

Devuelve el historial de órdenes cerradas

Parámetro Sol. Descripción Tipo Valor predeterminado
from No Contrapartida inicial Entero 0
count No Recuento de transacciones a mostrar Entero 1000
from_id No Id. de transmisión inicial Entero 0
end_id No Id. de transmisión final Entero Inf
order No Criterio de ordenación ASC o DESC DESC
since No Marca de tiempo inicial Tiempo UNIX 0
end No Marca de tiempo final Tiempo UNIX Inf
pair No Par para filtrar órdenes btc_usd (p. ej.) Todos los pares disponibles

Si se utilizan los parámetros since o end, el parámetro order se establecerá automáticamente en ASC.

Ejemplo de respuesta:

{
    "success": 1,
    "return":{
        "166830":{
            "pair": "btc_usd",
            "type": "sell",
            "amount": 1,
            "rate": 1,
            "order_id": 343148,
            "is_your_order": 1,
            "timestamp": 1342445793
        }
    }
}
ActiveOrders

Devuelve todas las órdenes abiertas

Parámetro Sol. Descripción Tipo Valor predeterminado
pair No Par para filtrar órdenes btc_usd (p. ej.) Todos los pares disponibles

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "343152": {
            "pair": "btc_usd",
            "type": "sell",
            "amount": 1.00000000,
            "rate": 3.00000000,
            "timestamp_created": 1342448420,
            "status": 0
        }
    }
}
Trade

Ejecuta la transacción

Parámetro Sol. Descripción Tipo Valor predeterminado
pair Par btc_usd (p. ej.) -
type Tipo de transacción Compra o venta -
rate Tipo de cambio al que se desea comprar/vender Numérico -
amount Cantidad de divisa que se desea comprar/vender Numérico -

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "received": 0.1,
        "remains": 0,
        "order_id": 0,
        "funds": {
            "usd": 325,
            "btc": 2.498,
            "sc": 121.998,
            "ltc": 0,
            "ruc": 0,
            "nmc": 0
        }
    }
}
CancelOrder

Cancela la orden abierta

Parámetro Sol. Descripción Tipo Valor predeterminado
order_id Id. de la orden Entero -

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "order_id": 343154,
        "funds": {
            "usd": 325,
            "btc": 24.998,
            "sc": 121.998,
            "ltc": 0,
            "ruc": 0,
            "nmc": 0
        }
    }
}
WithdrawDepositHistory

Devuelve el historial de transacciones de depósito y retirada

Parámetro Sol. Descripción Tipo Valor predeterminado
from No Contrapartida inicial Entero 0
count No Recuento de transacciones a mostrar Entero 10
currency No Filtra las transacciones por divisas btc (p. ej.) Todas las divisas disponibles

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "40": {
            "tx_id": 40,
            "amount": "2.00",
            "base_amount": "2.00",
            "fee": "0.01",
            "type": "deposit",
            "status": "confirmed",
            "rejected": 0,
            "timestamp": 1394698058,
            "currency": "btc",
            "provider": "coins",
            "extra": {
                "ps_id": "ed6c1c20588be8d29abe25f23b7cda314187cb22bf2bbad4de23192b7e1913b0",
                "confirmations": 3
            }
        },
    }
}
fee

Devuelve la comisión del usuario por par de divisas

Parámetro Sol. Descripción Tipo Valor predeterminado
pair Par btc_usd (p. ej.) -

Ejemplo de respuesta:

{
    "trade": 0.002
}
DepositAddress

Returns coins deposit address

Parameter Req. Description Type Default value
currency Yes crypto currency btc (i.e.) -

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "address": "1G3FtRHSfW5Saiq3pti2qm1dJ1bwFL48RD1"
    }
}
WithdrawCrypt

Withdraw cryptocurrency

Parameter Req. Description Type Default value
amount Yes withdraw amount numeric -
currency Yes crypto currency acronym btc (i.e.) -
crypto_address Yes crypto wallet address string -
invoice Yes unique identification string in your system string -
notify_url No instant payment notification URL https://yourdomain.com/nofify-url (i.e.) -

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "status": "new",
        "id" : 12345678
    }
}

Notification will be sent to your notify_url via HTTP POST after tx processing. Example:

Key Value Description
id 12345678 Bitok.com TX ID
invoice XXXXXXXXX unique identification string in your system
amount 0.123 withdraw amount
currency btc currency acronym
status processed transaction status, can be "paid" or "cancelled"
txid 12345678 blockchain transaction id, only if status="paid"
error Not enough funds error message, only if status="cancelled"
signature 5905...71cc IPN request signature (see IPN verification)
CreateVoucher

Create Bitok.com voucher

Parameter Req. Description Type Default value
amount Yes withdraw amount numeric -
currency Yes currency acronym usd (i.e.) -
invoice Yes unique identification string in your system string -
notify_url No instant payment notification URL https://yourdomain.com/nofify-url (i.e.) -

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "status": "new",
        "id" : 12345678
    }
}

Notification will be sent to your notify_url via HTTP POST after tx processing. Example:

Key Value Description
id 12345678 Bitok.com TX ID
invoice XXXXXXXXX unique identification string in your system
amount 0.123 withdraw amount
currency btc currency acronym
status processed transaction status, can be "paid" or "cancelled"
voucher_code 8v34408a987ax35d voucher code, only if status="paid"
error Not enough funds error message, only if status="cancelled"
signature 5905...71cc IPN request signature (see IPN verification)
RedeemVoucher

Redeem Bitok.com voucher

Parameter Req. Description Type Default value
voucher_code Yes Bitok.com voucher code string -
invoice Yes unique identification string in your system string -
notify_url No instant payment notification URL https://yourdomain.com/nofify-url (i.e.) -

Ejemplo de respuesta:

{
    "success": 1,
    "return": {
        "status": "new",
        "id" : 12345678
    }
}

Notification will be sent to your notify_url via HTTP POST after tx processing. Example:

Key Value Description
id 12345678 Bitok.com TX ID
invoice XXXXXXXXX unique identification string in your system
amount 0.123 withdraw amount
currency btc currency acronym
status processed transaction status, can be "paid" or "cancelled"
error Voucher does not exist error message, only if status="cancelled"
signature 5905abcd...34rd71cc IPN request signature (see IPN verification)
IPN verification:

To verify IPN request you will need to perform the following:

  1. Generate urlencoded HTTP query string from given POST data excluding "signature" field;
  2. Make sha512 HMAC-hash of given query string using API Secret;
  3. Compare given hash string and "signature" string from origin request, both should be identical;

PHP example:

// Your API secret
$apiSecret = 'MY API SECRET';

$request = $_POST;

unset($request['signature']);
$hash = hash_hmac('sha512', http_build_query($request, '', '&'), $apiSecret);

// Strings should be identical
$verified = ($hash === $_POST['signature']);