> ## 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.

# QITech

> Integração para desembolso e validação de chave PIX com a QITech.

## Desembolso

Quando uma proposta é aprovada, um dívida será criada na QITech e o status do empéstimo será alterado para "Desembolsando" (`disbursing`). Ao receber uma confirmação da QITech que o desembolso foi concluído com sucesso, o status do empréstimo será alterado para "Desembolsado" (`disbursed`). Se algum erro ocorrer, a mensagem da QITech será exibida como uma transação no histórico do empréstimo. É possível corrigir e fazer a reapresentação para desembolso.

<iframe src="https://mermaid.live/view#pako:eNqVUr1OwzAQfpWTGdtK5UdIZOhAKVIHEFCEGLJc7UtrKbGD7USqqj4NEwNP0RfjUidVqRiKJ-v8_fnu1kJaRSIRnj4qMpLuNC4cFqkBPuNckwk0GI16t-jp8iaBmc211AGBitJtv3zQhY3giGDsoKUl8ELBOoPA0qAN82wFFkpnJXl_TOs9T19JLg8sFHkq5jbvoBHQOHRpTjFoWUzrWJOa41mWB7X9rrVCcLTQPjhUeOTUu6-MsgmMWW_72Sruak2MLnGMcYKfjDJAGYXqD7d95yam1ghP03dQFmrMrQPftkXZ4-H8P0cj3Gb4PQZG7zM82qAzLZE7KmNN9EVBrkCteGPWDTEVYUkFpSLh65w1UtE_qL-h0zjPyTeAdXRKRel0gW41tvytyDzLsuxKqZbcYHJt6BAwHJ5fX0xS0bxvUrPhKFgFO1sZKZLgKuqLqlQYugUWSYa55yopzU15iFu-W_bND7-2-PE" className="w-full" height="500" />

## Validação da chave PIX

A validação da chave PIX é feita no Portal do Cliente durante o fluxo de preenchimento dos dados bancários. A Base39 consulta a QITech para saber se a chave PIX é válida e se o banco é suportado. Se a chave for inválida ou o banco não for suportado, o cliente não poderá prosseguir com o preenchimento da solicitação.

<iframe src="https://mermaid.live/view#pako:eNpdkctKxDAUhl8lHJd2YLwg2MUsrAqzEOoFcZHNmeTUBnKpSSoOpU_jQnyOeTFTM4VhsgrnfP9_bgMIJwlKCPTRkxV0q_Ddo-GWpVdpRTbSYrU6vcFAF9clqz0lrCUWnFZCRdz97L4dk8TIdH73G6IyLquzJIkf1y8k2pJVzoZeR2SixU9i9fqNVfV9hjOT4LnQE0Xn7bHVYt_SnEcWiM2G9KVCJCjAkDeoZBprmPQcYkuGOJTpu0lWHIqD-Ct6hRtNYQKGXJBD55VBv62cdj4rT5qmuZRyL54YrSwdAsvl2dX5HYcpP3I7plawj-55awWU0fdUQN9JjPOWoWxQhxQlqdI0D_kU_xcZ_wDymobr" className="w-full" height="400" />

## Configuração na QITech

### Chaves

A autenticação da QITech é feita através de chaves.

<Tabs>
  <Tab title="Pela API">
    1. Acesse o [Portal QITech](https://qitech.app)
    2. Clique em "Meu perfil" e depois na aba "Integração"
    3. Siga as instruções da QITech para gerar as chaves necessárias
    4. Use a [API de Configurações](/development/api-reference/endpoint/post-v1-settings) para armazenar as chaves. Veja o cURL de exemplo.

    <Accordion title="cURL de exemplo da configuração de desembolso">
      ```bash
      curl --request POST \
          --url https://api.base39.io/v1/settings \
          --header 'authorization: Basic <sua-api-key>' \
          --data '
          {
            "disbursements": {
              "qitech": { // nome da configuração
                "type": "qitech",
                "credentials": {
                  "url": "https://api-auth.sandbox.qitech.app",
                  "apiKey": "abcdef12345",
                  "privateKey": "-----BEGIN RSA PRIVATE KEY-----\\nMIIBOgIBAAJBA1iL+YC+dr4jm\\nkSU1rAs8czUpBHZj/0nagBmBHgjP5W/Q9fkCAwEAAQJAMtWs6j3ytIbJ4CofHAy5\\nD+aiZ+QqGMi8DqR8Vogea8E\\nAQIhAOZCyFD4Bhsc6Wsl8\\nyW7qYMtLljpBUdy0C5cnC9xzI\\n6nNhbeQIhANv2\\n+R0S0bz+my50DL\\n-----END RSA PRIVATE KEY-----",
                  "publicKey": "-----BEGIN PUBLIC KEY-----\\nMFwwDQQ4zcUC9\\noQXSxo5c1iL+YC+dr4jmkCAwEAAQ==\\n-----END PUBLIC KEY-----",
                  "ccbPrefix": "string" // consulte o time QITech para saber o valor
                },
                "supportedPaymentMethods": [
                  "paymentMethod.pix",
                  "boleto",
                  "invoice"
                ]
              }
            }
          }
          '
      ```
    </Accordion>

    5. Use as mesmas chaves para configurar a consulta de chave PIX. Veja o cURL de exemplo.

    <Accordion title="cURL de exemplo da consulta de chave PIX">
      ```bash
      curl --request POST \
          --url https://api.base39.io/v1/settings \
          --header 'authorization: Basic <sua-api-key>' \
          --data '
          {
            "validations": {
              "pix": {
                "type": "qitech",
                "credentials": {
                  "url": "https://api-auth.sandbox.qitech.app",
                  "apiKey": "abcdef12345",
                  "privateKey": "-----BEGIN RSA PRIVATE KEY-----\\nMIIBOgIBAAJBA1iL+YC+dr4jm\\nkSU1rAs8czUpBHZj/0nagBmBHgjP5W/Q9fkCAwEAAQJAMtWs6j3ytIbJ4CofHAy5\\nD+aiZ+QqGMi8DqR8Vogea8E\\nAQIhAOZCyFD4Bhsc6Wsl8\\nyW7qYMtLljpBUdy0C5cnC9xzI\\n6nNhbeQIhANv2\\n+R0S0bz+my50DL\\n-----END RSA PRIVATE KEY-----",
                  "publicKey": "-----BEGIN PUBLIC KEY-----\\nMFwwDQQ4zcUC9\\noQXSxo5c1iL+YC+dr4jmkCAwEAAQ==\\n-----END PUBLIC KEY-----",
                  "ccbPrefix": "string", // consulte o time QITech para saber o valor
                  "passphrase": "string" // opcional
                }
              }
            }
          }
          '
      ```
    </Accordion>
  </Tab>

  <Tab title="Pelo Console">
    <Snippet file="console-not-available.mdx" />
  </Tab>
</Tabs>

### Webhook

Os webhooks retornam informações sobre o status de desembolso. São essenciais para que a Base39 possa atualizar o status dos desembolsos e pendências.

<Tabs>
  <Tab title="Pela API">
    1. Crie uma chave de API restrita para o webhook da QITech através da [API de Chaves](/development/api-reference/endpoint/post-v1-tenants-api-keys). Veja o cURL de exemplo.

    <Accordion title="cURL de exemplo da consulta de chave PIX">
      ```bash
      curl --request POST \
          --url https://api.base39.io/v1/tenants/api-keys \
          --header 'authorization: Basic <sua-api-key>' \
          --data '
          {
            "name": "<nome>",
            "email": "<email>",
            "rules": [
              {
                "rule": "readOnly",
                "resource": "/v1/webhooks/qitech"
              }
            ]
          }
          '
      ```
    </Accordion>

    2. Acesse o [Portal QITech](https://qitech.app)
    3. Clique em "Meu perfil" e depois na aba "Integração"
    4. Role até "Configurações de webhook"
    5. No campo URL, adicione a URL do webhook da Base39 `https://api.base39.io/v1/webhooks/qitech`
    6. No campo `headers`, adicione a chave de API criada no passo 1 e o nome da configuração usado no passo 4 da seção [Chaves](#chaves)

    ```json
    {
      "Authorization": "Bearer <chave-da-api>",
      "Base39-Disbursement": "qitech"
    }
    ```

    Se você definiu o nome da configuração como `qitech`, o valores devem ficar nesse formato:

    <Frame caption="Configuração de webhook no portal da QITech">
      <img src="https://mintlify.s3-us-west-1.amazonaws.com/base39-release-notes-06-mar/assets/images/integration-qitech-webhook.png" />
    </Frame>

    A configuração deve ser aplicada ao clicar em "Salvar".

    <Info>O nome da configuração é usado para suportar cenários onde você precisa ter mais de uma conta na QItech.</Info>
  </Tab>

  <Tab title="Pelo Console">
    <Snippet file="console-not-available.mdx" />
  </Tab>
</Tabs>
