API de BlockchainBlockchain Wallet
USD
USD
AUD
CAD
CHF
CLP
CNY
DKK
EUR
GBP
HKD
INR
ISK
JPY
KRW
NZD
PLN
RUB
SEK
SGD
THB
TWD

API Blockchain Wallet

API simple para usuarios de Blockchain Wallet para enviar y recibir pagos en bitcoins.

La API Blockchain Wallet proporciona una sencilla interfaz para que los comerciantes puedan interactuar programáticamente con su monedero.

Instalación

Para usar esta API, necesitarás usar un pequeño servicio local que será responsable de gestionar tu Blockchain Wallet. Tu aplicación interactúa con este servicio de forma local a través de llamadas de HTTP API. Haz clic aquí para completar las instrucciones de configuración de GitHub.

Crear Wallet API

Crear monederos de Blockchain programáticamente

El método create_wallet se puede usar para crear un monedero de bitcoins de blockchain.info.
URL:http://localhost:3000/api/v2/create
Método:POST o GET
  • $password - Contraseña de la nueva billetera. Tiene que tener al menos 10 caracteres.
  • $api_code - Un código API con permiso para crear billeteras.
  • $priv - Una clave privada para añadirla a la billetera (formato de importación de Wallet preferido) (Opcional)
  • $label - Una etiqueta para colocarla en la primera dirección en la billetera. Solo alfanumérica. (Opcional)
  • $email - Un correo electrónico para asociarlo con la nueva billetera, es decir, la dirección de correo electrónico del usuario a nombre del que se está creando esta billetera. (Opcional)
Por favor, crea un código API aquí incluyendo los permisos para "Crear Wallets".
Respuesta:200 OK, application/json
{
  "guid": "4b8cd8e9-9480-44cc-b7f2-527e98ee3287",
  "address": "12AaMuRnzw6vW6s2KPRAGeX53meTf8JbZS",
  "label": "Main address"
}

Hacer pagos de gastos

Enviar bitcoins desde tu billetera a otra dirección de bitcoin. Todas las transacciones incluyen una tasa de minador de 0,0001 BTC.
Todos los valores de bitcoin se indican en Satoshi, es decir, se dividen por 100000000 para conseguir la suma en BTC. La URL base para todas las solicitudes: https://blockchain.info/merchant/$guid/. $guid se debe sustituir con su identificador de Blockchain Wallet, que se encuentra en la página de inicio de sesión.
http://localhost:3000/merchant/$guid/payment?password=$main_password&second_password=$second_password&to=$address&amount=$amount&from=$from&fee=$fee
  • $main_password - Tu contraseña principal de Blockchain Wallet
  • $second_password - Tu segunda contraseña Blockchain Wallet si la doble encriptación está habilitada.
  • $to - Dirección de Bitcoin de destino.
  • $amount - Cantidad que debe ser enviada en satoshi.
  • $from - Enviar desde una dirección de Bitcoin específica (opcional)
  • $fee - Valor de la tasa de transacción en satoshi (deber ser mayor que la tasa por defecto) (opcional)
Respuesta:200 OK, application/json
{
  "message": "Response Message",
  "tx_hash": "Transaction Hash",
  "notice": "Additional Message"
}
{
  "message": "Sent 0.1 BTC to 1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq",
  "tx_hash": "f322d01ad784e5deeb25464a5781c3b20971c1863679ca506e702e3e33c18e9c",
  "notice": "Some funds are pending confirmation and cannot be spent yet (Value 0.001 BTC)"
}

Enviar varias transacciones

Enviar una transacción a varios destinatarios en la misma transacción.
http://localhost:3000/merchant/$guid/sendmany?password=$main_password&second_password=$second_password&recipients=$recipients&fee=$fee
  • $main_password - Tu contraseña principal de Blockchain Wallet
  • $second_password - Tu segunda contraseña Blockchain Wallet si la doble encriptación está habilitada.
  • $recipients - Si es un objeto JSON utilizando direcciones de Bitcoins como claves y las sumas que se van a enviar como valores (ver abajo).
  • $from - Enviar desde una dirección de Bitcoin específica (opcional)
  • $fee - Valor de la tasa de transacción en satoshi (deber ser mayor que la tasa por defecto) (opcional)
Respuesta:200 OK, application/json
{
  "1JzSZFs2DQke2B3S4pBxaNaMzzVZaG4Cqh": 100000000,
  "12Cf6nCcRtKERh9cQm3Z29c9MWvQuFSxvT": 1500000000,
  "1dice6YgEVBf88erBFra9BHf6ZMoyvG88": 200000000
}
El caso anterior enviaría 1 BTC a 1JzSZFs2DQke2B3S4pBxaNaMzzVZaG4Cqh, 15 BTC a 12Cf6nCcRtKERh9cQm3Z29c9MWvQuFSxvT y 2 BTC a 1dice6YgEVBf88erBFra9BHf6ZMoyvG88 en la misma transacción.
Respuesta:200 OK, application/json
{
  "message": "Response Message",
  "tx_hash": "Transaction Hash"
}
{
  "message": "Sent To Multiple Recipients",
  "tx_hash": "f322d01ad784e5deeb25464a5781c3b20971c1863679ca506e702e3e33c18e9c"
}

Ejemplo PHP

<?

$guid="GUID_HERE";
$firstpassword="PASSWORD_HERE";
$secondpassword="PASSWORD_HERE";
$amounta = "10000000";
$amountb = "400000";
$addressa = "1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq";
$addressb = "1ExD2je6UNxL5oSu6iPUhn9Ta7UrN8bjBy";
$recipients = urlencode('{
"'.$addressa.'": '.$amounta.',
"'.$addressb.'": '.$amountb.'
}');

$json_url = "http://localhost:3000/merchant/$guid/sendmany?password=$firstpassword&second_password=$secondpassword&recipients=$recipients";

$json_data = file_get_contents($json_url);

$json_feed = json_decode($json_data);

$message = $json_feed->message;
$txid = $json_feed->tx_hash;
?>

Buscando el saldo de la billetera

Buscar el balance de la billetera. Esto se debe usar como una estimación únicamente e incluirá las transacciones sin confirmar y posibles dobles gastos.
http://localhost:3000/merchant/$guid/balance?password=$main_password
Respuesta:200 OK, application/json
{
  "balance": "Wallet Balance in Satoshi"
}
{
  "balance": 1000
}

Direcciones de listado

Listar todas las direcciones activas en una billetera. También se incluye un saldo de confirmación 0 que se debería usar como una estimación solo y que incluirá las transacciones sin confirmar y los posibles dobles gastos.
http://localhost:3000/merchant/$guid/list?password=$main_password
Respuesta:200 OK, application/json
{
  "addresses": [
    {
      "balance": 1400938800,
      "address": "1Q1AtvCyKhtveGm3187mgNRh5YcukUWjQC",
      "label": "SMS Deposits",
      "total_received": 5954572400
    },
    {
      "balance": 79434360,
      "address": "1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq",
      "label": "My Wallet",
      "total_received": 453300048335
    },
    {
      "balance": 0,
      "address": "17p49XUC2fw4Fn53WjZqYAm4APKqhNPEkY",
      "total_received": 0
    }
  ]
}

Conseguir el saldo de una dirección

Recuperar el saldo de una cuenta de bitcoin. Solicitar el saldo de una dirección por etiqueta que está depreciada.
http://localhost:3000/merchant/$guid/address_balance?password=$main_password&address=$address
  • $main_password - Tu contraseña principal de Blockchain Wallet
  • $address - Dirección de bitcoin a buscar
Respuesta:200 OK, application/json
{
  "balance": "Balance in Satoshi",
  "address": "Bitcoin Address",
  "total_received": "Total Satoshi Received"
}
{
  "balance": 50000000,
  "address": "19r7jAbPDtfTKQ9VJpvDzFFxCjUJFKesVZ",
  "total_received": 100000000
}

Generando una nueva dirección

http://localhost:3000/merchant/$guid/new_address?password=$main_password&second_password=$second_password&label=$label
  • $main_password - Tu contraseña principal de Blockchain Wallet
  • $second_password - Tu segunda contraseña Blockchain Wallet si la doble encriptación está habilitada.
  • $label - Una etiqueta opcional para añadirla a esta dirección. Se recomienda que sea una cadena legible por el ser humano, por ejemplo, "N.° de pedido: 1234". Puedes usarla como referencia para comprobar el saldo de un pedido (documentado posteriormente)
Respuesta:200 OK, application/json
{
  "address": "The Bitcoin Address Generated",
  "label": "The Address Label"
}
{
  "address": "18fyqiZzndTxdVo7g9ouRogB4uFj86JJiy",
  "label": "Order No : 1234"
}

Gestión de direcciones

Archivando una dirección

Para mejorar el rendimiento de la billetera, las direcciones que no se han usado recientemente deberán moverse a un estado archivado. Todavía estarán en la billetera, pero ya no estarán incluidas en las llamadas de "lista" o "transacciones de lista".
Por ejemplo, si se genera una factura para un usuario, cuando esté pagada dicha factura, se debería archivar la dirección.
O si solo se ha generado una dirección de bitcoin para cada usuario, si los usuarios no han iniciado sesión recientemente (aprox. 30 días) se deberían archivar sus direcciones.
http://localhost:3000/merchant/$guid/archive_address?password=$main_password&second_password=$second_password&address=$address
Respuesta:200 OK, application/json
{
  "archived": "18fyqiZzndTxdVo7g9ouRogB4uFj86JJiy"
}

Desarchivar una dirección

Desarchivar una dirección. También podemos restaular las direcciones consolidadas (ver abajo).
http://localhost:3000/merchant/$guid/unarchive_address?password=$main_password&second_password=$second_password&address=$address
  • $main_password - Tu contraseña principal de Blockchain Wallet
  • $label - Se debe desarchivar la dirección de bitcoin
Respuesta:200 OK, application/json
{
  "active": "18fyqiZzndTxdVo7g9ouRogB4uFj86JJiy"
}

Ya lo has pensado, es hora de actuar.

Crear un Wallet. Registrarse en Exchange. Comprar Bitcoin en minutos.