> ## Documentation Index
> Fetch the complete documentation index at: https://base39-release-notes-06-mar.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Textos Customizados

> Configuração de textos customizados para o Portal Cliente

## O que é um Texto Customizado?

O sistema possui uma série de textos que são exibidos para o usuário final. Esses textos podem ser customizados para que o sistema se adeque ao seu negócio.

## Como customizar um texto?

Para customizar um texto é necessário informar a chave do texto e o valor que será exibido para o usuário final.

## Onde encontrar a chave do texto?

Possuímos uma biblioteca de chaves que podem ser customizadas, segue abaixo a lista de chaves que atualmente podem ser configuradas:

<Accordion title="Biblioteca de chaves">
  ```js
   pix: 'Pix',
   amCet: 'CET (a.m.)',
   aaCet: 'CET (a.a.)',
   amTax: 'Taxa de juros (a.m)',
   aaTax: 'Taxa de juros (a.a)',
   iofValue: 'Valor IOF',
   insuranceFee: 'Taxa do seguro',
   insurance: 'Proposta de seguro',
   termsAndConditions_link: 'termos e condições',
   termsAndConditions_start: 'Compreendo e estou de acordo com os',
   termsAndConditions_end: 'para contratação do empréstimo.',
   totalPayable: 'Para este valor solicitado, o total a pagar será de ',
   loanCreatedThankYou: 'Obrigado!',
   loanCreated: 'Proposta cadastrada com sucesso.',
   loanCreatedinAnalysis: 'Seguiremos com análise da proposta e em breve você receberá uma resposta.',
   loanCreatedInfoDetails: 'Você pode visualizar os documentos e detalhes do seu empréstimo a qualquer momento.',
   loanCreatedAlertMayHaveChanges: 'A proposta e o valor solicitado poderão sofrer alterações conforme o prazo entre a solicitação e a liberação do crédito.',
   loanCreatedSeeDetails: 'Ver detalhes e documentos',
   loanWishedValue: 'Valor desejado',
   replyWithYourDocuments: 'Preencha os campos abaixo de acordo com seus documentos.',
   pepCoaf: 'Para as pessoas obrigadas que exercem atividades sujeitas à supervisão do Coaf, os procedimentos a serem adotados em relação a PEP encontram-se dispostos na Resolução Coaf nº 29, de 7 de dezembro de 2017.',
   refinancingAll: 'Todos',
   refinancingTotal: 'Total:',
   refinancingExchange: 'Troco:',
   refinancingSimulate: 'Simular',
   refinancingContinue: 'Continuar',
   refinancingInstallments: 'Parcelas:',
   refinancingWithExchange: 'Com troco',
   refinancingWithoutExchange: 'Sem troco',
   refinancingDebitBalance: 'Saldo devedor:',
   okIWantToRefinancing: 'Ok, quero contratar',
   totalAmountToRefinancing: 'Saldo a refinanciar:',
   maxRefinancingExchangeAvailable: 'Troco máximo:',
   wantRefinancingWithExchange: 'Quero um troco de',
   otherRefinancingValueAndTerm: 'Outro valor e prazo',
   numberOfRefinancingInstallments: 'Quantas parcelas?',
   loansToRefinancing: 'Quais empréstimos quer refinanciar?',
   currentDebitBalanceFromRefinancing: 'Saldo devedor (Refin):',
   goodNewsWeHaveRefinancingOfferAvailableForYou: 'Boa notícia! Temos uma oferta para você',
   waitWhileWeSearchOffersForYourLoansRefinancing: 'Aguarde, estamos buscando ofertas para o refinanciamento do seu empréstimo...',
   acquittanceConditionsInformation: 'Os valores apresentados são baseados nesta simulação e são aproximados. Os valores reais podem ser conferidos no momento da contratação',
   acquittanceAlreadyHaveAnticipationInProgress: 'Verificamos que você já possui uma antecipação em andamento.',
   acquittanceAnticipateInstallments: 'Antecipar parcelas',
   acquittanceBack: 'Voltar',
   acquittanceConfirmAnticipation: 'Confirmar antecipação',
   acquittanceContinue: 'Continuar',
   acquittanceDiscount: 'Desconto:',
   acquittanceDueDate: 'Vencimento:',
   acquittanceErrorWhileRequestingDataTryAgain: 'Houve um erro durante a comunicação, tente novamente mais tarde.',
   acquittanceItSeemsYouDidNotSelectedAnyInstallmentToAnticipate: 'Parece que você não selecionou nenhuma parcela para antecipar.',
   acquittanceOriginalTotalValue: 'Valor total original:',
   acquittanceOverdueInstallments: 'Parcelas vencidas',
   acquittanceOverdueInstallmentsAreAddedOnAnticipation: 'Parcelas vencidas não podem ser removidas da antecipação',
   acquittanceRedirectingToPayment: 'Redirecionando para pagamento...',
   acquittanceReload: 'Recarregar',
   acquittanceSelectInstallmentToAnticipate: 'Selecione as parcelas que deseja antecipar',
   acquittanceThereAreNotInstallmentsToBeAnticipated: 'Não existem parcelas para serem antecipadas no momento.',
   acquittanceTotalValue: 'Valor total:',
   acquittanceValue: 'Valor:',
   acquittanceValueToPay: 'Valor a pagar:',
   acquittanceViewBillet: 'Visualizar boleto',
   acquittanceWaitWhileCalculatingDiscount: 'Calculando seu desconto. Aguarde...',
   acquittanceInterest: 'Juros:'
   conditions: 'Condições',
   conditionsDetailedCosts: 'Custos detalhados',
   conditionsChosenValue: 'Valor líquido do crédito',
   conditionsIofTax: 'Imposto (IOF)',
   conditionsSubtotal: 'Valor financiado',
   conditionsInterest: 'Juros',
   conditionsTotalToPay: 'Somatório das parcelas',
   conditionsInstallments: 'Parcelas',
   conditionsValue: 'Valor',
   conditionsInformation: 'Os valores apresentados são baseados nesta simulação e são aproximados. Os valores reais podem ser conferidos no momento da contratação',
   conditionsContinue: 'Continuar',
   contractDetails: "Detalhes do contrato",
   contractDetailsIOF: "IOF",
   contractDetailsModality: "Modalidade",
   contractDetailsModalityValue: "Empréstimo Consignado nos Termos da Lei n.o 10.820, DE 17/12/2003.",
   contractDetailsSquarePaymentValue: "São Paulo",
   contractDetailsSquarePayment: "Praça de pagamento",
   contractDetailsInstallmentsValue: "Valor das parcelas",
   contractDetailsInstallmentsQuantity: "Quantidade de parcelas",
   contractDetailsFeaturesPayment: "Características de pagamento",
   contractDetailsLastInstallmentDueDate: "Vencimento da última parcela",
   contractDetailsFirstInstallmentDueDate: "Vencimento da primeira parcela",
   contractDetailsSubtotalValue: "Valor financiado",
   contractDetailsTotalCreditValue: "Valor líquido do crédito",
   contractDetailsDisbursementAmountValue: "Valor solicitado",
   loanDetailsSendDocuments: 'Enviar documentos',
   loanDetailsDeniedDocumentsSendNewDocuments: 'Os documentos não foram aceitos. Por favor envie novos documentos:',
   deniedDocumentsTitle: 'Documentos',
   deniedDocumentsSubmit: 'Enviar documentos',
   deniedDocumentsSubtitle: 'Os documentos enviados foram rejeitados, envie novos documentos.',
   deniedDocumentsInformation: 'Formatos aceitos: .jpeg, .png ou .pdf. Tamanho máximo: 10MB.',
   emptyEligibleProductsMessage: 'No momento, você não tem crédito disponível. Assim que estiver, exibiremos pra você!',
   logout: 'Sair',
   loginRegisterSuccessMessage: 'Usuário criado com sucesso!',
   loginRegisterNameLabel: 'Nome completo',
   loginRegisterDocumentLabel: 'CPF',
   loginRegisterEmailLabel: 'E-mail',
   loginRegisterPhoneLabel: 'Telefone',
   loginRegisterSubmit: 'Registrar',
   loginRegisterBack: 'Voltar',
   loginPrivacyPolicyBack: 'Voltar',
   loginOtpTypeCodeSentToEmail: 'Digite abaixo o código enviado para o email',
   loginOtpTypeCodeSentToPhone:
     'Digite abaixo o código enviado para o número de telefone',
   loginOtpVerificationCodeLabel: 'Código de verificação',
   loginOtpSubmit: 'Continuar',
   loginOtpBack: 'Voltar',
   loginOtpDidNotReceivedVerificationCode: 'Não recebeu o código de verificação?',
   loginOtpResendVerificationCode: 'Reenviar código',
   loginOtpValidateSmsLabel: 'Valide com SMS',
   loginOtpValidateWhatsappLabel: 'Valide com WhatsApp',
   loginOtpValidateEmailLabel: 'Valide com E-mail',
   loginOtpValidateYourAccess: 'Valide o seu acesso:',
   loginAccessEmailOrPhoneLabel: 'Informe o telefone ou e-mail',
   loginAccessEmailLabel: 'Informe o e-mail',
   loginAccessSubmit: 'Continuar',
   loginAccessForgotMyLoginData: 'Esqueci meus dados de login',
   loginForgotLoginDataExceptionMessage:
     'Não localizamos o seu cadastro com esse CPF. Você pode se cadastrar informando seu e-mail ou número de telefone.',
   loginForgotLoginDataExceptionBack: 'Voltar para o login',
   loginForgotLoginDataSuccessTitle: 'Aqui estão as informações do seu cadastro',
   loginForgotLoginDataSuccessEmailLabel: 'E-mail:',
   loginForgotLoginDataSuccessPhoneLabel: 'Telefone:',
   loginForgotLoginDataSuccessBack: 'Fazer login',
   loginForgotLoginDataTitle:
     'Digite o seu CPF para que possamos verificar se você já possui um cadastro.',
   loginForgotLoginDataDocumentLabel: 'Informe o CPF',
   loginForgotLoginDataSubmit: 'Consultar',
   loginForgotLoginDataBack: 'Voltar',
   updateSalaryConfirm: 'Confirmar',
   updateSalary: 'Atualizar salário',
   updateSalaryHiredAt: 'Data de admissão',
   updateSalaryGrossSalary: 'Salário bruto',
   updateSalaryNetSalary: 'Salário líquido',
   updateSalaryTitle: 'Atualização de salário',
   updateSalaryFillInTheSalaryFields: 'Para prosseguir, preencha os campos abaixo referente ao seu salário da empresa',
   updateSalaryUninformedSalary: 'O RH não informou o seu salário. Atualize ou solicite o envio pelo RH para ver o valor disponível para empréstimo.',
   status: {
     repaid: 'Pago',
     open: 'Em análise',
     draft: 'Em análise',
     void: 'Não aprovado',
     canceled: 'Cancelado',
     pending: 'Ajustes pendentes',
     disbursed: 'Crédito liberado',
     disbursing: 'Crédito em liberação',
     canceling: 'Aguardando cancelamento'
   },
   statusForHome: {
     open: 'Em análise',
     void: 'Disponível',
     draft: 'Em análise',
     repaid: 'Disponível',
     pending: 'Ajustes pendentes',
     canceled: 'Disponível',
     disbursing: 'Em liberação',
     canceling: 'Em cancelamento',
     disbursed: 'Crédito liberado',
     notAvailable: 'Indisponível'
   },
   somethingNotRightTryRefreshPage: "Ops! Algo não está certo. Tente atualizar sua página."
  ```
</Accordion>

## Onde os textos são aplicados?

Os textos são aplicados em todo o Portal Cliente, desde a tela de simulação até a tela de contrato.

Todas as chaves são únicas e não refletem em mais de um local do sistema.

Para melhorar a identificação pode ser utilizado o seguinte padrão:

`<nome_da_tela>_<nome_da_chave>`
Exemplo: `home_pix`

## Como apagar um texto customizado?

Para apagar um texto customizado é necessário informar a chave do texto e o valor que será exibido para o usuário final.

Caso não queira que um texto apareça basta informar um valor vazio para a chave.

### Customização dos textos

<Tabs>
  <Tab title="Pela API">
    <Accordion title="cURL de exemplo da configuração">
      ```bash
        curl --location 'https://api.base39.io/v1/tenants/branding/themes/<SEU_DOMINO>' \
        --header 'Authorization: Bearer <SUA_API_KEY>' \
        --header 'accept: application/json' \
        --header 'content-type: application/json' \
        --data '
        {
          locales: {
            pt: {
              overrides: {
                pix: 'Pix',
                amCet: 'CET (a.m.)',
                aaCet: 'CET (a.a.)',
                amTax: 'Taxa de juros (a.m)',
                aaTax: 'Taxa de juros (a.a)',
                iofValue: 'Valor IOF',
                insuranceFee: 'Taxa do seguro',
                logout: 'Sair'
              }
            }
          }
        }
      '
      ```
    </Accordion>
  </Tab>
</Tabs>
