post https://api.stage.cora.com.br/transfers/initiate
Inicie uma transferência por API
Importante para Integração Direta
Para você conseguir efetuar essa integração é obrigatória a leitura sobre "Utilização das APIs" e recomendada a leitura sobre "Instruções Iniciais" e "Client Credentials e Client ID"
Utilize esse endpoint para iniciar uma transferência em nome de uma conta. As transferências iniciadas por API precisarão passar por aprovação no aplicativo.
Quais são os requisitos para a utilização desta API?
- Token: possuir um token de acesso válido é essencial. Caso ainda não tenha gerado um, temos um guia detalhado disponível no tópico Fluxos de Autorização e Autenticação.
- Conta destino: é necessário ter informações sobre a conta bancária que receberá a transferência realizada. Informações como número da conta, entre outras descritas abaixo, são necessárias para que a API possa processar e validar a transação de forma correta e eficiente. Além disso, é importante garantir que as informações inseridas estejam corretas para evitar erros ou atrasos no processo de transferência.
- Escopo: para a modalidade Parceria Cora, é necessário ter ativado o escopo correto ao solicitar autorização e gerar token de acesso para que sua aplicação possa acessar e interagir com as informações da conta de forma segura e autorizada. É possível consultar mais detalhes sobre o escopo e autorização no tópico Redirecionamento.
Nome do escopo | Descrição |
---|---|
transfer | APIs de transferência |
Parâmetros da requisição
Parâmetro | Tipo | Descrição |
---|---|---|
destination obrigatório | Destination | Objeto Destination |
amount obrigatório | Int | Valor da transferência em centavos |
description opcional | String | Descrição da operação |
code opcional | String | Código definido por você, pode ser um id do recurso no seu sistema |
category opcional | String | Enumerado de Categorias. Exemplo: "PAYROLL" |
scheduled opcional | String | Data de agendamento |
Parâmetros de resposta
Parâmetro | Tipo | Descrição |
---|---|---|
id obrigatório | String | Identificador da transferência |
status obrigatório | String | Status da transferência. Neste momento inicial, será definido como "INITIATED" |
created_at obrigatório | String | Data na qual a transferência foi iniciada via API |
destination obrigatório | Destination | Objeto Destination |
amount obrigatório | Int | Valor da transferência em centavos |
description opcional | String | Descrição da operação |
code opcional | String | Código definido por você, pode ser um id do recurso no seu sistema |
category opcional | String | Enumerado de Categorias. Exemplo: "PAYROLL" |
scheduled opcional | String | Data de agendamento |
Dicas de implementação
Premissas
As transferências iniciadas por API são processadas pelo banco, mas, assim como outras operações de saída de dinheiro, exigem aprovação no aplicativo para garantir que a transação seja segura e autêntica. Isso adiciona uma camada extra de segurança ao processo de pagamento e ajuda a evitar transações indesejadasErros Comuns
Código de erro | Descrição |
---|---|
401 (Unauthorized) | O token de acesso está inválido ou expirado. Erro comum no momento de trocas de ambientes (Stage/Production) |
400 (Bad Request) | Requisição mal formatada. Alguns exemplos comuns: - Scheduled definido com um formato diferente do padrão de data YYYY-MM-DD. - Account_type não está entre as opções definidas no Enum de Tipos de Contas. |
500 (Internal Server Error) | Houve um erro no processamento da transferência. Este erro pode ter ocorrido por algum dos parâmetros possuir informações inválidas, como um código de banco que não existe. |
Tipos de Objetos
Objeto Destination
Parâmetro | Tipo | Descrição |
---|---|---|
bank_code obrigatório | String | Código da instituição financeira. Exemplo: "403" |
account_number obrigatório | String | Número da conta bancária com dígito. Exemplo: "092135" |
branch_number obrigatório | String | Número da agência. Exemplo: "7679" |
holder obrigatório | Holder | Objeto Holder |
account_type opcional | String | Enum de Tipos de Conta |
Objeto Holder
Parâmetro | Tipo | Descrição |
---|---|---|
name obrigatório | String | Nome do titular da conta |
document obrigatório | Document | Objeto Document |
Objeto Document
Parâmetro | Tipo | Descrição |
---|---|---|
identity obrigatório | String | Número do CPF ou CNPJ do titular da conta |
type opcional | String | CPF ou CNPJ. Obs: Se não informado, será inferido pela quantidade de dígitos |
Tipos de Enumeradores
Enum de Categorias
As categorias são Strings que podem ajudá-los na classificação das operações.
Vejam alguns exemplos:
PAYROLL; BONUS; UTILITIES; RENT; FURNITURE_EQUIPMENT; OFFICE_SUPPLIES;
MARKETING; SOFTWARE_IT; TRAVEL_MEAL; TRANSPORTATION|BENEFITS;
TAXES|BUSINESS_SERVICES; EDUCATION; ENTERTAINMENT; etc...
Enum de Tipos de Conta
Valor | Descrição |
---|---|
CHECKING | Conta Corrente |
SAVINGS | Conta Poupança |
PAYMENT | Conta Salário |