Eventos para transferências

Escute os eventos do Asaas para ter sua integração em dia.

É possível utilizar webhook para que seu sistema seja notificado sobre alterações que ocorram nas transferências bancárias e transferências entre contas Asaas. Os eventos que o Asaas notifica são:

  • TRANSFER_CREATED - Geração de nova transferência.
  • TRANSFER_PENDING - Transferência pendente de execução.
  • TRANSFER_IN_BANK_PROCESSING - Transferência em processamento bancário.
  • TRANSFER_BLOCKED - Transferência bloqueada.
  • TRANSFER_DONE - Transferência realizada.
  • TRANSFER_FAILED - Transferência falhou.
  • TRANSFER_CANCELLED - Transferência cancelada.

👍

Retorno do Webhook com tipagem e ENUMs

Caso você queira saber qual o tipo de cada campo e os retornos de ENUMs disponíveis, confira a resposta 200 no endpoint "Recuperar uma única transferência" na documentação.

Exemplo de JSON a ser recebido para transferências bancárias [POST]

A notificação consiste em um POST contendo um JSON, conforme este exemplo:

{
    "id": "evt_05b708f961d739ea7eba7e4db318f621&368604920",
    "event": "TRANSFER_CREATED",
    "dateCreated": "2024-06-12 16:45:03",
    "transfer": {
        "object": "transfer",
        "id": "777eb7c8-b1a2-4356-8fd8-a1b0644b5282",
        "dateCreated": "2019-05-02",
        "status": "PENDING",
        "effectiveDate": null,
        "endToEndIdentifier": null,
        "type": "BANK_ACCOUNT",
        "value": 1000,
        "netValue": 1000,
        "transferFee": 0,
        "scheduleDate": "2019-05-02",
        "authorized": true,
        "failReason": null,
        "transactionReceiptUrl": null,
        "bankAccount": {
            "bank": {
                "ispb": "00000000",
                "code": "001",
                "name": "Banco do Brasil"
            },
            "accountName": "Conta Banco do Brasil",
            "ownerName": "Marcelo Almeida",
            "cpfCnpj": "***.143.689-**",
            "agency": "1263",
            "agencyDigit": "1",
            "account": "26544",
            "accountDigit": "1",
            "pixAddressKey": null
        },
        "operationType": "TED",
        "description": null
    }
}

Exemplo de JSON a ser recebido para transferências bancárias via Pix

A notificação consiste em um POST contendo um JSON, conforme este exemplo:

{
    "event": "TRANSFER_CREATED",
    "transfer": {
        "object": "transfer",
        "id": "777eb7c8-b1a2-4356-8fd8-a1b0644b5282",
        "dateCreated": "2019-05-02",
        "status": "PENDING",
        "effectiveDate": null,
        "endToEndIdentifier": null,
        "type": "BANK_ACCOUNT",
        "value": 1000,
        "netValue": 1000,
        "transferFee": 0,
        "scheduleDate": "2019-05-02",
        "authorized": true,
        "failReason": null,
        "transactionReceiptUrl": null,
        "bankAccount": {
            "bank": {
                "ispb": "00000000",
                "code": "001",
                "name": "Banco do Brasil"
            },
            "accountName": "Conta Banco do Brasil",
            "ownerName": "Marcelo Almeida",
            "cpfCnpj": "***.143.689-**",
            "agency": "1263",
            "agencyDigit": "1",
            "account": "26544",
            "accountDigit": "1",
            "pixAddressKey": null
        },
        "operationType": "PIX",
        "description": "Transferência efetuada via Pix manual"
    }
}

Exemplo de JSON a ser recebido para transferências bancárias via Pix com chave

A notificação consiste em um POST contendo um JSON, conforme este exemplo:

{
    "event": "TRANSFER_CREATED",
    "transfer": {
        "object": "transfer",
        "id": "777eb7c8-b1a2-4356-8fd8-a1b0644b5282",
        "dateCreated": "2019-05-02",
        "status": "PENDING",
        "effectiveDate": null,
        "endToEndIdentifier": null,
        "type": "BANK_ACCOUNT",
        "value": 1000,
        "netValue": 1000,
        "transferFee": 0,
        "scheduleDate": "2019-05-02",
        "authorized": true,
        "failReason": null,
        "transactionReceiptUrl": null,
        "bankAccount": {
            "bank": {
                "ispb": "00000000",
                "code": "001",
                "name": "Banco do Brasil"
            },
            "accountName": "Conta Banco do Brasil",
            "ownerName": "Marcelo Almeida",
            "cpfCnpj": "***.143.689-**",
            "agency": "1263",
            "agencyDigit": "1",
            "account": "26544",
            "accountDigit": "1",
            "pixAddressKey": "09413412375",
        },
        "operationType": "PIX",
        "description": "Transferência efetuada via Pix com chave"
    }
}

Exemplo de JSON a ser recebido para transferências entre contas Asaas [POST]

A notificação consiste em um POST contendo um JSON, conforme este exemplo:

{
    "event": "TRANSFER_CREATED",
    "transfer": {
        "object": "transfer",
        "id": "dc0cd262-5050-4c82-bddc-dc2463f7ff07",
        "dateCreated": "2021-01-01",
        "status": "DONE",
        "effectiveDate": "2021-01-01 13:32:12",
        "endToEndIdentifier": null,
        "type": "ASAAS_ACCOUNT",
        "value": 1000,
        "transferFee": 0,
        "scheduleDate": "2021-11-17",
        "authorized": true,
        "walletId": "1f7184ab-9671-4f43-9ab5-c2349e7bf61",
        "account": {
            "name": "Marcelo Almeida",
            "cpfCnpj": "***.143.689-**"
        },
        "transactionReceiptUrl": "https://www.asaas.com/comprovantes/8962440029817277",
        "operationType": "INTERNAL",
        "description": null
    }
}

🚧

Atenção

  • Transferências entre contas Asaas são realizadas instantaneamente. Caso a validação de evento crítico via Token APP ou Token SMS esteja habilitada para o agendamento de transferências, a transferência ficará pendente até que a validação seja realizada.
  • Transferências via Pix não agendadas são realizadas instantaneamente. O Token APP e Token SMS devem estar desabilitados.

🚧

  • Com a entrada de novos produtos e funções dentro do Asaas, é possível que novos atributos sejam incluídos no Webhook. É muito importante que seu código esteja preparado para não gerar exceções caso o Asaas devolva novos atributos não tratados pela sua aplicação, pois isso poderá causar interrupção na fila de sincronização.
  • Enviaremos um e-mail e avisaremos em nosso Discord quando novos campos forem incluídos no Webhook. O disparo será feito para o e-mail de notificação definido nas configurações do webhook.