Resgate de um valor da conta pocket

stable

Utilize este endpoint para resgatar o valor depositado na conta pocket e devolvê-lo para a conta de pagamento.

📘

Nota

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

Requisição (Request)

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/pockets/{pocketNumber}/transactions/redeems  
--request POST \
--url 'https://api-mtls.sandbox.bankly.com.br/pockets/1516482BRL/transactions/redeems' \
--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": 500
          },
          "description": "Valor para livros didáticos"
     },
     "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 da qual o valor será resgatado.

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 resgate.
data.amountobjectObrigatório. Objeto que deverá conter informações sobre o valor do resgate.
data.amount.currencystringObrigatório. Código da moeda com base na ISO-4217. Exemplo: “BRL”.
data.amount.valuenumberObrigatório. Valor a ser resgatado.
data.descriptionstringTexto que descreve o propósito da transação.
{
     "data": {
          "amount": {
               "currency": "BRL",
               "value": 500
          },
          "description": "Valor para livros didáticos"
     },
     "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 resgate de valor.

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 sobre o 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 resgate, o valor desse campo será "REDEEM".
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": "REDEEM",
        "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_BALANCEPocket account does not have sufficient balance.Saldo insuficiente na conta de pagamento.
422POCKET_ACCOUNT_INVALID_STATUSPocket status {status} is invalid to handle 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_REDEEM_WAS_COMPLETEDComunica o resgate de valores da conta pocket.
POCKET_ACCOUNT_REDEEM_ERROR_OCCURREDComunica que ocorreu um erro na transação de resgate.

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