Updating an Account

Fitbank provides tools for its customers to update essential information or documents required for account opening. Customers receive notifications via webhook whenever they need to update their data or documents. Only after the submission and a new analysis of the new data and documents, and if they are in compliance with our KYC and AML processes and are approved, the account will be released for transactions. This ensures that all information is correct and up to date before using the account.

Method for updating the registration

If incorrect information is detected during the analysis of the 'newAccount' API, we take immediate action by rejecting and blocking the account. Furthermore, we initiate an 'UpdatePersonCondition' webhook to inform the customer of the necessity to resubmit their personal data to Fitbank, enabling the account to be unblocked. Please review the template below for further information.

Webhook = UpdatePersonCondition

{
"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,
"Method": "UpdatePersonCondition",
"BusinessUnitId": 40726
}

A crucial tip for our customers is to use the 'getAccount' and 'getSigner' methods meticulously to thoroughly review previously submitted data. This will allow for precise identification of incorrect or missing information. If any inconsistent data is identified, we strongly recommend resubmitting all the information. This ensures that all data is accurate and compliant, contributing to a seamless and effective experience when using Fitbank's services.

API Method = changePersonInfo

The API responsible for the data resubmission process is called "changePersonInfo." Our API can generate a request to modify your data, and this request will undergo our KYC and AML processes for evaluation. After this stage, the client will receive a response through the "UpdatePersonInfo" webhook. Your request may be approved and processed, allowing the account to be used, or it may be rejected based on KYC and AML assessments, keeping the account blocked.

PersonInfoTypePersonInfoValueDescription
"0""(XX)9XXXX-XXXX"Holder's phone
"1""[email protected]"Holder's e-mail
"2""Ana"Holder's nickname
"3""Raimundo Oliveira Lima"The father's full name of the account holder must be entered without abbreviations
"4""Brasil"Contry origin.
"5""11""0" - AC | "1" - AL | "2" - AP | "3"- AM | "4" -BA | "5" - CE | "6" - DF |"7" - ES |"8"- GO | "9" - MA | "10" - MT |"11" -MS |"12" - MG |"13" - PA |"14" - PB| "15" - PR |"16" - PE |"17" - PI | "18" - RJ | "19" - RN | "20" - RS | "21" - RO | "22" - RR | "23" - SC | "24" - SP | "25" -SE |"26" - TO (Please input the Birth State of the account holder)
"6""0""0" - Male | "1" - Female | "2" - Others (Please input Gender of the account holder)
"7""1""0" - NotMarried | "1" - Married | "2" - Divorced | "3" - Separate | "4" - Widower | "5" - Single | "6" - Other
"8""João Gomes Andrade"Spouse name.
"9""Analista de dados"Name profession/ocupation.
"10""True"A PEP is an important government or political person who banks closely monitor to prevent suspicious activity. (The accepted values ​​in the field are "true" or "false")
"11""Ana Paula Oliveira Gomes"The full name of the account holder must be entered without abbreviations
"12""04/05/1998"Birth date.
"13""Maria Helena Gomes"The mother full name of the account holder must be entered without abbreviations
"14""Fitbank"Enter the company's trade name, without abbreviations and in the same format registered with the Brazilian Federal Revenue Service.
"15""02/05/2016"Please input the company's date of incorporation.
"16""12.000"Please enter the monthly revenue if it's a personal account and the monthly revenue if it's a business account.
"17""1"Please enter the company type according to the Brazilian federal revenue.
"18""FITBANK INSTITUIÇÃO DE PAGAMENTOS ELETRÔNICOS S.A."Please enter the legal name according to the information contained in the Federal Revenue of Brazil.

Below, we have the JSON request model for the "changePersonInfo" API.

{
    "Method": "ChangePersonInfo",
    "PartnerId": {{PartnerId}},
    "BusinessUnitId": {{BusinessUnitId}},
    "TaxNumber": "351.222.111-11",
    "PersonInfos": [
        { "PersonInfoType": "0", "PersonInfoValue": "88912345678" },
        { "PersonInfoType": "1", "PersonInfoValue": "[email protected]" },
        { "PersonInfoType": "2", "PersonInfoValue": "Apelido" },
        { "PersonInfoType": "3", "PersonInfoValue": "Nome do pai" },
        { "PersonInfoType": "4", "PersonInfoValue": "Brasil"},
        { "PersonInfoType": "5", "PersonInfoValue": "11" },
        { "PersonInfoType": "6", "PersonInfoValue": "0" },
        { "PersonInfoType": "7", "PersonInfoValue": "1" },
        { "PersonInfoType": "8", "PersonInfoValue": "Nome da Esposa" },
        { "PersonInfoType": "9", "PersonInfoValue": "Nome da Ocupação" },
        { "PersonInfoType": "10", "PersonInfoValue": "True" },
        { "PersonInfoType": "11", "PersonInfoValue": "Nome Completo da Pessoa" },
        { "PersonInfoType": "12", "PersonInfoValue": "01/01/2001" },
        { "PersonInfoType": "13", "PersonInfoValue": "Nome da Mãe" },
        { "PersonInfoType": "14", "PersonInfoValue": "FITBANK" },
        { "PersonInfoType": "15", "PersonInfoValue": "02/05/2016" },
        { "PersonInfoType": "16", "PersonInfoValue": "1999.99" },
        { "PersonInfoType": "17", "PersonInfoValue": "1" },
        { "PersonInfoType": "18", "PersonInfoValue": "FITBANK INSTITUIÇÃO DE PAGAMENTOS ELETRÔNICOS S.A." }
    ]
}

After making the endpoint call, the client will receive the USN, which is the unique identifier for that request. With this USN, the client can track the progress and stages of their request, as it will also be included in the webhooks. Below, you can see the models that will be returned.

👍

Sucess

After successfully executing the API, the response below is generated

{
  "Success": "true",
  "Message": "Solicitação de atualização cadastral realizada.",
  "USNId": "7f08ec27-5984-4738-bacc-018e49c78ceb"
}

Webhook = UpdatePersonInfo

After calling the 'changePersonInfo' endpoint and receiving the USN as a response from the method, you will also receive a webhook indicating that the request has been created. Below, you will find the template for this notification.

{
    "USN": "7158fdb0-8260-4b22-ac81-4b980964723b",
    "Method": "UpdatePersonInfo",
    "BusinessUnitId": 1259,
    "Status": "A solicitação de alteração cadastral foi criada",
    "TaxNumber": "01122333444",
    "PersonInfos": [
      {
        "PersonInfoType": "PhoneNumber",
        "PersonInfoValue": "88991234567",
        "Status": "Created"
      },
      {
        "PersonInfoType": "Email",
        "PersonInfoValue": "[email protected]",
        "Status": "Created"
      },
      {
        "PersonInfoType": "NickName",
        "PersonInfoValue": "Katiane Lopes",
        "Status": "Created"
      },
      {
        "PersonInfoType": "FatherName",
        "PersonInfoValue": "Alberto Braga Lopes",
        "Status": "Created"
      },
      {
        "PersonInfoType": "Country",
        "PersonInfoValue": "Canada",
        "Status": "Created"
      },
      {
        "PersonInfoType": "BirthState",
        "PersonInfoValue": "CE",
        "Status": "Created"
      },
      {
        "PersonInfoType": "Gender",
        "PersonInfoValue": "Other",
        "Status": "Created"
      },
      {
        "PersonInfoType": "MaritalStatus",
        "PersonInfoValue": "NotMarried",
        "Status": "Created"
      },
      {
        "PersonInfoType": "SpouseName",
        "PersonInfoValue": "Harley Almeida Veras",
        "Status": "Created"
      },
      {
        "PersonInfoType": "PubliclyExposedPerson",
        "PersonInfoValue": "False",
        "Status": "Created"
      },
      {
        "PersonInfoType": "FullName",
        "PersonInfoValue": "Katiane Queiroz Lopes",
        "Status": "Created"
      },
      {
        "PersonInfoType": "BirthDate",
        "PersonInfoValue": "22/08/2000 00:00:00",
        "Status": "Created"
      },
      {
        "PersonInfoType": "MotherName",
        "PersonInfoValue": "Maria Adriana Sousa Queiroz",
        "Status": "Created"
      },
      {
        "PersonInfoType": "MonthlyIncome",
        "PersonInfoValue": "12000.55",
        "Status": "Created"
      }
    ]
  }

When your request is approved, you will receive a webhook following the template below. Please note that an approved request may contain fields that have been rejected, and as a result, only the approved fields will be updated.

{
    "USN": "9623de68-aa7b-4591-bf0f-f08283379230",
    "Method": "UpdatePersonInfo",
    "BusinessUnitId": 1259,
    "Status": "A solicitação de alteração cadastral foi atendida",
    "TaxNumber": "11122233344",
    "PersonInfos": [
      {
        "PersonInfoType": "PhoneNumber",
        "PersonInfoValue": "88991234567",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "Email",
        "PersonInfoValue": "[email protected]",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "NickName",
        "PersonInfoValue": "Katiane Lopes",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "FatherName",
        "PersonInfoValue": "Alberto Braga Lopes",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "Country",
        "PersonInfoValue": "Canada",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "BirthState",
        "PersonInfoValue": "CE",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "Gender",
        "PersonInfoValue": "Other",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "MaritalStatus",
        "PersonInfoValue": "NotMarried",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "SpouseName",
        "PersonInfoValue": "Harley Almeida Veras",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "PubliclyExposedPerson",
        "PersonInfoValue": "False",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "FullName",
        "PersonInfoValue": "Katiane Queiroz Lopes",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "BirthDate",
        "PersonInfoValue": "22/08/2000 00:00:00",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "MotherName",
        "PersonInfoValue": "Maria Adriana Sousa Queiroz",
        "Status": "Approved"
      },
      {
        "PersonInfoType": "MonthlyIncome",
        "PersonInfoValue": "12000.55",
        "Status": "Rejected"
      }
    ]
  }

Finally, the webhook that will notify you if your request being declined, follows the template below. Please bear in mind that the 'changePersonInfo' endpoint adheres to a set of security guidelines, so a single account may undergo the process and be declined only three times.

{
    "USN": "e1624a9e-5160-4970-981a-f44de451b7d4",
    "Method": "UpdatePersonInfo",
    "BusinessUnitId": 1259,
    "Status": "A sua solicitação de alteração cadastral da conta 795617-254444-7956182-8 foi rejeitada",
    "TaxNumber": "00011122233",
    "PersonInfos": [
      {
        "PersonInfoType": "PhoneNumber",
        "PersonInfoValue": "88912345678",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "Email",
        "PersonInfoValue": "[email protected]",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "NickName",
        "PersonInfoValue": "Apelido",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "FatherName",
        "PersonInfoValue": "Nome do Pai",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "Country",
        "PersonInfoValue": "Nome do Pais",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "BirthState",
        "PersonInfoValue": "MS",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "Gender",
        "PersonInfoValue": "Male",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "MaritalStatus",
        "PersonInfoValue": "Married",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "SpouseName",
        "PersonInfoValue": "Nome da Esposa",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "Occupation",
        "PersonInfoValue": "Nome da Ocupacao",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "PubliclyExposedPerson",
        "PersonInfoValue": "True",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "FullName",
        "PersonInfoValue": "Nome Completo da Pessoa",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "BirthDate",
        "PersonInfoValue": "01/01/2001 00:00:00",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "MotherName",
        "PersonInfoValue": "Nome da Mae",
        "Status": "Rejected"
      },
      {
        "PersonInfoType": "MonthlyIncome",
        "PersonInfoValue": "1999.99",
        "Status": "Rejected"
      }
    ]
  }

❗️

Error

After executing the API with error, the response below is generated

{
  "Success": "false",
  "Message": "Descrição do erro ocorrido durante a consulta",
  "Validation": [
    "Especificação do erro"
  ]
}

🚧

Attention point :clock5:

It's important to note that this entire process can take SLA (Service Level Agreement) 48 business hours to complete. Additionally, it's crucial to emphasize that you should only call the "changePersonInfo" endpoint when Fitbank proactively requests the resubmission of your personal data.

🚧

Limitations and Restrictions on the Use of the ChangePersonInfo Method 🚫

It is important to emphasize that there is a limitation on requests per TaxNumber for the ChangePersonInfo function. Specifically, there is a limit of three requests within a one-month period for sensitive data. Upon reaching this limit, access to the method is restricted to non-sensitive data only.

Sensitive Data List:
Individual:

  • Full Name
  • Mother's Name
  • Date of Birth

Companies:

  • Trade Name
  • Legal Name
  • Date of Establishment
  • Company Type

📘

Procedures for Acceptance of Terms in the ChangePersonInfo Method

It is important to note that when calling the ChangePersonInfo method, if an account has not previously accepted the terms, it will be necessary to accept them. However, if an account has already accepted the terms when calling this method, it will not be mandatory to retransmit the acceptance.

Documentation resubmission method

API Method = ResendDocuments

A method capable of resending the documentation required for the account opening process at Fitbank. In some requests for opening accounts, it is requisitioned to resend the documentation. One of the most common reasons for this request is sending invalid documentation, i.e., not requested. Another reason is the lack of clarity of the documents, preventing the data from being extracted.

{
    "Method": "ResendDocuments",
    "PartnerId": 30587, required
    "BusinessUnitId": 60794, required
    "TaxNumber": "099.647.870-14", required
    "Documents": [
        {
            "DocumentFile": "Documento em Base64", required
            "DocumentFormat": 0, required
            "DocumentName": "Endereco-Titular", required
            "DocumentType": 0, required
            "Description": "Reenvio de documento como solicitado", required
            "ExpirationDate": "2021/12/20",
    "Documents": "teste123"
        }
    ]
}

View ResendDocuments on API Reference

Converting a limited account to a full account

API Method = UpdatePersonData

The "updatePersonData" method is used to enhance accounts that were initially created using the limited account method (LimitedAccount) or the legacy account method (CreateAccount). Both account creation processes are straightforward, as they only request basic registration information for individuals or businesses, resulting in an account with certain limitations, such as transaction limits and access restrictions to specific products.

If the customer wishes to have a full-fledged account without these limitations, they must provide their registration data and identification documents. This information will undergo a verification process known as KYC (Know Your Customer). If approved in this stage, the account will be upgraded, and the customer will have access to a complete, unrestricted account.

{
    "Method": "UpdatePersonData",
    "PartnerId": 121,
    "BusinessUnitId": 555,
    "PersonName": "Luciano Martins Nascimento",
    "MonthlyIncome": "1400.00",
    "PhoneNumber": "8854324232",
    "TaxNumber": "93431372066",
    "Mail": "[email protected]",
    "Nickname": "Lucy",
    "PubliclyExposedPerson": false,
    "BirthDate": "01/01/2001",
    "MotherFullName": "Josefa Sousa Martins",
    "FatherFullName": "Mario Nascimento Andrade",
    "Nationality": "Brasileira",
    "BirthCity": "São Paulo",
    "BirthState": 5,
    "Gender": 0,
    "MaritalStatus": 1,
    "SpouseName": "Jualiana Queiroz de Castro",
    "Occupation": "Profissional de TI",
    "IdentityDocument": "21545454",
    "Addresses": [
        {
            "AddressLine": "Av José Bastos",
            "AddressLine2": "4140",
            "ZipCode": "60431086",
            "Neighborhood": "Rodolfo Teófilo",
            "CityCode": 85,
            "CityName": "Fortaleza",
            "State": 5,
            "AddressType": 0,
            "Country": "Brasil",
            "Complement": "CASA",
            "Reference": "Prx a Caixa"
        }
    ],
    "Documents": [
        {
            "DocumentFile": "IVBORGU=",
            "DocumentFormat": 4,
            "DocumentName": "CNH Frente",
            "DocumentType": 3,
            "Description": "Envio de documento",
            "ExpirationDate": "12/02/2025",
            "DocumentKey": "629F1244DCC245A79DB0C181D3A472CB"
        },
        {
            "DocumentFile": "IVBORGU=",
            "DocumentFormat": 4,
            "DocumentName": "CNH Verso",
            "DocumentType": 16,
            "Description": "Envio de documento",
            "ExpirationDate": "12/02/2025",
            "DocumentKey": "629F1244DCC245A79DB0C181D3A472CB"
        }
    ]
}
{
    "Method": "UpdatePersonData",
    "PartnerId": 111,
    "BusinessUnitId": 111,
    "IsCompany": true,
    "PersonName": "Fitbank Pagamentos Eletronicos S.A",
    "MonthlyIncome": "455500.00",
    "PhoneNumber": "8854324232",
    "TaxNumber": "13.203.354/0004-28",
    "Mail": "[email protected]",
    "Nickname": "Fitbank",
    "PubliclyExposedPerson": true,
    "CompanyType": 1,
    "CompanyActivity": "Tecnologia",
    "ConstitutionDate": "02/06/2002",
    "Addresses": [
        {
            "AddressLine": "Av José Bastos",
            "AddressLine2": "4140",
            "ZipCode": "60431086",
            "Neighborhood": "Rodolfo Teófilo",
            "CityCode": 85,
            "CityName": "Fortaleza",
            "State": 5,
            "AddressType": 0,
            "Country": "Brasil",
            "Complement": "CASA",
            "Reference": "Prx as Casas Bahia"
        }
    ],
    "Documents": [
        {
            "DocumentFile": "IVBORcXVhbHF1ZXJjb2lzYXNkZ3NnLnBuZw==",
            "DocumentFormat": "4",
            "DocumentName": "Contrato Social",
            "DocumentType": "5",
            "Description": "Envio de documento"
        },
        {
            "DocumentFile": "IVBORcXVhbHF1ZXJjb2lzYXNkZ3NnLnBuZw==",
            "DocumentFormat": "4",
            "DocumentName": "Faturamento Anual",
            "DocumentType": "17",
            "Description": "Envio de documento"
        }
    ],
    "Persons": [
        {
            "Name": "Gabriel Ítalo da Silva Lima",
            "TaxNumber": "308.830.710-02",
            "Mail": "[email protected]",
            "Occupation": "Analista de suporte técnico",
            "PhoneNumber": "88998764533",
            "PersonRoleType": 3,
            "CheckPendingTransfers": false,
            "PersonName": "Gabriel Ítalo da Silva Lima",
            "Nickname": "Gabriel Ítalo",
            "BirthDate": "22/11/1998",
            "MotherFullName": "Maria Cardoso Lima",
            "FatherFullName": "Paulo Castro Silva",
            "Nationality": "BRA",
            "BirthCity": "São Paulo",
            "BirthState": "5",
            "Gender": 0,
            "MaritalStatus": 0,
            "PubliclyExposedPerson": "false",
            "PersonDocuments": [
                {
                    "DocumentFile": "IVBORcXVhbHF1ZXJjb2lzYXNkZ3NnLnBuZw==",
                    "DocumentFormat": 4,
                    "DocumentName": "CNH",
                    "DocumentType": 3,
                    "Description": "Envio de documento"
                },
                {
                    "DocumentFile": "IVBORcXVhbHF1ZXJjb2lzYXNkZ3NnLnBuZw==",
                    "DocumentFormat": 4,
                    "DocumentName": "CNH",
                    "DocumentType": 16,
                    "Description": "Envio de documento"
                }
            ]
        }
    ]
}

View UpdatePersonData on API Reference

📘

Procedures for Acceptance of Terms in the UpdatePersonData Method

It is important to note that when an account does not have the terms accepted upon calling the UpdatePersonData method, it will be necessary to accept those terms. However, when an account calls this method and already has the term accepted, it will not be mandatory to retransmit this acceptance.


RegisterAddress

The RegisterAddress endpoint plays a crucial role by providing the ability to associate an address with individual or corporate accounts that currently lack linked location information. This functionality grants our clients the flexibility to include accurate address details in their accounts, catering to various scenarios such as card delivery. Furthermore, this practice aims to ensure that our users are in compliance with the regulations set forth by the Central Bank of Brazil (BACEN), reinforcing the integrity and suitability of our services in alignment with current regulatory guidelines.

To access this endpoint, make a POST request using the JSON model provided below:

{
    "Method": "RegisterAddress",
    "PartnerId": 356,
    "BusinessUnitId": 353,
    "TaxNumber": "66304536119",
    "Addresses": {
        "AddressLine": "Av Cidade Jardim",
        "AddressLine2": "400",
        "ZipCode": "01454901",
        "Neighborhood": "Jardim Paulistano",
        "CityCode": 11,
        "CityName": "São Paulo",
        "State": 24,
        "AddressType": 0,
        "Country": "Brazil",
        "Complement": "Company",
        "Reference": "Dacon Building"
    }
}
FieldTypeMandatoryDescription
MethodStringYes
PartnerIDIntegerYes
BusinessUnitIdIntegerYes
TaxNumberStringYes
AddressesObjectYes
- AddressLineStringYes
- AddressLine2StringYesAddress number
- ZipCodeStringYes
- NeighborhoodStringYes
- CityCodeIntegerYes
- CityNameStringYes
- StateIntegerYes"0" - AC | "1" - AL | "2" - AP | "3"- AM | "4" -BA | "5" - CE | "6" - DF |"7" - ES |"8"- GO | "9" - MA | "10" - MT |"11" -MS |"12" - MG |"13" - PA |"14" - PB| "15" - PR |"16" - PE |"17" - PI | "18" - RJ | "19" - RN | "20" - RS | "21" - RO | "22" - RR | "23" - SC | "24" - SP | "25" -SE |"26" - TO
- AddressTypeIntegerYes"0" - Commercial | "1" - Residential
- CountryStringYes
- ComplementStringYes
- ReferenceStringYes

This table details the fields, their associated data types, and whether they are mandatory or not when making a call to the endpoint using the provided JSON model. Make sure to provide appropriate values for all mandatory fields to ensure a successful interaction with the RegisterAddress endpoint.

👍

Sucess

After successfully executing the API, the response below is generated.

{
  "Success":"true",
  "Message":"Endereço salvo com sucesso"
}

❗️

Error

If the account already has an associated address, the error message below is returned

{
  "Success":"false",
  "Message":"ISE0313 - O CPF/CNPJ informado possui endereço cadastrado"
}

In the scenario where the CPF or CNPJ is not found in our customer base, the following message is returned

{
  "Success":"false",
  "Message":"ISE0046 - Person inexistente"
}