Webhooks

Webhooks are a technology used to establish instant communication between different systems and platforms, allowing for the exchange of information and data in real-time. In the context of Fitbank accounts, webhooks are an efficient way to keep clients updated on financial movements in their accounts without having to constantly check the platform. Therefore, when a movement occurs in a Fitbank account, such as a transfer or payment, the webhook is triggered and sends an immediate message to the client's system, informing them about the operation performed. This process is quite useful for clients who need to monitor their accounts in real-time, especially companies that need to manage complex financial flows. In addition, webhooks are highly customizable, allowing clients to configure notifications according to their needs and preferences. This way, it is possible to receive only relevant information for the company's financial management, avoiding the excess of information that can hinder decision-making.

Account's Webhook

Fitbank's account webhooks are responsible for sending messages of approval, disapproval or pending of an account to clients, allowing an instant and efficient communication between platforms. This ensures that customers are informed in real time about the status of their accounts and can act quickly to resolve any pending issues.

ParameterDescriptionTypeComments
PartnerIdPartner ID provided by FitbankLong (number)None
BusinessUnitIdBusiness Unit ID provided by FitbankLong (number)None
TaxNumberUser's Social Security Number (CPF or CNPJ)String (Text)None
CreationDateAccount Creation DateDateTime (Date Format)None
AccountStatusAccount Status IndicationLong (number)Disabled = 0 | Enabled = 1
AccountConditionTypeAccount Condition IndicationLong (number)Created = 0 | Limited = 1 | Verified = 2 | Blocked = 3 | Terminated = 4
BankBank CodeString (Text)None
BankBranchBank Branch CodeString (Text)None
BankAccountBank Account NumberString (Text)None
BankAccountDigitAccount Verified DigitString (Text)None
AccountKeyUnique account identifierString (Text)None
SendDateWebhook send dateDateTime (Date Format)None
SpbAccountSPB Account DataEntityOnly needed when a Tax Number has 1 or more SPB account attached.
BankBank CodeString (Text)None
BankBranchBank Branch CodeString (Text)None
BankAccountBank Account NumberString (Text)None
BankAccountDigitAccount Verified DigitString (Text)None
{
    "PartnerId": 860,
    "BusinessUnitId": 820,
    "TaxNumber": "21985454222",
    "SendDate": "2022-02-18T15:02:00.6350911-03:00",
    "AccountConditionType": 3,
    "CreationDate": "2022-02-11T14:11:42.68",
    "AccountStatus": 1,
    "Bank": null,
    "BankBranch": null,
    "BankAccount": null,
    "BankAccountDigit": null,
    "SpbAccount": {
        "Bank": "450",
        "BankBranch": "0001",
        "BankAccount": "00011223",
        "BankAccountDigit": "2"
    },
    "Method": UpdateAccount
}
{
    "PartnerId": 85,
    "BusinessUnitId": 84,
    "TaxNumber": "05333581916",
    "SendDate": "0001-01-01T00:00:00",
    "AccountConditionType": 0,
    "CreationDate": "2022-01-20T08:35:31.06",
    "AccountStatus": 1,
    "Bank": null,
    "BankBranch": null,
    "BankAccount": null,
    "BankAccountDigit": null,
    "AccountKey": "",
    "SpbAccount": null,
    "Method": UpdateAccount
}

AccountStatus

Disabled = 0 (The account is disabled)

Enabled = 1 (The account is enabled)

AccountConditionType (Account condition indication)

Created = 0 (The account was created)

Limited = 1 (The account is limited)

Verified = 2 (The account is verified)

Blocked = 3 (The account is blocked)

Document's Webhook

The Document's Webhook is an important tool for ensuring smooth and efficient management of documents, and for maintaining clear and transparent communication between all relevant parties. It provides greater visibility into the status of important documents and helps to ensure that they are managed effectively, regardless of any changes or updates that may occur.

ParametersDescriptionTypeComments
MethodAPI MethodString (text)None
BusinessUnitIdBusiness Unit ID Provided by FitbankLong (number)None
AccountAccount Information Attached to the DocumentEntityNone
AccountStatusAccount Status IndicationLong (number)Disabled = 0 || Enabled = 1
AccountConditionTypeAccount Condition IndicationLong (number)Created = 0 || Limited = 1 || Verified = 2 || Blocked = 3 || Terminated = 4
TaxNumberUser's Social Security Number (CPF or CNPJ)String (text)None
HolderTaxNumberCNPJ/CPF of the account holder.StringNone
BankBank CodeString (text)None
BankBranchBank Branch CodeString (text)None
BankAccountBank Account NumberString (text)None
BankAccountDigitAccount Verified DigitString (text)None
AccountKeyUnique Account IdentifierString (text)None
DocumentDocument InformationEntityNone
FileNameFile Name send through APIString (text)None
DescriptionDocument DescriptionString (text)None
ExtensionDocument ExtentionString (text)None
ExpirationDateDocument Expiration DateString (text)None
DocumentStatusDocument Status IndicationLong (number)AwaitingValidation = 0 || Validated = 1 || Invalid = 2 || Expired = 3 || Sent = 4 || Resubmitted = 5 || Disapproved = 6 || Error = 7 || Inexistent = 8 || Suspended = 9 || TypificationResult = 10
DocumentTypeDocument Type IndicationLong (number)IdentityDocumentFront = 0 || TaxNumber = 1 || ProofAddress = 2 || CNH = 3 || CNPJ = 4 || Contract = 5 || LetterOfAttorney = 6 || IdentityDocumentVerse = 7 || DocumentError = 8 || IdentityDocument = 10
DocumentKeyUnique Document IdentifierString (text)None
}
    "Account": {
      "AccountStatus": 1,
      "AccountConditionType": 2,
      "TaxNumber": "42922460843",
      "Bank": "7679",
      "BankBranch": "3139",
      "BankAccount": "622824",
      "BankAccountDigit": "7",
      "AccountKey": "860590-254444-7029631-9"
    },
    "Document": {
      "FileName": "42922460843_01072024_CNHVerso.jpeg",
      "Description": "Documento_Verso",
      "Extension": ".jpeg",
      "ExpirationDate": null,
      "DocumentStatus": 1,
      "DocumentType": 16,
      "DocumentKey": "",
      "Reason": "",
      "TaxNumber": "42922460843",
      "Message": "",
      "PendingReason": null
    },
    "Method": "UpdatePersonDocument",
    "BusinessUnitId": 4556
}
{
"Account": null,
"Document": {
"FileName": "CNPJ_40450_09032022122937.txt",
"Description": "Documento de teste 1",
"Extension": ".txt",
"ExpirationDate": null,
"DocumentStatus": 0,
"DocumentType": 2,
"DocumentKey": "",
"TaxNumber": "08764039099"
},
"Method": UpdatePersonDocument,
"BusinessUnitId": 40450
}

In the document webhook system, reasons for rejections have been added to be incorporated into the email body. The following messages have been added:

ReasonDescriptionMessage
Unreadable Identification DocumenThis message is returned when the document provided is illegible for validation."The documentation provided is illegible. Please resend the personal identification documents to proceed with the account opening."
Identification document not accepted.This message is returned when the document provided is not what was requested in the requisition, meaning when a document other than the Identity Card (RG) or the National Driver's License (CNH) is provided."The identification documentation provided does not match what was requested. Please only send a valid identification, such as the Identity Card (RG) or the National Driver's License (CNH)."
Illegible SelfieThis message is returned when the selfie sent is not legible."This message is returned when the selfie sent is not legible."

AccountStatus

Disabled = 0 (The account is disabled)

Enabled = 1 (The account is enabled)

AccountConditionType

Created = 0 (The account was created)

Limited = 1 (The account is limited)

Verified = 2 (The account is verified)

Blocked = 3 (The account is blocked)

Terminated = 4 (The account was closed)

DocumentStatus

AwaitingValidation = 0 (The documentation is awaiting validation)

Validated = 1 (The documentation is validadeted)

Invalid = 2 (The documentation was invalidated)

Expired = 3 (The documentation is expired)

Sent = 4 (The documentation was sent)

Resubmitted = 5 (The documentation was resubmitted)

Disapproved = 6 (The documentation was disapproved)

Error = 7 (Something got wrong with the operation)

Inexistent = 8 (The documentation does not exist)

Suspended = 9 (The documentation was suspended)

TypificationResult = (The documentation was typification)

DocumentType

IdentityDocumentFront = 0 (Front RG)

TaxNumber = 1 (CPF)

ProofAddress = 2 (Proof of address)

CNH = 3 (National Driver's License)

CNPJ = 4 Contract = 5 (National Register of Legal Entities)

LetterOfAttorney = 6 (Power of Attorney)

IdentityDocumentVerse = 7 (Verse RG)

DocumentError = 8 (Document error)

IdentityDocument = 10 (RG)

KYCReport = 12 ("KYC Report")

Other = 13 ("When something was not mapped out, the status 'other' will appears")

Selfie = 14 ("Selfie")

ElectionMinute = 15 ("Ata de Eleição")

CNHVerso = 16 ("CNH Verso")

Account Signer Document's Webhook

The Account Signer Document's Webhook is a technology used by Fitbank to communicate with external systems and platforms regarding updates to account signer documents. When a change is made to an account signer document, such as a new signer being added or removed, the webhook is triggered and sends an immediate message to the external system, informing them of the update.

ParameterDescriptionTypeComments
AccountAccount Information Attached to the DocumentEntityNone
DocumentDocument InformationEntityNone
FileNameFile Name send through APIString (text)None
DescriptionDocument DescriptionString (text)None
ExtensionDocument ExtentionString (text)None
ExpirationDateDocument Expiration DateString (text)None
DocumentStatusDocument Status IndicationLong (number)AwaitingValidation = 0 || Validated = 1 || Invalid = 2 || Expired = 3 || Sent = 4 || Resubmitted = 5 || Disapproved = 6 || Error = 7 || Inexistent = 8 || Suspended = 9 || TypificationResult = 10
DocumentTypeDocument Type IndicationLong (number)IdentityDocumentFront = 0 || TaxNumber = 1 || ProofAddress = 2 || CNH = 3 || CNPJ = 4 || Contract = 5 || LetterOfAttorney = 6 || IdentityDocumentVerse = 7 || DocumentError = 8 || IdentityDocument = 10
DocumentKeyUnique Document IdentifierString (text)None
TaxNumberUser's Social Security Number (CPF or CNPJ)String (text)None
MethodAPI MethodString (text)None
BusinessUnitIdBusiness Unit ID Provided by FitbankLong (number)None

DocumentType

IdentityDocumentFront = 0 (Front RG)

TaxNumber = 1 (CPF)

ProofAddress = 2 (Proof of address)

CNH = 3 (National Driver's License)

CNPJ = 4 Contract = 5 (National Register of Legal Entities)

LetterOfAttorney = 6 (Power of Attorney)

IdentityDocumentVerse = 7 (Verse RG)

DocumentError = 8 (Document error)

IdentityDocument = 10 (RG)

KYCReport = 12 ("KYC Report")

Other = 13 ("When something was not mapped out, the status 'other' will appears")

Selfie = 14 ("Selfie")

Update Person Condition Webhook

The Update Person Condition Webhook is an important tool for ensuring smooth and efficient management of person conditions, and for maintaining clear and transparent communication between all relevant parties. It provides greater visibility into the status of individuals and helps to ensure that they are able to manage their accounts effectively, regardless of any changes in their personal circumstances.

ParameterDescriptionTypeComments
MethodAPI MethodStringNone
BusinessUnitldBusiness Unit ID Provided by FitbankLong (number)None
PartnerIdPartner ID provided by FitbankLong (number)None
MessageMessage of the Person StatusString (text)None
MessageClassificationRefers to which final status the person is inIntNone
TaxnumberUser's Social Security Number (CPF or CNPJ)String (text)None

The 'MessageClassification' field must be capable of identifying the scenarios in which the person is placed within Fitbank's KYC model, based on the following table.

ValueStatusDescription
0Divergent InformationThe client provided inconsistent registration information during the account opening process and needs to update the data using the 'changePersonInfo' method.
1RejectedThe client did not pass the Fitbank's Know Your Customer (KYC) and Anti-Money Laundering (AML) process and, therefore, cannot proceed with the account opening process.
2Internal DisapprovedAt this moment, the customer does not meet our internal risk assessment guidelines. They will have the opportunity to attempt account opening again after a period of six months.
3Expired DocumentationThe client has not undergone the Know Your Customer (KYC) process due to documentation rejection and, therefore, cannot proceed with the account opening process.
4Approved CustomerThe client was successfully approved.
{
"TaxNumber": "615.120.612-63",
"PartnerId": 10636,
"Message": "Prezado(a) Cliente, foi constatada uma divergência nos dados enviados para a abertura de conta. Solicitamos, por gentileza, que encaminhe novamente as informações com as correções necessárias. Agradecemos sua compreensão.",
"MessageClassification": 0,
"AccountsKey": [
		"669524-655181-5171807-5"
], 
"Method": "UpdatePersonCondition",
"BusinessUnitId": 40726
}
{
"TaxNumber": "880.502.850-90",
"PartnerId": 312,
"Message": "Prezado(a) Cliente, após validações internas, não foi possível seguir com a abertura da conta. Agradecemos sua compreensão.",
"MessageClassification": 1,
"AccountsKey": [
		"493316-655181-3851480-5"
],
"Method": "UpdatePersonCondition",
"BusinessUnitId": 463

}
{
"TaxNumber": "698.717.682-57",
"PartnerId": 10636,
"Message": "Prezado(a) Cliente, devido as politicas internas da empresa, não foi possível seguir com a abertura da conta. Pedimos que aguarde um prazo de 72 horas para uma nova tentativa. Agradecemos sua compreensão.",
"MessageClassification": 2,
"AccountsKey": [
		"669524-655181-5171807-5"
],
"Method": "UpdatePersonCondition",
"BusinessUnitId": 40726
}
{
"TaxNumber": "229.567.260-05",
"PartnerId": 10636,
"Message": "Prezado Cliente. Sua solicitação de abertura de conta expirou por falta de documentação necessária. Para continuar, por favor, refaça sua solicitação. Você pode fazer uma nova solicitação após 72 horas. Agradecemos pela compreensão.",
"MessageClassification": 3,
 "AccountsKey": [
"669524-655181-3185832-0"
],
"Method": "UpdatePersonCondition",
"BusinessUnitId": 41003
}
{
  "TaxNumber": "893.336.598-20",
	"PartnerId": 319,
	"Message": "Cliente aprovado com sucesso",
	"MessageClassification": 4,
	"AccountsKey": [
		"669524-655181-5171807-5"
],
	"Method": "UpdatePersonCondition",
	"BusinessUnitId": 480
}

Update Close Account

Request status at that time

ParameterDescriptionTypeComments
MethodAPI MethodStringNone
BusinessUnitldBusiness Unit ID Provided by FitbankLong (number)None
CloseAccountInformationStatusRequest status at that timeLong (number)0 - Created;1 - Processing; 2 - Error; 3 - Pending; 4 - Disapproved; 5 - Approved; 6 - Automatic Closure Request.
MessageMessage that informs the customer of the status of the requestStringNone

CloseAccountInformationStatus

0 - Created (Request Created)

1 - Processing (Request Being Processed)

2 - Error (Request Error)

3 - Pending (Request Pending)

4 - Disapproved (Request Desapproved)

5 - Approved (Request Approved)

6 - Automatic Closure Request (Request Automatic Account Closure Scenario)

{
"CloseAccountInformationStatus": 0,
"Message": "Solicitação em análise",  
"Bank": "",
"BankAccount": "",
"BankBranch": "",
"BankAccountDigit": "",
"AccountKey": "004390-254444-2865635-2",
"Method": "UpdateCloseAccount",
"BusinessUnitId": 40726
}
{
"CloseAccountInformationStatus": 3,
"Message": "A conta possui saldo remanescente. Para continuar o processo, é necessário retirar o valor excedente",
"Bank": "",
"BankAccount": "",
"BankBranch": "",
"BankAccountDigit": "",
"AccountKey": "004390-254444-2865635-2",
"Method": "UpdateCloseAccount",
"BusinessUnitId": 40726
}
{
"CloseAccountInformationStatus": 3,
"Message": "A conta possui saldo negativo. Para continuar o processo, é necessário liquidar o débito",
"Bank": "",
"BankAccount": "",
"BankBranch": "",
"BankAccountDigit": "",
"AccountKey": "004390-254444-2865635-2",
"Method": "UpdateCloseAccount",
"BusinessUnitId": 40726
}
{
"CloseAccountInformationStatus": 3,
"Message": "Você possui agendamento de pagamentos automáticos em aberto, para prosseguir realize o cancelamento do agendamento",
"Bank": "",
"BankAccount": "",
"BankBranch": "",
"BankAccountDigit": "",
"AccountKey": "004390-254444-2865635-2",
"Method": "UpdateCloseAccount",
"BusinessUnitId": 40726
}
{
  "CloseAccountInformationStatus": 4,
  "Message": "Solicitação de cancelamento reprovada",
  "Bank": "",
  "BankAccount": "",
  "BankBranch": "",
  "BankAccountDigit": "",
  "AccountKey": "004390-254444-2865635-2",
  "Method": "UpdateCloseAccount",
  "BusinessUnitId": 40726
}
{
  "CloseAccountInformationStatus": 5,
  "Message": "Conta cancelada com sucesso",
  "Bank": "",
  "BankAccount": "",
  "BankBranch": "",
  "BankAccountDigit": "",
  "AccountKey": "004390-254444-2865635-2",
  "Method": "UpdateCloseAccount",
  "BusinessUnitId": 40726
}
{
 "CloseAccountInformationStatus": 6,
  "Message": "Prezado(a) Cliente, informamos que foi iniciado o processo de encerramento automático de sua conta por motivos internos. Pedimos que tente realizar uma nova solicitação de abertura de conta dentro de 72 horas. Agradecemos sua compreensão.",
  "Bank": "",
  "BankAccount": "",
  "BankBranch": "",
  "BankAccountDigit": "",
  "AccountKey": "004390-254444-2865635-2",
  "Method": "UpdateCloseAccount",
  "BusinessUnitId": 40726
}