Transferência entre contas BaaS
Essa funcionalidade permite que os clientes da Celcoin consigam efetuar transferências entre contas BaaS Celcoin.
Pré requisitos para implementação:
-
Possuir uma chave API da Celcoin, para mais informações acessar esse link;
-
Ter familiaridade com o padrão REST usando o protocolo OAuth 2.0;
-
Ter o produto/solução contratado e habilitado em produção.
- Caso queira usar a funcionalidade em ambiente produtivo, por favor entre em contato com a nossa equipe comercial através do e-mail [email protected]. Para dúvidas técnicas, basta entrar em contato com o suporte através do link;
-
Possuir duas conta no BaaS da Celcoin (Conta essa responsável por enviar e a outra por receber o valor).
IMPORTANTE
Hoje só é possível realizar transferências entre o mesmo cliente!
Transferências entre diferentes clientes em breve estarão disponíveis
Passos para Integrar
- Realizar autenticação na API - [API Reference]
- Realizar uma transferência entre contas - [API Reference]
- Receber o Webhook com Status da transferência
- Caso seja necessário você pode consultar o status da transação manualmente.
- Consultar Status do transação - [API Reference]
Descrição dos campos
Campo | Descrição | Tipo Campo |
---|---|---|
amount | Valor da transação. | number($double) |
clientRequestId | Identificador único gerado pelo cliente. | String |
debitParty{ | Objeto | |
account | Número da conta de origem (Quem irá pagar). | String |
} | ||
creditParty { | Objeto | |
account | Número da Conta de destino (Quem irá receber). | String |
} | ||
description | Campo opcional. | String |
JSON de exemplo
{
"amount": 25.55,
"clientRequestId": "1458854",
"debitParty": {
"account": "444444"
},
"creditParty": {
"account": "444444"
},
"description": "string"
}
cURL da chamada
curl --location 'https://sandbox.openfinance.celcoin.dev/baas-wallet-transactions-webservice/v1/wallet/internal/transfer' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Token}}' \
--data '{
"amount": 25.55,
"clientRequestId": "1458854",
"debitParty": {
"account": "444444"
},
"creditParty": {
"account": "444444"
},
"description": "string"
}'
Exemplo de retorno
Sucesso 200
{
"status": "PROCESSING",
"version": "1.0.0",
"body": {
"id": "34fee7bc-4d40-4605-9af8-398ed7d0d6b5",
"amount": 0,
"clientRequestId": "1458854",
"endToEndId": "string",
"debitParty": {
"account": "444444",
"taxId": "11122233344",
"name": "string",
"branch": "string",
"bank": "string"
},
"creditParty": {
"account": "10545584",
"taxId": "11122233344",
"name": "string",
"branch": "string",
"bank": "string"
},
"description": "transferencia para o churrasco"
}
}
Error 400
{
"version": "1.0.0",
"status": "ERROR",
"error": {
"errorCode": "CIE999",
"message": "Ocorreu um erro interno durante a chamada da api."
}
}
Tabela de errorCode
Code | Message |
---|---|
CBE094 | amount é obrigatório. |
CBE095 | amount invalido.Favor verificar a formatação do campo e deve ser maior que 0. |
CBE100 | Existe um lançamento idêntico pendente.Favor aguarde para realizar esta operação para evitar duplicidade. |
CBE101 | Já existe um lançamento com o mesmo clientCode. Favor realizar uma nova operação. |
CBE102 | Lançamento de debito não permitido.Valor ultrapassa o limite maximo permitido por operação. |
CBE107 | debitParty é obrigatório. |
CBE108 | debitparty.account é obrigatório. |
CBE109 | debitparty.account invalido. |
CBE110 | debitparty.account possui tamanho maximo de 20 caracteres. |
CBE115 | creditParty é obrigatório. |
CBE116 | creditparty.account é obrigatório. |
CBE117 | creditparty.account invalido. |
CBE118 | creditparty.account possui tamanho maximo de 20 caracteres. |
CBE123 | Transação não permitida.Conta com saldo insuficiente. |
CBE124 | Lançamento não permitido. debit.account esta encerrada. |
CBE125 | Lançamento não permitido. credit.account esta encerrada. |
CBE147 | Lançamento não permitido. debit.account esta bloqueada. |
CBE148 | Lançamento não permitido. credit.account esta bloqueada. |
CBE261 | clientRequestId é obrigatório. |
CBE308 | clientRequestId possui tamanho máximo de 200 caracteres. |
CBE312 | Não é permitido enviar TEF para a mesma conta. |
CBE314 | debitparty.account não encontrada. |
CBE315 | creditparty.account não encontrada. |
CBE328 | Cliente da conta de credito não esta ativo para utilizar a Api. |
CBE329 | É necessário informar pelo menos um dos campos: id ou clientrequestid |
CBE332 | Parametro Id ultrapassou o limite maximo de 36 caracteres. |
Webhooks de Transferências entre contas
Evento | Descrição |
---|---|
internal-transfer-out | Após uma transferência ser realizada |
internal-transfer-in | Após uma receber uma transferência |
internal-transfer-out
{
"entity": "internal-transfer-out",
"createTimestamp": "2023-07-20T09:43:53.2077798",
"status": "CONFIRMED",
"body": {
"id": "c4ab9f3d-2b25-4b8a-a6b2-7f277742db05",
"amount": 0.01,
"clientRequestId": "124eb1e5-62b9-492b-9d13-dc8a58786305",
"creditParty": {
"account": "123456",
"taxId": "123456",
"name": "nome credito",
"branch": "0001",
"bank": "13935893"
},
"debitParty": {
"account": "123456",
"taxId": "123456",
"name": "nome debito",
"branch": "0001",
"bank": "13935893"
},
"endToEndId": "e25598a9-5278-4219-a278-ae5e3602dcae",
"description": "teste TEF sucesso"
}
}
internal-transfer-in
{
"entity": "internal-transfer-in",
"createTimestamp": "2023-07-20T09:43:53.2920444",
"status": "CONFIRMED",
"body": {
"id": "ac5396c9-8398-40be-bdee-9a3d400e5f20",
"amount": 0.01,
"creditParty": {
"account": "123456",
"taxId": "123456",
"name": "nome credito",
"branch": "0001",
"bank": "13935893"
},
"debitParty": {
"account": "123456",
"taxId": "123456",
"name": "nome debito",
"branch": "0001",
"bank": "13935893"
},
"endToEndId": "e25598a9-5278-4219-a278-ae5e3602dcae",
"description": "teste TEF sucesso"
}
}
Updated 4 months ago