Depósito em uma conta pocket

stable

Utilize este endpoint para guardar valores da conta de pagamento para a conta pocket.

🚧

Importante

Recordamos que somente é possível depositar dinheiro para a conta pocket a partir da conta de pagamento à qual ela está atrelada.

Requisição (Request)

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/pockets/{pocketNumber}/transactions/savings 
--request POST \
--url 'https://api-mtls.sandbox.bankly.com.br/pockets/1516482BRL/transactions/savings' \
--header 'accept: application/json' \
--header 'api-version: 2' \
--header 'authorization: Bearer' \
--header 'content-type: application/json' \
--header 'idempotency-key: f5ff2ba3-76c0-4aa0-8015-a93b62a6c100' \
--data '
{
     "data": {
          "amount": {
               "currency": "BRL",
               "value": 200
          },
          "description": "Reserva de valor"
     }
     "metadata": {}
}
'

Autorização

Para garantir a segurança nas requisições, todos os endpoints do Bankly utilizam scopes como parte do seu fluxo de autorização.

Esta requisição requer o scope descrito a seguir:

ScopeDescrição
pocket.transaction.createConcede acesso para realizar transações internas com uma conta pocket.

Cabeçalhos (Headers)

NomeDescrição
api-versionObrigatório. A versão desta API é a 2.0.
AuthorizationObrigatório. Token de autorização do tipo Bearer.
idempotency-keyObrigatório. Informe um GUID v4, sendo um novo a cada requisição. Importante: O tempo para a expiração do Idempotency-Key é de 6 minutos.

Parâmetros da rota (Path)

No path desta requisição, envie o seguinte campo:

NomeTipoDescrição
pocketNumberpathObrigatório. Número da conta pocket que receberá o depósito.

Corpo da requisição (Body)

No body, envie os seguintes campos em formato JSON:

NomeTipoDescrição
dataobjectObrigatório. Objeto que deverá conter informações sobre o depósito.
data.amountobjectObrigatório. Objeto que deverá conter informações sobre o valor do depósito.
data.amount.currencystringObrigatório. Código da moeda com base na ISO-4217. Exemplo: “BRL”.
data.amount.valuenumberObrigatório. Valor a ser depositado.
data.descriptionstringTexto que descreve o propósito da transação.
{
     "data": {
          "amount": {
               "currency": "BRL",
               "value": 200
          },
          "description": "Reserva de valor"
     }
     "metadata": {}
}

📘

Nota

O objeto metadata exibido no exemplo é um dicionário de metadados e permite o envio de dados adicionais na requisição. O envio desse campo é opcional.

Resposta (Response)

O status code 202 indicará sucesso no processo de depósito.

Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescrição
dataobjectObjeto que contém informações sobre o depósito realizado.
data.authenticationCodestringCódigo identificador da transação em formato GUID.
data.amountobjectObjeto que contém informações referentes ao valor da transação.
data.amount.valuenumberValor transacionado.
data.amount.currencystringCódigo da moeda com base na ISO-4217. Exemplo: “BRL”.
data.pocketobjectObjeto que contém informações sobre a conta pocket.
data.pocket.numbernumberNúmero da conta pocket.
data.pocket.statusstringStatus da conta pocket, o qual pode ser “ACTIVE”, “DORMANT”, “LOCKED” e “CLOSED”.
data.pocket.accountobjectObjeto que contém informações sobre a conta de pagamento à qual a pocket está atrelada.
data.pocket.account.branchstringNúmero da agência.
data.pocket.account.numberstringNúmero da conta.
data.pocket.account.statusstringSituação da conta de pagamento à qual a pocket está atrelada, que pode ser “ACTIVE” ou “CLOSED”.
data.pocket.account.bankobjectObjeto que contém informações sobre o banco ao qual a conta pertence.
data.pocket.account.bank.codestringCódigo do banco.
data.pocket.account.bank.ispbstringISPB (Identificador de Sistema de Pagamentos Brasileiro) do banco.
data.pocket.account.bank.namestringNome do banco.
data.pocket.account.holderobjectObjeto que contém informações sobre o titular da conta de pagamento.
data.pocket.account.holder.documentobjectObjeto que contém informações sobre o documento do titular da conta de pagamento.
data.pocket.account.holder.document.valuestringNúmero do documento.
data.pocket.account.holder.document.typestringTipo de documento (CPF ou CNPJ).
data.pocket.account.holder.typestringTipo do cadastro do titular da conta de pagamento, que pode ser “CUSTOMER” ou “BUSINESS”.
data.pocket.account.holder.namestringNome do titular da conta de pagamento.
data.typestringTipo de transação da pocket. Em caso de depósito, o valor desse campo será "SAVING".
data.statusstringSituação da transação, a qual pode ser “CREATED”, “IN_PROCESS”, “DONE”, “UNDONE” e “ERROR”.
data.createdAtstringData de criação da transação, no formato ISO 8601 - UTC.
data.updatedAtstringData de atualização da transação, no formato ISO 8601 - UTC.
data.descriptionstringTexto que descreve o propósito da transação.
links[]array of objectsLinks de próximos estados válidos da entidade/recurso.
links[].urlstringURLs que podem ser utilizadas em um próximo estado da entidade.
links[].relstringDescrição de como a URL se relaciona com o recurso atual.
links[].methodstringTipo de verbo que deve ser utilizado para acessar a URL.
metadatadictionary<string, object>Metadados da requisição.
{
    "data": {
        "authenticationCode": "2837eb11-e203-4c36-a80d-f8b131b2d8fd",
        "amount": {
            "value": 1.0,
            "currency": "BRL"
        },
        "pocket": {
            "number": "1516482BRL",
            "status": "ACTIVE",
            "account": {
                "number": "15164",
                "branch": "0001",
                "status": "ACTIVE",
                "bank": {
                    "ispb": "13140088",
                    "code": "332",
                    "name": "Acesso Soluções De Pagamento S.A."
                },
                "holder": {
                    "document": {
                        "value": "47742663023",
                        "type": "CPF"
                    },
                    "type": "CUSTOMER",
                    "name": "Nísia Floresta"
                }
            }
        },
        "type": "SAVING",
        "status": "CREATED",
        "createdAt": "2022-12-01T03:09:09.4269668Z",
        "updatedAt": "0001-01-01T00:00:00Z",
        "description": "Valor destinado a livros"
    },
    "links": [
        {
            "url": "/pockets/24937871BRL/transactions/2837eb11-e203-4c36-a80d-f8b131b2d8fd",
            "rel": "get_pocket_transaction",
            "method": "GET"
        }
    ],
    "metadata": {}
}

🚧

Importante

Se a conta de pagamento for bloqueada ou cancelada, não será possível realizar movimentações na pocket.

👍

Dica

Para simular uma requisição nesse endpoint, acesse o API Reference.

Erros

Este endpoint pode retornar alguns erros específicos, conforme a tabela a seguir:

Status CodeCódigoMensagemDescrição
422PAYMENT_ACCOUNT_NOT_FOUNDPayment account not found.Conta de pagamento não encontrada.
422INSUFFICIENT_BALANCEPayment account does not have sufficient balance.Saldo insuficiente na conta de pagamento.
422POCKET_ACCOUNT_INVALID_STATUSPocket account status {status} is invalid for this operation.O status da conta pocket não permite a transação. Somente é possível transacionar se a conta apresentar status “ACTIVE” e “DORMANT”.

Recordamos que esta API também poderá retornar erros comuns entre todos os endpoints. Portanto, recomendamos a consulta da documentação de erros, onde é possível encontrar as mensagens comuns em inglês que acompanham os erros 400 (se houver).

Eventos

Caso o parceiro deseje receber mensagens referentes aos eventos relacionados a esse endpoint, é preciso configurar o webhook. Os eventos são:

Nome do eventoDescrição
POCKET_ACCOUNT_SAVING_WAS_COMPLETEDComunica o depósito de valores da conta pocket.
POCKET_ACCOUNT_SAVING_ERROR_OCCURREDComunica que ocorreu um erro na transação de depósito.

Copyright © 2021 Acesso Soluções de Pagamento S.A - Todos os direitos reservados