Introdução
API URL
https://api.redecoin.com/v1/
https://api.redecoin.com/v1/
Redecoin fornece API REST simples e completa para intregração com seu e-commerce.
Todos a comunicação acontece com documentos json.
Realize seu cadastro em www.redecoin.com, cadastre sua empresa e use o token de integração fornecido para o serviço de transação.
Transação
Criar transação
Para realizar uma transação use:
transacao/criar
curl http://api.redecoin.com/v1/transacao/criar \
-X GET \
-d '{
"token": "9979b355-67b4-4a5f-8367-4ced0f94b93e",
"amount": 100.00,
"iso4217": "BRL",
"email_client": "[email protected]",
"refer_id": "15238"
}'
$params = array();
$params["token"] = "9979b355-67b4-4a5f-8367-4ced0f94b93e";
$params["amount"] = 100.00;
$params["iso4217"] = "BRL";
$params["email_client"] = "[email protected]";
$params["refer_id"] = "ID de referência";
$order_redecoin = file_get_contents("https://api.redecoin.com/v1/transacao/criar/?" . implode('&',
array_map(
function ($v, $k) { return sprintf("%s=%s", $k, urlencode($v)); },
$params,
array_keys($params)
)
)
);
if ($order_redecoin = json_decode($order_redecoin, true)) {
$order_redecoin["resp"]["valBtc"] = number_format($order_redecoin["resp"]["valBtc"], 8);
var_export($order_redecoin);
// return $order_redecoin
/*
array (
'status' => 100,
'resp' =>
array (
'valBtc' => '0.00741401',
'address' => '1B7LjPva2Vr3fvYx5at3fkUdGz74ZWuwZy',
'token' => '1f7f24be-431b-4db1-9615-27d447b573c0',
'qrcode' => 'https://s3-sa-east-1.amazonaws.com/redecoin/address/1B7LjPva2Vr3fvYx5at3fkUdGz74ZWuwZy.png',
),
)
*/
}
Response
'{
"status":"1","resp":
{
"valBtc":0.0077226,
"address":"1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q",
"token":"eb15921f-450d-4eb5-916d-1e01c0b17388",
"qrcode":"http://api.redecoin.com/address/1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q.png"
}
}'
Use o endpoint abaixo para uma nova transação:
transacao/criar
Paramêtros necessários para construir a transação.
Campo | Tipo | Descrição |
---|---|---|
token | String | Token da empresa gerado no cadastro. |
amount | Number | Valor da transação em moeda fiat. |
iso4217 | String | Sigla padrão da moeda fiat aplicada na transação. Disponível apenas BRL. |
email_client | String | E-mail do cliente que está realizando a compra. |
refer_id | String | Identificador do pedido que será enviado no momento do postback (opcional), ver mais. |
token_amount | String | (opcional) Token utilizado para garantir o valor consultado anteriormente no serviço de Valor antecipado da transação. |
Parâmetros recebidos da resposta da transação
Campo | Tipo | Descrição |
---|---|---|
status | Number | Status da contrução da transação. detalhes. |
valBtc | Number | Valor da transação em bitcoin. |
address | String | Address de pagamento. |
token | String | Token identificador da transação. |
qrcode | String | Link da imagem com o QR code contendo o address de pagamento e valor a ser pago em bitcoin. |
Status da construção da transação
Valor | Descrição |
---|---|
100 | Sucesso. |
110 | Sucesso, token de valor antecipado expirado valor reajustado. |
120 | Sucesso, token de valor antecipado inválido. |
310 | Token não informado. |
320 | Token de empresa inválido. |
410 | E-mail de cliente não informado. |
510 | Venda temporariamente desabilitada. |
600 | Erro ao criar transação. |
Valor antecipado da transação
Para consultar o valor antecipado da transação use:
amount
curl http://api.redecoin.com/v1/amount \
-X GET \
-d '{
"token": "9979b355-67b4-4a5f-8367-4ced0f94b93e",
"val_brl": 100.00
}'
$params = array();
$params["token"] = "9979b355-67b4-4a5f-8367-4ced0f94b93e";
$params["val_brl"] = 100.00;
$amount = file_get_contents("https://api.redecoin.com/v1/amount/?" . implode('&',
array_map(
function ($v, $k) { return sprintf("%s=%s", $k, urlencode($v)); },
$params,
array_keys($params)
)
)
);
if ($amount = json_decode($amount, true)) {
$amount["resp"]["val_btc"] = number_format($amount["resp"]["val_btc"], 8);
var_export($amount);
}
Response
'{
"status":"1","resp":
{
"cotacao":16110.12,
"val_btc":0.00623831,
"token":"8bf3148c-cc98-42c0-97eb-71e6ee6b245e"
}
}'
Use o endpoint abaixo:
amount
Fornece uma maneira para informar o valor do pedido em andamento no seu e-commerce em bitcoin de forma antecipada, antes de finalizar o pedido e criar uma transação.
Campo | Tipo | Descrição |
---|---|---|
token | string | Token da empresa. |
val_brl | float | Valor em Reais do qual será retornado o valor equivalente em bitcoin. |
Parâmetros recebidos da resposta da transação
Campo | Tipo | Descrição |
---|---|---|
status | Number | Status da requisição. (1: Sucesso - 101: Token da empresa inválido - 2 Erro ao consultar valor em bitcoin ) |
val_btc | Number | Valor em bitcoin equivalente ao val_brl enviado na requisição. |
token | String | Token identificador dessa consulta. Envie esse token no momento de criar a transação para garantir que o valor informado nessa consulta seja mantido. |
Consultar transações
Para consultar as transações de uma determinada empresa use:
transacao/listar
curl http://api.redecoin.com/v1/transacao/listar \
-X GET \
-d '{
"secret_key": "ba5ff3394df7742b2b9r62d5a2f52C95d349ab3cd3293e8a88fdc159f7a5764c",
"pagina": 1,
"limite": 50,
"token": "e8c56f43-9824-423a-98df-435c662bac55"
}'
$params = array();
$params["secret_key"] = "ba5ff3394df7742b2b9r62d5a2f52C95d349ab3cd3293e8a88fdc159f7a5764c";
$params["pagina"] = 1;
$params["limite"] = 50;
$params["token"] = "9979b355-67b4-4a5f-8367-4ced0f94b93e";
$amount = file_get_contents("https://api.redecoin.com/v1/transacao/listar/?" . implode('&',
array_map(
function ($v, $k) { return sprintf("%s=%s", $k, urlencode($v)); },
$params,
array_keys($params)
)
)
);
if ($amount = json_decode($amount, true)) {
var_export($amount);
}
Response
'{
"status":"1","resp":
[
{
"empresa_id":11,
"empresa_nome":"Empresa teste",
"val_cotacao_ft":16.500,
"val_ft":8.85,
"val_cc":0.00110051,
"val_liquido_ft":8.66,
"val_liquido_cc":0.0010763,
"converter_cc_auto":"s",
"postback":"http://sitedaempresa.com.br?orderId=100000001",
"refer_id":"15238",
"moeda_ft":"brl",
"moeda_cc":"BTC",
"status_transacao":"cancelado",
"data_pgto":"2017-08-21T21:33:36.000Z",
"tx_in":2.00510001,
"token":"39528f85-c40b-4cbd-8057-e6151996b88d",
"public_key":"1KTewWCQ5FKT3Y4ooryvzY9b2e4pzq6483",
"data_cadastro":"2017-07-26T18:55:04.000Z"
}
]
}'
Para consultar uma transação use o endpoint transacao/listar
.
Paramêtros para listar a transação:
Campo | Tipo | Descrição |
---|---|---|
*secret_key | string | Chave secreta de segurança da empresa. |
token | string | (opcional) Token da transação. Consulte uma transação específica informando o token da mesma, caso contrário, lista todos as transações dessa empresa. |
pagina | integer | Página que será listada. |
limite | integer | Limite de registros por página. |
Caso não seja informado pagina e limite será retornado a primeira página contendo os 30 primeiros registros.
Campo | Tipo | Descrição |
---|---|---|
empresa_id | integer | Código de identificação da empresa |
empresa_nome | string | Nome da empresa |
val_cotacao_ft | float | Valor da cotação usado no momento da venda |
val_ft | float | Valor bruto da transação em moeda corrente |
val_cc | float | Valor bruto da transação em criptomoeda |
val_liquido_ft | float | Valor liquido da transação em moeda corrente |
val_liquido_cc | float | Valor liquido da transação em criptomoeda |
converter_cc_auto | string | Transação marcada para ser convertida (s: sim |
postback | string | URL para receber a notificação |
refer_id | string | Valor enviado na criação transação. |
moeda_ft | string | Moeda fiat da transação (Padrão BRL) |
moeda_cc | string | Criptomoeda da transação (Padrão BTC) |
status_transacao | string | Status da transação, detalhes |
data_pgto | string | Data do pagamento, formato datetime |
tx_in | float | Valor enviado pelo cliente |
token | string | Token da transação |
data_cadastro | Data do cadastro, formato datetime |
Notificação
Quando uma transação tiver seu status alterado uma notificação será feita para a url informada pelo cliente.
A notificação será via POST com os seguintes dados:
Campo | Tipo | Descrição |
---|---|---|
secret_key | String | Chave secreta de segurança da empresa. |
refer_id | String | Valor enviado na criação transação. |
token | String | Token único que identifica o pedido na Redecoin. |
val_btc | String | Valor da transação em bitcoin. |
val_brl | String | Valor da transação em reais. |
status_transacao | String | Status do pedido. |
Dica importante: Sempre teste se a secret_key recebida é a gerada para sua empresa, isso garante que quem está enviando o POST é a Redecoin.
status da transação
O status_transacao do pedido pode ser:
Valor | Descrição |
---|---|
“registrado” | Pedido registrado e aguardando pagamento, status inicial. |
“recebendo_pagamento” | Pagamento enviado, mas aguardando as confirmações da rede. |
“aprovado” | Pagamento recebido. |
“negado” | Pagamento recebido, mas fora do tempo permitido. O Cliente automaticamente receberá e-mail com instruções para recuperar o valor. |
“pago_abaixo” | Pagamento em espera, o pagamento que foi realizado é abaixo do valor esperado. |
“cancelado” | Pagamento recebido, mas cancelado pelo pelo operador. |
Quando o pedido é pago acima do valor estipulado, o cliente irá automaticamente receber e-mail com instruções para recuperar o excedente. Neste caso o status da transação será aprovado.
Errors
The Kittn API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request – Your request sucks |
401 | Unauthorized – Your API key is wrong |
403 | Forbidden – The kitten requested is hidden for administrators only |
404 | Not Found – The specified kitten could not be found |
405 | Method Not Allowed – You tried to access a kitten with an invalid method |
406 | Not Acceptable – You requested a format that isn’t json |
410 | Gone – The kitten requested has been removed from our servers |
418 | I’m a teapot |
429 | Too Many Requests – You’re requesting too many kittens! Slow down! |
500 | Internal Server Error – We had a problem with our server. Try again later. |
503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |