# Documentações de API



# API - cna-consulta-oab

**Formato da Requisição do robô (via HTTP)**

```json
{
    "dry": false,
    "bot": "cna-consulta-oab",
    "version": "v3.0.0-dev",
    "cid": "",
    "timeout": "",
    "deadline": "",
    "data": {
        "integracao": "",
        "inscricao": "51414",
        "seccional": "PR",
    },
    "credentials": {
        "username": "",
        "pin": "",
        "base64Cert": "",
        "credentialsOption": ""
    }
}


```

**Descrição campos 'DATA'**

<table id="bkmrk-campo-obrigat%C3%B3rio-fo" style="width: 100%;"><thead><tr><th style="width: 12.6082%;">CAMPO</th><th style="width: 13.597%;">Obrigatório</th><th style="width: 9.39431%;">Formato</th><th style="width: 22.9913%;">Exemplo</th><th style="width: 41.4091%;">Descrição</th></tr></thead><tbody><tr><td style="width: 12.6082%;">integracao</td><td style="width: 13.597%;">Não</td><td style="width: 9.39431%;">String</td><td style="width: 22.9913%;"> </td><td style="width: 41.4091%;">Número de controle interno</td></tr><tr><td style="width: 12.6082%;">inscricao</td><td style="width: 13.597%;">Sim</td><td style="width: 9.39431%;">String</td><td style="width: 22.9913%;"> </td><td style="width: 41.4091%;">Nº da inscrição da OAB do advogado</td></tr><tr><td style="width: 12.6082%;">seccional</td><td style="width: 13.597%;">Sim</td><td style="width: 9.39431%;">String</td><td style="width: 22.9913%;">(ex. PR, BA, SP)</td><td style="width: 41.4091%;">Informação de qual estado </td></tr></tbody></table>

# API - proconsumidor-coletar-audiencia

Formato Markdown (documentação simples)

#### <span style="background-color: rgb(241, 196, 15);">Autentica um usuário com CPF e senha codificada.</span>



##### **POST** `/auth/login`

**Requisição:**

**Headers:**

- Content-Type: application/json

**Body:**

```json
{
  "login": "12345",
  "pass": "e10adc3949ba59abbe56e057f20f883e",
  "tokenValidation": "",
  "isUsuarioConsumidor": false
}
```

**Descrição dos campos:**

- **login** (string): **CPF** do usuário, apenas números.
- **pass** (string): Senha codificada (ex: **MD5**).
- **tokenValidation** (string): Campo para token externo (pode ficar vazio).
- **isUsuarioConsumidor** (boolean): false para usuários internos, true para consumidores finais.

**Resposta 200 OK**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "uid": "MjEXXXz",
    "message": "deliverCredentials",
    "jsonUser": "{\"codigoUsuario\":XXXXXXX,\"nome\":\"XXXXXXXXXXXXXXX\",\"cpf\":\"XXXXXXXXXX\",\"tipoUsuario\":\"Fornecedor\",\"nomePerfil\":\"Colaborador\",\"codigoTipoUsuario\":4,\"listaFornecedores\":[{\"codigo\":XXXXX,\"nome\":\"XXXXXXXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXXXXXX\"},{\"codigo\":XXX,\"nome\":\"XXXXXXX Financeira\",\"cpfCnpj\":\"XXXXXXXXXX\"},{\"codigo\":XXXXXX,\"nome\":\"XXXXXXXX XXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXX\"}],\"permissoes\":[\"gerenciar_atendimento\",\"relatorio_gerencial\"],\"codigoFornecedor\":XXXX,\"nomeFornecedor\":\"XXXXXXXXXXXXXXXX.\",\"cnpjFornecedor\":XXXXXXXXXXXXXXXXX,\"indicadorAceiteTermoUso\":true}",
    "expiry": 1752683825157,
    "primeiroAcesso": false,
    "auth_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyODM2ODg3MTg0IiwimNvZGlnb0Zvcm5lY2Vkb3IiOjY1NSwiaXNVc3VhcmlvQ29uc3VtaWRvciI6ZmFsc2V9.T1x2r0wcHijQNey_fyjcTs9IUI4Ocwx7-Or7Nu-aYyQ"
}
```

**Respostas possíveis:**

- 401 Unauthorized: CPF ou senha inválidos.
- 500 Internal Server Error: Erro interno.

#### <span style="background-color: rgb(241, 196, 15);">**Altera o fornecedor autenticado associado ao usuário logado.**</span>



##### **PUT** `/login/818/mudar-fornecedor-autenticado`

**Requisição:**

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3127" data-start="2132" style="width: 101.728%;"><thead data-end="2214" data-start="2132"><tr data-end="2214" data-start="2132"><th data-col-size="sm" data-end="2153" data-start="2132" style="width: 43.8853%;">Header</th><th data-col-size="md" data-end="2214" data-start="2153" style="width: 56.1147%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3127" data-start="2298"><tr data-end="2380" data-start="2298"><td data-col-size="sm" data-end="2319" data-start="2298" style="width: 43.8853%;">`access-token`</td><td data-col-size="md" data-end="2380" data-start="2319" style="width: 56.1147%;">JWT válido do usuário</td></tr><tr data-end="2463" data-start="2381"><td data-col-size="sm" data-end="2402" data-start="2381" style="width: 43.8853%;">`token-type`</td><td data-col-size="md" data-end="2463" data-start="2402" style="width: 56.1147%;">`Bearer`</td></tr><tr data-end="2546" data-start="2464"><td data-col-size="sm" data-end="2485" data-start="2464" style="width: 43.8853%;">`uid`</td><td data-col-size="md" data-end="2546" data-start="2485" style="width: 56.1147%;">UID codificado do usuário (ex: MD5)</td></tr><tr data-end="2629" data-start="2547"><td data-col-size="sm" data-end="2568" data-start="2547" style="width: 43.8853%;">`expiresuid`</td><td data-col-size="md" data-end="2629" data-start="2568" style="width: 56.1147%;">Timestamp de expiração do token</td></tr><tr data-end="2712" data-start="2630"><td data-col-size="sm" data-end="2651" data-start="2630" style="width: 43.8853%;">`primeiroAcesso`</td><td data-col-size="md" data-end="2712" data-start="2651" style="width: 56.1147%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="2795" data-start="2713"><td data-col-size="sm" data-end="2734" data-start="2713" style="width: 43.8853%;">`tz`</td><td data-col-size="md" data-end="2795" data-start="2734" style="width: 56.1147%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="2878" data-start="2796"><td data-col-size="sm" data-end="2817" data-start="2796" style="width: 43.8853%;">`Content-Type`</td><td data-col-size="md" data-end="2878" data-start="2817" style="width: 56.1147%;">`application/json`</td></tr><tr data-end="2961" data-start="2879"><td data-col-size="sm" data-end="2900" data-start="2879" style="width: 43.8853%;">`Origin`</td><td data-col-size="md" data-end="2961" data-start="2900" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="3044" data-start="2962"><td data-col-size="sm" data-end="2983" data-start="2962" style="width: 43.8853%;">`Referer`</td><td data-col-size="md" data-end="3044" data-start="2983" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="3127" data-start="3045"><td data-col-size="sm" data-end="3066" data-start="3045" style="width: 43.8853%;">Outros</td><td data-col-size="md" data-end="3127" data-start="3066" style="width: 56.1147%;">Headers de navegador (`User-Agent`, `sec-ch-ua`, etc.)</td></tr></tbody></table>

</div></div>---

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-copiareditar-%7B%7D"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div></div>---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-200"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3565" data-start="3284"><thead data-end="3330" data-start="3284"><tr data-end="3330" data-start="3284"><th data-col-size="sm" data-end="3293" data-start="3284">Código</th><th data-col-size="sm" data-end="3330" data-start="3293">Descrição</th></tr></thead><tbody data-end="3565" data-start="3378"><tr data-end="3424" data-start="3378"><td data-col-size="sm" data-end="3387" data-start="3378">200</td><td data-col-size="sm" data-end="3424" data-start="3387">Sucesso na troca do fornecedor</td></tr><tr data-end="3471" data-start="3425"><td data-col-size="sm" data-end="3434" data-start="3425">401</td><td data-col-size="sm" data-end="3471" data-start="3434">Não autorizado (token inválido)</td></tr><tr data-end="3518" data-start="3472"><td data-col-size="sm" data-end="3481" data-start="3472">403</td><td data-col-size="sm" data-end="3518" data-start="3481">Acesso negado</td></tr><tr data-end="3565" data-start="3519"><td data-col-size="sm" data-end="3528" data-start="3519">500</td><td data-col-size="sm" data-end="3565" data-start="3528">Erro interno do servidor</td></tr></tbody></table>

</div></div>#### <span style="background-color: rgb(241, 196, 15);">**Busca os dados completos de um atendimento pelo número de protocolo ou número de acompanhamento**</span>


##### **GET** `/atendimentos/obter-por-numero-acompanhamento-ou-atendimento/{numero}`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3655" data-start="2909" style="width: 92.4691%;"><thead data-end="2991" data-start="2909"><tr data-end="2991" data-start="2909"><th data-col-size="sm" data-end="2930" data-start="2909" style="width: 34.2223%;">Header</th><th data-col-size="sm" data-end="2991" data-start="2930" style="width: 65.7777%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3655" data-start="3075"><tr data-end="3157" data-start="3075"><td data-col-size="sm" data-end="3096" data-start="3075" style="width: 34.2223%;">`access-token`</td><td data-col-size="sm" data-end="3157" data-start="3096" style="width: 65.7777%;">JWT válido do usuário</td></tr><tr data-end="3240" data-start="3158"><td data-col-size="sm" data-end="3179" data-start="3158" style="width: 34.2223%;">`token-type`</td><td data-col-size="sm" data-end="3240" data-start="3179" style="width: 65.7777%;">`Bearer`</td></tr><tr data-end="3323" data-start="3241"><td data-col-size="sm" data-end="3262" data-start="3241" style="width: 34.2223%;">`uid`</td><td data-col-size="sm" data-end="3323" data-start="3262" style="width: 65.7777%;">UID codificado do usuário (ex: Base64)</td></tr><tr data-end="3406" data-start="3324"><td data-col-size="sm" data-end="3345" data-start="3324" style="width: 34.2223%;">`expires`</td><td data-col-size="sm" data-end="3406" data-start="3345" style="width: 65.7777%;">Timestamp de expiração do token</td></tr><tr data-end="3489" data-start="3407"><td data-col-size="sm" data-end="3428" data-start="3407" style="width: 34.2223%;">`primeiroAcesso`</td><td data-col-size="sm" data-end="3489" data-start="3428" style="width: 65.7777%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="3572" data-start="3490"><td data-col-size="sm" data-end="3511" data-start="3490" style="width: 34.2223%;">`tz`</td><td data-col-size="sm" data-end="3572" data-start="3511" style="width: 65.7777%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="3655" data-start="3573"><td data-col-size="sm" data-end="3594" data-start="3573" style="width: 34.2223%;">`Content-Type`</td><td data-col-size="sm" data-end="3655" data-start="3594" style="width: 65.7777%;">`application/json` (implícito)</td></tr></tbody></table>

</div></div>---

**Parâmetro de rota:**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3945" data-start="3689" style="width: 100.123%;"><thead data-end="3773" data-start="3689"><tr data-end="3773" data-start="3689"><th data-col-size="sm" data-end="3701" data-start="3689" style="width: 15.5%;">Parâmetro</th><th data-col-size="sm" data-end="3744" data-start="3701" style="width: 64.625%;">Descrição</th><th data-col-size="sm" data-end="3773" data-start="3744" style="width: 19.875%;">Exemplo</th></tr></thead><tbody data-end="3945" data-start="3862"><tr data-end="3945" data-start="3862"><td data-col-size="sm" data-end="3874" data-start="3862" style="width: 15.5%;">`numero`</td><td data-col-size="sm" data-end="3916" data-start="3874" style="width: 64.625%;">Número do atendimento ou acompanhamento</td><td data-col-size="sm" data-end="3945" data-start="3916" style="width: 19.875%;">XXXXXXXXXXXXXX</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none">  
</div></div></div>
**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-1"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">**json**</div><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>```json
{
    "data": [
        {
            "numeroAcompanhamento": "30xxxxx545xxxx3",
            "dataAbertura": "19/07/2024",
            "nomeCredenciada": "Procon Municipal de Teodoro Sampaio - SP",
            "nomePosto": "Procon Municipal de Teodoro Sampaio - SP",
            "area": "Serviços Financeiros",
            "assunto": "Crédito Pessoal e Demais Empréstimos (exceto financiamento de imóveis e veículos)",
            "problema": "Cobrança por serviço/produto não contratado / não reconhecido / não solicitado",
            "nomeConsumidor": "Fulano Perxxx Grxxx da Sxxxa ",
            "cpfConsumidor": "08xx6xxxx07",
            "cnpjConsumidor": null,
            "numeroFornecedorAtendimento": "01",
            "razaoSocialFornecedor": "Faxxx Fxxnxxx S.A. Cxxxx, Fxxxxxxx e Ixxxxx",
            "nomeFantasiaFornecedor": "Fxxxx Fxxxxxxx",
            "cnpjFornecedor": "1x5xxxxx0001xx",
            "cpfFornecedor": null,
            "grupoEconomicoFornecedor": null,
            "tecnicoAtendimento": "Jxxxo Cxxar Pxxx Fxxxxxxxa",
            "tecnicoConciliador": null,
            "dataPrazoRespostaCarta": null,
            "dataPrazoRespostaAudiencia": null,
            "dataAgendamentoAudiencia": null,
            "nomeProcurador": null,
            "tipoAcompanhamento": {
                "codigo": 3,
                "nome": "Reclamação",
                "descricao": "Reclamação"
            },
            "tipoEstadoAtendimento": {
                "codigo": 22,
                "nome": "Em Decisão",
                "codigoFase": 3,
                "tratativa": false,
                "descricao": "Em Decisão"
            },
            "numeroAtendimento": "24xxxxxx010xxxxx01",
            "tipoFaseAcompanhamento": {
                "codigo": 3,
                "nome": "Decisão",
                "descricao": "Decisão"
            },
            "tipoOrigemAcompanhamento": {
                "codigo": 1,
                "nome": "Presencial",
                "descricao": "Presencial"
            },
            "tipoTratativa": null,
            "cpfProcurador": null
        }
    ],
    "responseAttrs": {
        "recordsTotal": 1
    }
}
```

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--10"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>---

Respostas possíveis:

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-404"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4655" data-start="4368"><thead data-end="4415" data-start="4368"><tr data-end="4415" data-start="4368"><th data-col-size="sm" data-end="4377" data-start="4368">Código</th><th data-col-size="sm" data-end="4415" data-start="4377">Descrição</th></tr></thead><tbody data-end="4655" data-start="4464"><tr data-end="4559" data-start="4512"><td data-col-size="sm" data-end="4521" data-start="4512">404</td><td data-col-size="sm" data-end="4559" data-start="4521">Atendimento não encontrado</td></tr><tr data-end="4607" data-start="4560"><td data-col-size="sm" data-end="4569" data-start="4560">401</td><td data-col-size="sm" data-end="4607" data-start="4569">Não autorizado (token inválido)</td></tr><tr data-end="4655" data-start="4608"><td data-col-size="sm" data-end="4617" data-start="4608">500</td><td data-col-size="sm" data-end="4655" data-start="4617">Erro interno no servidor</td></tr></tbody></table>

</div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Retorna as tratativas (respostas, movimentações ou atualizações) associadas a uma **reclamação** específica com base no número de acompanhamento.** </span>



##### **GET** `/tratativas-reclamacao` 

**Parâmetros de Query**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="746" data-start="362"><thead data-end="489" data-start="362"><tr data-end="489" data-start="362"><th data-col-size="sm" data-end="388" data-start="362">Parâmetro</th><th data-col-size="sm" data-end="399" data-start="388">Tipo</th><th data-col-size="sm" data-end="413" data-start="399">Obrigatório</th><th data-col-size="sm" data-end="462" data-start="413">Descrição</th><th data-col-size="sm" data-end="489" data-start="462">Exemplo</th></tr></thead><tbody data-end="746" data-start="619"><tr data-end="746" data-start="619"><td data-col-size="sm" data-end="645" data-start="619">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="656" data-start="645">string</td><td data-col-size="sm" data-end="670" data-start="656">✅ Sim</td><td data-col-size="sm" data-end="719" data-start="670">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="746" data-start="719">`2XXXXXXXXXXXXXXXXX503`</td></tr></tbody></table>

</div></div>---

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-descri%C3%A7%C3%A3o-acc"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><table class="w-fit min-w-(--thread-content-width)" data-end="1687" data-start="786" style="width: 96.4198%;"><thead data-end="867" data-start="786"><tr data-end="867" data-start="786"><th data-col-size="sm" data-end="806" data-start="786" style="width: 40.9574%;">Header</th><th data-col-size="md" data-end="867" data-start="806" style="width: 59.0426%;">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1687" data-start="950"><tr data-end="1031" data-start="950"><td data-col-size="sm" data-end="970" data-start="950" style="width: 40.9574%;">`access-token`</td><td data-col-size="md" data-end="1031" data-start="970" style="width: 59.0426%;">Token JWT válido do usuário autenticado</td></tr><tr data-end="1113" data-start="1032"><td data-col-size="sm" data-end="1052" data-start="1032" style="width: 40.9574%;">`token-type`</td><td data-col-size="md" data-end="1113" data-start="1052" style="width: 59.0426%;">`Bearer`</td></tr><tr data-end="1195" data-start="1114"><td data-col-size="sm" data-end="1134" data-start="1114" style="width: 40.9574%;">`uid`</td><td data-col-size="md" data-end="1195" data-start="1134" style="width: 59.0426%;">ID do usuário codificado (ex: Base64)</td></tr><tr data-end="1277" data-start="1196"><td data-col-size="sm" data-end="1216" data-start="1196" style="width: 40.9574%;">`expires`</td><td data-col-size="md" data-end="1277" data-start="1216" style="width: 59.0426%;">Timestamp de expiração do token</td></tr><tr data-end="1359" data-start="1278"><td data-col-size="sm" data-end="1298" data-start="1278" style="width: 40.9574%;">`primeiroAcesso`</td><td data-col-size="md" data-end="1359" data-start="1298" style="width: 59.0426%;">`false` (ou `true` caso seja primeiro acesso)</td></tr><tr data-end="1441" data-start="1360"><td data-col-size="sm" data-end="1380" data-start="1360" style="width: 40.9574%;">`tz`</td><td data-col-size="md" data-end="1441" data-start="1380" style="width: 59.0426%;">Fuso horário, ex: `America/Sao_Paulo`</td></tr><tr data-end="1523" data-start="1442"><td data-col-size="sm" data-end="1462" data-start="1442" style="width: 40.9574%;">`User-Agent`</td><td data-col-size="md" data-end="1523" data-start="1462" style="width: 59.0426%;">Identificação do navegador (browser padrão)</td></tr><tr data-end="1605" data-start="1524"><td data-col-size="sm" data-end="1544" data-start="1524" style="width: 40.9574%;">`Origin`</td><td data-col-size="md" data-end="1605" data-start="1544" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1687" data-start="1606"><td data-col-size="sm" data-end="1626" data-start="1606" style="width: 40.9574%;">`Referer`</td><td data-col-size="md" data-end="1687" data-start="1626" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br/`</td></tr></tbody></table>

</div></div></div></div>---

**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-2"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "data": [
        {
            "ano": 24,
            "mes": 7,
            "codigoCredenciada": 111111110,
            "codigoPosto": 10000001,
            "numeroSequencial": 50,
            "dataAbertura": 1722433130149,
            "numeroFornecedorAtendimento": null,
            "tipo": {
                "codigo": 2,
                "nome": "Carta"
            },
            "situacao": {
                "codigo": 2,
                "nome": "Finalizada"
            },
            "justificativaCancelamento": null,
            "respostaFornecedor": "<p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Prezados,\n­<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo utilizado desde o século XVI, quando um impressor desconhecido pegou uma bandeja de tipos e os embaralhou para fazer um livro de modelos de tipos. Lorem Ipsum sobreviveu não só a cinco séculos, como também ao salto para a editoração eletrônica, permanecendo essencialmente inalterado. Se popularizou na década de 60, quando a Letraset lançou decalques contendo passagens de Lorem Ipsum, e mais recentemente quando passou a ser integrado a softwares de editoração eletrônica como Aldus PageMaker.,\n<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p>\n\n\n\n\n\n\n\n\n\n\n\n<span style=\"font-size:11.0pt;font-family:&quot;Arial&quot;,sans-serif;mso-fareast-font-family:\nCalibri;mso-fareast-theme-font:minor-latin;mso-ligatures:standardcontextual;\nmso-ansi-language:PT-BR;mso-fareast-language:EN-US;mso-bidi-language:AR-SA\">MBA\nAdvogados</span><br></p>",
            "consideracoesCredenciada": null,
            "textoNotificacaoConsumidor": null,
            "textoNotificacaoProcurador": null,
            "tipoResultado": null,
            "codigoFornecedor": 1,
            "nomeFornecedor": null,
            "codigoConsumidor": 20000000-111,
            "nomeConsumidor": "ZXXXXXXXX XXXXXX XX da Silva ",
            "dataRetornoConsumidor": 1726282800000,
            "codigoProcurador": null,
            "nomeProcurador": null,
            "indicadorDescumprimentoAcordo": null,
            "fornecedores": [
                {
                    "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2407072600100050301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo utilizado desde o século XVI, quando um impressor desconhecido pegou uma bandeja de tipos e os embaralhou para fazer um livro de modelos de tipos. Lorem Ipsum sobreviveu não só a cinco séculos, como também ao salto para a editoração eletrônica, permanecendo essencialmente inalterado. Se popularizou na década de 60, quando a Letraset lançou decalques contendo passagens de Lorem Ipsum, e mais recentemente quando passou a ser integrado a softwares de editoração eletrônica como Aldus PageMaker. termos dos artigos 45, 46 e 47 do Decreto 2.181/97,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">31 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                    "dataAvisoRecebimento": null,
                    "indicadorRespostaFornecedor": true,
                    "indicadorPrazoProrrogado": false,
                    "dataPrazoRespostaFornecedor": "2024-08-10",
                    "indicadorParticipacaoEletronica": true,
                    "indicadorParticipacaoCancelada": false,
                    "indicadorAtendimentoEletronico": true,
                    "respostaFornecedor": {
                        "data": 1723005879673,
                        "texto": "<p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Prezados,\n­<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Segue\ndefesa administrativa referente a reclamação em questão do fornecedor FACTA\nFINANCEIRA S.A. CRÉDITO, FINANCIAMENTO E INVESTIMENTO.<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Atenciosamente,\n<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p>\n\n\n\n\n\n\n\n\n\n\n\n<span style=\"font-size:11.0pt;font-family:&quot;Arial&quot;,sans-serif;mso-fareast-font-family:\nCalibri;mso-fareast-theme-font:minor-latin;mso-ligatures:standardcontextual;\nmso-ansi-language:PT-BR;mso-fareast-language:EN-US;mso-bidi-language:AR-SA\">MBA\nAdvogados</span><br></p>",
                        "anexos": [
                            {
                                "chavePrimaria": {
                                    "ano": 24,
                                    "mes": 7,
                                    "credenciada": 1461160,
                                    "postoAtendimento": 1461161,
                                    "numeroSequencial": 50,
                                    "dataAbertura": 1722433130149,
                                    "numeroFornecedorAtendimento": 1,
                                    "numeroSequencialAnexo": 1
                                },
                                "nome": "2XXXXXXXXXXXXXXXXXX1 DEFESA ADMINISTRATIVA.pdf",
                                "dataInclusao": 1723005899531,
                                "tamanhoArquivo": 241799,
                                "objectKey": "172XXXXXX31_ee32c_680.pdf",
                                "tamanhoArquivoStorage": 241799,
                                "numeroSequencial": 1
                            },
                            {
                                "chavePrimaria": {
                                    "ano": 24,
                                    "mes": 7,
                                    "credenciada": 1461160,
                                    "postoAtendimento": 1461161,
                                    "numeroSequencial": 50,
                                    "dataAbertura": 1722433130149,
                                    "numeroFornecedorAtendimento": 1,
                                    "numeroSequencialAnexo": 2
                                },
                                "nome": "PROCURAÇÃO FACTA.pdf",
                                "dataInclusao": 1723005905205,
                                "tamanhoArquivo": 996121,
                                "objectKey": "172XXXXX205_c3e5f_68b.pdf",
                                "tamanhoArquivoStorage": 996121,
                                "numeroSequencial": 2
                            }
                        ]
                    },
                    "numeroFornecedorAtendimento": 1
                }
            ],
            "fornecedoresDetails": [
                {
                    "codigoFornecedor": 8XX,
                    "numeroFornecedorAtendimento": 1,
                    "nome": "Facta Financeira",
                    "numeroAtendimentoFormatado": "2X.XX.XXXX.XXX.XXXXX-XXX",
                    "indicadorAtendimentoEletronico": true,
                    "indicadorSuspensaoAtendimentoEletronico": false,
                    "atendimentoCancelado": false,
                    "telefones": [
                        {
                            "codigo": 3,
                            "codigoArea": "51",
                            "telefone": "3XXXXX8",
                            "tipo": {
                                "codigoTipoTelefone": 6,
                                "nomeTipoTelefone": "Institucional"
                            }
                        },
                        {
                            "codigo": 4,
                            "codigoArea": "61",
                            "telefone": "9XXXXXXX8",
                            "tipo": {
                                "codigoTipoTelefone": 2,
                                "nomeTipoTelefone": "Celular"
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "responseAttrs": {}
}
```

---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-400"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4421" data-start="4134"><thead data-end="4181" data-start="4134"><tr data-end="4181" data-start="4134"><th data-col-size="sm" data-end="4143" data-start="4134">Código</th><th data-col-size="sm" data-end="4181" data-start="4143">Descrição</th></tr></thead><tbody data-end="4421" data-start="4230"><tr data-end="4325" data-start="4278"><td data-col-size="sm" data-end="4287" data-start="4278">400</td><td data-col-size="sm" data-end="4325" data-start="4287">Erro de parâmetros</td></tr><tr data-end="4373" data-start="4326"><td data-col-size="sm" data-end="4335" data-start="4326">401</td><td data-col-size="sm" data-end="4373" data-start="4335">Não autorizado</td></tr><tr data-end="4421" data-start="4374"><td data-col-size="sm" data-end="4383" data-start="4374">500</td><td data-col-size="sm" data-end="4421" data-start="4383">Erro interno</td></tr></tbody></table>

<div class="absolute end-0 flex items-end" style="text-align: justify;">  
</div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas à audiência de uma determinada reclamação, com base no número de acompanhamento e data de abertura**</span>





##### **GET** `/tratativa-audiencia/{numeroAcompanhamento}/{dataAbertura}`

<div class="_tableContainer_80l1q_1" id="bkmrk--15"><div class="absolute end-0 flex items-end">---

</div></div>**Parâmetros de Caminho (Path Parameters)**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393" style="width: 22.0025%;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 15.0803%;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 22.4969%;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 21.5062%;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9141%;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636" style="width: 22.0025%;">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 21.5062%;">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9141%;">`24070726001000503`</td></tr><tr data-end="915" data-start="758"><td data-col-size="sm" data-end="783" data-start="758" style="width: 22.0025%;">`dataAbertura`</td><td data-col-size="sm" data-end="792" data-start="783" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="806" data-start="792" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="874" data-start="806" style="width: 21.5062%;">Data de abertura no formato yyyy-MM-dd ou yyyy-MM-ddTHH:mm:ss</td><td data-col-size="sm" data-end="915" data-start="874" style="width: 18.9141%;">2024-07-08 ou 2024-07-08T10:00:00</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>**Headers Obrigatórios**</div><div class="absolute end-0 flex items-end">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-3"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div></div></div>```json
{
    "status": "Agendada",
    "dataAudiencia": "2024-07-15T14:00:00Z",
    "local": "Sala virtual 3",
    "participantes": [
        {
            "nome": "João da Silva",
            "tipo": "Consumidor"
        },
        {
            "nome": "Empresa XYZ",
            "tipo": "Fornecedor"
        }
    ]
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--16"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

</div></div>**Respostas possíveis**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2716" data-start="2285"><thead data-end="2345" data-start="2285"><tr data-end="2345" data-start="2285"><th data-col-size="sm" data-end="2299" data-start="2285">Código HTTP</th><th data-col-size="md" data-end="2345" data-start="2299">Descrição</th></tr></thead><tbody data-end="2716" data-start="2407"><tr data-end="2533" data-start="2473"><td data-col-size="sm" data-end="2487" data-start="2473">`401`</td><td data-col-size="md" data-end="2533" data-start="2487">Não autorizado (token inválido/expirado)</td></tr><tr data-end="2594" data-start="2534"><td data-col-size="sm" data-end="2548" data-start="2534">`403`</td><td data-col-size="md" data-end="2594" data-start="2548">Acesso negado</td></tr><tr data-end="2655" data-start="2595"><td data-col-size="sm" data-end="2609" data-start="2595">`404`</td><td data-col-size="md" data-end="2655" data-start="2609">Audiência não encontrada</td></tr><tr data-end="2716" data-start="2656"><td data-col-size="sm" data-end="2670" data-start="2656">`500`</td><td data-col-size="md" data-end="2716" data-start="2670">Erro interno no servidor</td></tr></tbody></table>

</div></div></div></div>

# API - proconsumidor-coletar-decisao

Formato Markdown (documentação simples)

#### <span style="background-color: rgb(241, 196, 15);">Autentica um usuário com CPF e senha codificada.</span>



##### **POST** `/auth/login`

**Requisição:**

**Headers:**

- Content-Type: application/json

**Body:**

```json
{
  "login": "12345",
  "pass": "e10adc3949ba59abbe56e057f20f883e",
  "tokenValidation": "",
  "isUsuarioConsumidor": false
}
```

**Descrição dos campos:**

- **login** (string): **CPF** do usuário, apenas números.
- **pass** (string): Senha codificada (ex: **MD5**).
- **tokenValidation** (string): Campo para token externo (pode ficar vazio).
- **isUsuarioConsumidor** (boolean): false para usuários internos, true para consumidores finais.

**Resposta 200 OK**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "uid": "MjEXXXz",
    "message": "deliverCredentials",
    "jsonUser": "{\"codigoUsuario\":XXXXXXX,\"nome\":\"XXXXXXXXXXXXXXX\",\"cpf\":\"XXXXXXXXXX\",\"tipoUsuario\":\"Fornecedor\",\"nomePerfil\":\"Colaborador\",\"codigoTipoUsuario\":4,\"listaFornecedores\":[{\"codigo\":XXXXX,\"nome\":\"XXXXXXXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXXXXXX\"},{\"codigo\":XXX,\"nome\":\"XXXXXXX Financeira\",\"cpfCnpj\":\"XXXXXXXXXX\"},{\"codigo\":XXXXXX,\"nome\":\"XXXXXXXX XXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXX\"}],\"permissoes\":[\"gerenciar_atendimento\",\"relatorio_gerencial\"],\"codigoFornecedor\":XXXX,\"nomeFornecedor\":\"XXXXXXXXXXXXXXXX.\",\"cnpjFornecedor\":XXXXXXXXXXXXXXXXX,\"indicadorAceiteTermoUso\":true}",
    "expiry": 1752683825157,
    "primeiroAcesso": false,
    "auth_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyODM2ODg3MTg0IiwimNvZGlnb0Zvcm5lY2Vkb3IiOjY1NSwiaXNVc3VhcmlvQ29uc3VtaWRvciI6ZmFsc2V9.T1x2r0wcHijQNey_fyjcTs9IUI4Ocwx7-Or7Nu-aYyQ"
}
```

**Respostas possíveis:**

- 401 Unauthorized: CPF ou senha inválidos.
- 500 Internal Server Error: Erro interno.

#### <span style="background-color: rgb(241, 196, 15);">**Altera o fornecedor autenticado associado ao usuário logado.**</span>



##### **PUT** `/login/818/mudar-fornecedor-autenticado`

**Requisição:**

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3127" data-start="2132" style="width: 101.728%;"><thead data-end="2214" data-start="2132"><tr data-end="2214" data-start="2132"><th data-col-size="sm" data-end="2153" data-start="2132" style="width: 43.8853%;">Header</th><th data-col-size="md" data-end="2214" data-start="2153" style="width: 56.1147%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3127" data-start="2298"><tr data-end="2380" data-start="2298"><td data-col-size="sm" data-end="2319" data-start="2298" style="width: 43.8853%;">`access-token`</td><td data-col-size="md" data-end="2380" data-start="2319" style="width: 56.1147%;">JWT válido do usuário</td></tr><tr data-end="2463" data-start="2381"><td data-col-size="sm" data-end="2402" data-start="2381" style="width: 43.8853%;">`token-type`</td><td data-col-size="md" data-end="2463" data-start="2402" style="width: 56.1147%;">`Bearer`</td></tr><tr data-end="2546" data-start="2464"><td data-col-size="sm" data-end="2485" data-start="2464" style="width: 43.8853%;">`uid`</td><td data-col-size="md" data-end="2546" data-start="2485" style="width: 56.1147%;">UID codificado do usuário (ex: MD5)</td></tr><tr data-end="2629" data-start="2547"><td data-col-size="sm" data-end="2568" data-start="2547" style="width: 43.8853%;">`expiresuid`</td><td data-col-size="md" data-end="2629" data-start="2568" style="width: 56.1147%;">Timestamp de expiração do token</td></tr><tr data-end="2712" data-start="2630"><td data-col-size="sm" data-end="2651" data-start="2630" style="width: 43.8853%;">`primeiroAcesso`</td><td data-col-size="md" data-end="2712" data-start="2651" style="width: 56.1147%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="2795" data-start="2713"><td data-col-size="sm" data-end="2734" data-start="2713" style="width: 43.8853%;">`tz`</td><td data-col-size="md" data-end="2795" data-start="2734" style="width: 56.1147%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="2878" data-start="2796"><td data-col-size="sm" data-end="2817" data-start="2796" style="width: 43.8853%;">`Content-Type`</td><td data-col-size="md" data-end="2878" data-start="2817" style="width: 56.1147%;">`application/json`</td></tr><tr data-end="2961" data-start="2879"><td data-col-size="sm" data-end="2900" data-start="2879" style="width: 43.8853%;">`Origin`</td><td data-col-size="md" data-end="2961" data-start="2900" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="3044" data-start="2962"><td data-col-size="sm" data-end="2983" data-start="2962" style="width: 43.8853%;">`Referer`</td><td data-col-size="md" data-end="3044" data-start="2983" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="3127" data-start="3045"><td data-col-size="sm" data-end="3066" data-start="3045" style="width: 43.8853%;">Outros</td><td data-col-size="md" data-end="3127" data-start="3066" style="width: 56.1147%;">Headers de navegador (`User-Agent`, `sec-ch-ua`, etc.)</td></tr></tbody></table>

</div></div>---

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-copiareditar-%7B%7D"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div></div>---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-200"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3565" data-start="3284"><thead data-end="3330" data-start="3284"><tr data-end="3330" data-start="3284"><th data-col-size="sm" data-end="3293" data-start="3284">Código</th><th data-col-size="sm" data-end="3330" data-start="3293">Descrição</th></tr></thead><tbody data-end="3565" data-start="3378"><tr data-end="3424" data-start="3378"><td data-col-size="sm" data-end="3387" data-start="3378">200</td><td data-col-size="sm" data-end="3424" data-start="3387">Sucesso na troca do fornecedor</td></tr><tr data-end="3471" data-start="3425"><td data-col-size="sm" data-end="3434" data-start="3425">401</td><td data-col-size="sm" data-end="3471" data-start="3434">Não autorizado (token inválido)</td></tr><tr data-end="3518" data-start="3472"><td data-col-size="sm" data-end="3481" data-start="3472">403</td><td data-col-size="sm" data-end="3518" data-start="3481">Acesso negado</td></tr><tr data-end="3565" data-start="3519"><td data-col-size="sm" data-end="3528" data-start="3519">500</td><td data-col-size="sm" data-end="3565" data-start="3528">Erro interno do servidor</td></tr></tbody></table>

</div></div>#### <span style="background-color: rgb(241, 196, 15);">**Busca os dados completos de um atendimento pelo número de protocolo ou número de acompanhamento**</span>


##### **GET** `/atendimentos/obter-por-numero-acompanhamento-ou-atendimento/{numero}`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3655" data-start="2909" style="width: 92.4691%;"><thead data-end="2991" data-start="2909"><tr data-end="2991" data-start="2909"><th data-col-size="sm" data-end="2930" data-start="2909" style="width: 34.2223%;">Header</th><th data-col-size="sm" data-end="2991" data-start="2930" style="width: 65.7777%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3655" data-start="3075"><tr data-end="3157" data-start="3075"><td data-col-size="sm" data-end="3096" data-start="3075" style="width: 34.2223%;">`access-token`</td><td data-col-size="sm" data-end="3157" data-start="3096" style="width: 65.7777%;">JWT válido do usuário</td></tr><tr data-end="3240" data-start="3158"><td data-col-size="sm" data-end="3179" data-start="3158" style="width: 34.2223%;">`token-type`</td><td data-col-size="sm" data-end="3240" data-start="3179" style="width: 65.7777%;">`Bearer`</td></tr><tr data-end="3323" data-start="3241"><td data-col-size="sm" data-end="3262" data-start="3241" style="width: 34.2223%;">`uid`</td><td data-col-size="sm" data-end="3323" data-start="3262" style="width: 65.7777%;">UID codificado do usuário (ex: Base64)</td></tr><tr data-end="3406" data-start="3324"><td data-col-size="sm" data-end="3345" data-start="3324" style="width: 34.2223%;">`expires`</td><td data-col-size="sm" data-end="3406" data-start="3345" style="width: 65.7777%;">Timestamp de expiração do token</td></tr><tr data-end="3489" data-start="3407"><td data-col-size="sm" data-end="3428" data-start="3407" style="width: 34.2223%;">`primeiroAcesso`</td><td data-col-size="sm" data-end="3489" data-start="3428" style="width: 65.7777%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="3572" data-start="3490"><td data-col-size="sm" data-end="3511" data-start="3490" style="width: 34.2223%;">`tz`</td><td data-col-size="sm" data-end="3572" data-start="3511" style="width: 65.7777%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="3655" data-start="3573"><td data-col-size="sm" data-end="3594" data-start="3573" style="width: 34.2223%;">`Content-Type`</td><td data-col-size="sm" data-end="3655" data-start="3594" style="width: 65.7777%;">`application/json` (implícito)</td></tr></tbody></table>

</div></div>---

**Parâmetro de rota:**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3945" data-start="3689" style="width: 100.123%;"><thead data-end="3773" data-start="3689"><tr data-end="3773" data-start="3689"><th data-col-size="sm" data-end="3701" data-start="3689" style="width: 15.5%;">Parâmetro</th><th data-col-size="sm" data-end="3744" data-start="3701" style="width: 64.625%;">Descrição</th><th data-col-size="sm" data-end="3773" data-start="3744" style="width: 19.875%;">Exemplo</th></tr></thead><tbody data-end="3945" data-start="3862"><tr data-end="3945" data-start="3862"><td data-col-size="sm" data-end="3874" data-start="3862" style="width: 15.5%;">`numero`</td><td data-col-size="sm" data-end="3916" data-start="3874" style="width: 64.625%;">Número do atendimento ou acompanhamento</td><td data-col-size="sm" data-end="3945" data-start="3916" style="width: 19.875%;">XXXXXXXXXXXXXX</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none">  
</div></div></div>
**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-1"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">**json**</div><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>```json
{
    "data": [
        {
            "numeroAcompanhamento": "30xxxxx545xxxx3",
            "dataAbertura": "19/07/2024",
            "nomeCredenciada": "Procon Municipal de Teodoro Sampaio - SP",
            "nomePosto": "Procon Municipal de Teodoro Sampaio - SP",
            "area": "Serviços Financeiros",
            "assunto": "Crédito Pessoal e Demais Empréstimos (exceto financiamento de imóveis e veículos)",
            "problema": "Cobrança por serviço/produto não contratado / não reconhecido / não solicitado",
            "nomeConsumidor": "Fulano Perxxx Grxxx da Sxxxa ",
            "cpfConsumidor": "08xx6xxxx07",
            "cnpjConsumidor": null,
            "numeroFornecedorAtendimento": "01",
            "razaoSocialFornecedor": "Faxxx Fxxnxxx S.A. Cxxxx, Fxxxxxxx e Ixxxxx",
            "nomeFantasiaFornecedor": "Fxxxx Fxxxxxxx",
            "cnpjFornecedor": "1x5xxxxx0001xx",
            "cpfFornecedor": null,
            "grupoEconomicoFornecedor": null,
            "tecnicoAtendimento": "Jxxxo Cxxar Pxxx Fxxxxxxxa",
            "tecnicoConciliador": null,
            "dataPrazoRespostaCarta": null,
            "dataPrazoRespostaAudiencia": null,
            "dataAgendamentoAudiencia": null,
            "nomeProcurador": null,
            "tipoAcompanhamento": {
                "codigo": 3,
                "nome": "Reclamação",
                "descricao": "Reclamação"
            },
            "tipoEstadoAtendimento": {
                "codigo": 22,
                "nome": "Em Decisão",
                "codigoFase": 3,
                "tratativa": false,
                "descricao": "Em Decisão"
            },
            "numeroAtendimento": "24xxxxxx010xxxxx01",
            "tipoFaseAcompanhamento": {
                "codigo": 3,
                "nome": "Decisão",
                "descricao": "Decisão"
            },
            "tipoOrigemAcompanhamento": {
                "codigo": 1,
                "nome": "Presencial",
                "descricao": "Presencial"
            },
            "tipoTratativa": null,
            "cpfProcurador": null
        }
    ],
    "responseAttrs": {
        "recordsTotal": 1
    }
}
```

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--10"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>---

Respostas possíveis:

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-404"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4655" data-start="4368"><thead data-end="4415" data-start="4368"><tr data-end="4415" data-start="4368"><th data-col-size="sm" data-end="4377" data-start="4368">Código</th><th data-col-size="sm" data-end="4415" data-start="4377">Descrição</th></tr></thead><tbody data-end="4655" data-start="4464"><tr data-end="4559" data-start="4512"><td data-col-size="sm" data-end="4521" data-start="4512">404</td><td data-col-size="sm" data-end="4559" data-start="4521">Atendimento não encontrado</td></tr><tr data-end="4607" data-start="4560"><td data-col-size="sm" data-end="4569" data-start="4560">401</td><td data-col-size="sm" data-end="4607" data-start="4569">Não autorizado (token inválido)</td></tr><tr data-end="4655" data-start="4608"><td data-col-size="sm" data-end="4617" data-start="4608">500</td><td data-col-size="sm" data-end="4655" data-start="4617">Erro interno no servidor</td></tr></tbody></table>

</div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Retorna as reclamações (respostas, movimentações ou atualizações) associadas a uma **reclamação** específica com base no número de acompanhamento.** </span>



##### **GET** `/reclamacoes/{`numeroAcompanhamento`}` 

**Parâmetros de Query**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="746" data-start="362"><thead data-end="489" data-start="362"><tr data-end="489" data-start="362"><th data-col-size="sm" data-end="388" data-start="362">Parâmetro</th><th data-col-size="sm" data-end="399" data-start="388">Tipo</th><th data-col-size="sm" data-end="413" data-start="399">Obrigatório</th><th data-col-size="sm" data-end="462" data-start="413">Descrição</th><th data-col-size="sm" data-end="489" data-start="462">Exemplo</th></tr></thead><tbody data-end="746" data-start="619"><tr data-end="746" data-start="619"><td data-col-size="sm" data-end="645" data-start="619">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="656" data-start="645">string</td><td data-col-size="sm" data-end="670" data-start="656">✅ Sim</td><td data-col-size="sm" data-end="719" data-start="670">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="746" data-start="719">`2XXXXXXXXXXXXXXXXX503`</td></tr></tbody></table>

</div></div>---

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-descri%C3%A7%C3%A3o-acc"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><table class="w-fit min-w-(--thread-content-width)" data-end="1687" data-start="786" style="width: 96.4198%;"><thead data-end="867" data-start="786"><tr data-end="867" data-start="786"><th data-col-size="sm" data-end="806" data-start="786" style="width: 40.9574%;">Header</th><th data-col-size="md" data-end="867" data-start="806" style="width: 59.0426%;">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1687" data-start="950"><tr data-end="1031" data-start="950"><td data-col-size="sm" data-end="970" data-start="950" style="width: 40.9574%;">`access-token`</td><td data-col-size="md" data-end="1031" data-start="970" style="width: 59.0426%;">Token JWT válido do usuário autenticado</td></tr><tr data-end="1113" data-start="1032"><td data-col-size="sm" data-end="1052" data-start="1032" style="width: 40.9574%;">`token-type`</td><td data-col-size="md" data-end="1113" data-start="1052" style="width: 59.0426%;">`Bearer`</td></tr><tr data-end="1195" data-start="1114"><td data-col-size="sm" data-end="1134" data-start="1114" style="width: 40.9574%;">`uid`</td><td data-col-size="md" data-end="1195" data-start="1134" style="width: 59.0426%;">ID do usuário codificado (ex: Base64)</td></tr><tr data-end="1277" data-start="1196"><td data-col-size="sm" data-end="1216" data-start="1196" style="width: 40.9574%;">`expires`</td><td data-col-size="md" data-end="1277" data-start="1216" style="width: 59.0426%;">Timestamp de expiração do token</td></tr><tr data-end="1359" data-start="1278"><td data-col-size="sm" data-end="1298" data-start="1278" style="width: 40.9574%;">`primeiroAcesso`</td><td data-col-size="md" data-end="1359" data-start="1298" style="width: 59.0426%;">`false` (ou `true` caso seja primeiro acesso)</td></tr><tr data-end="1441" data-start="1360"><td data-col-size="sm" data-end="1380" data-start="1360" style="width: 40.9574%;">`tz`</td><td data-col-size="md" data-end="1441" data-start="1380" style="width: 59.0426%;">Fuso horário, ex: `America/Sao_Paulo`</td></tr><tr data-end="1523" data-start="1442"><td data-col-size="sm" data-end="1462" data-start="1442" style="width: 40.9574%;">`User-Agent`</td><td data-col-size="md" data-end="1523" data-start="1462" style="width: 59.0426%;">Identificação do navegador (browser padrão)</td></tr><tr data-end="1605" data-start="1524"><td data-col-size="sm" data-end="1544" data-start="1524" style="width: 40.9574%;">`Origin`</td><td data-col-size="md" data-end="1605" data-start="1544" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1687" data-start="1606"><td data-col-size="sm" data-end="1626" data-start="1606" style="width: 40.9574%;">`Referer`</td><td data-col-size="md" data-end="1687" data-start="1626" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br/`</td></tr></tbody></table>

</div></div></div></div>---

**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-2"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 121540,
        "nomeCredenciada": "PrXXXon MXXXXl de CXX - SC",
        "nomeFantasiaCredenciada": "PrXXXXon MuXXXal de CXXX - SC",
        "codigoPosto": 20134,
        "nomePosto": "PXXXn MuXXpal de CXXXX - SC",
        "numeroSequencial": 1XX,
        "indicadorAtendimentoPreferencial": true,
        "numeroAtendimentoFormatado": "XX.XX.XXXX.XXX.XXXXX-3",
        "tipoEstadoAtendimento": {
            "codigo": 30,
            "nome": "Prazo Expirado",
            "codigoFase": 4,
            "tratativa": false,
            "descricao": "Prazo Expirado"
        },
        "tipoFaseAcompanhamento": {
            "codigo": 4,
            "nome": "Finalizada",
            "descricao": "Finalizada"
        },
        "textoAcompanhamento": "<h4><span style=\"font-size: 14px;\"> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</span></h4><h4><span style=\"font-size: 14px;\">Pelo exposto, recorre a este PROCON.</span></h4>",
        "numeroAcompanhamento": "2XXXXXXXXXXXXX3",
        "dataAbertura": 1719508292080,
        "horaEntrada": null,
        "tipoAcompanhamento": {
            "codigo": 3,
            "nome": "Reclamação",
            "descricao": "Reclamação"
        },
        "tipoOrigemAcompanhamento": {
            "codigo": 1,
            "nome": "Presencial",
            "descricao": "Presencial"
        },
        "tipoConsulta": null,
        "andamentos": [
            {
                "chavePrimaria": {
                    "numeroAndamentoAcompanhamento": 3XXXX2,
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 120540,
                        "postoAtendimento": 111431,
                        "numeroSequencial": X60,
                        "numeroAcompanhamento": "2XXXXXXXXXXXXXX3"
                    }
                },
                "andamento": {
                    "codigo": 392,
                    "nome": "Prazo Expirado para a Fase Decisão",
                    "codigoInterno": 60,
                    "indicadorAndamentoManual": false,
                    "chavePrimaria": 3012
                },
                "usuario": {
                    "codigo": 0,
                    "nome": "Usuário Sistema"
                },
                "andamentosAtendimento": [
                    {
                        "numeroAtendimentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3,
                        "numeroFornecedorAtendimento": 1,
                        "codigoFornecedor": 818,
                        "nomeFornecedor": "XXXa FXXXceira"
                    }
                ],
                "data": 1751105447453,
                "acompanhamento": {
                    "chavePrimaria": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 210454,
                        "postoAtendimento": 102121,
                        "numeroSequencial": 541
                    },
                    "indicadorAtendimentoPreferencial": true,
                    "tipoAcompanhamento": {
                        "codigo": 3,
                        "nome": "Reclamação",
                        "descricao": "Reclamação"
                    },
                    "tipoOrigemAcompanhamento": {
                        "codigo": 1,
                        "nome": "Presencial",
                        "descricao": "Presencial"
                    },
                    "tipoFaseAcompanhamento": {
                        "codigo": 4,
                        "nome": "Finalizada",
                        "descricao": "Finalizada"
                    },
                    "numeroAcompanhamento": 24XXXXXXXXX3,
                    "textoAcompanhamento": "<h4><span style=\"font-size: 14px;\"> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</span></h4><h4><span style=\"font-size: 14px;\">Pelo exposto, recorre a este PROCON.</span></h4>",
                    "dataInclusao": 1719508292080,
                    "dataInclusaoDecisao": null,
                    "dataLiberacaoAtendimento": null,
                    "usuarioAbertura": 1XXXX06,
                    "numeroAtendimentoFormatado": null,
                    "fornecedores": null,
                    "areaAtendimento": null,
                    "assuntoAtendimento": null,
                    "problemaAtendimento": null,
                    "comoComprou": null,
                    "textoReclamacao": "<p> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>",
                    "dataPrazoFinalizacao": 1750993200000,
                    "dataPrazoFaseTratativa": "2024-10-25",
                    "codigoCredenciada": 186030,
                    "codigoPostoAtendimento": 186031,
                    "numeroAcompanhamentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3",
                    "numeroAcompanhamentoString": "24XXXXXXXXX3",
                    "abertaOuTratativa": false,
                    "tratativa": false,
                    "denuncia": false,
                    "reclamacao": true,
                    "numeroAtendimentoAcompanhamentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3",
                    "consulta": false
                }
            },
        ],
        "atendimentos": [
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 186030,
                        "postoAtendimento": 186031,
                        "numeroSequencial": 176,
                        "numeroAcompanhamento": "24060317001001763"
                    },
                    "numeroFornecedorAtendimento": 1
                },
                "fornecedor": {
                    "codigo": 001,
                    "tipoCadastro": {
                        "codigoTipoCadastro": 3,
                        "nomeTipoCadastro": "Fornecedor"
                    },
                    "tipoEstadoCadastro": {
                        "codigoEstadoCadastro": 1,
                        "nomeEstadoCadastro": "Ativo"
                    },
                    "nomeCadastro": "FXXXX FiXXXXra S.A. Credito, FinaXXXXmento e InvXXXXmento",
                    "complementoEndereco": "1XX9 - salas 7XXX1 e 7XX02",
                    "cep": {
                        "operacao": null,
                        "nrCep": 9XXXX11,
                        "uf": "RS",
                        "localidade": {
                            "operacao": null,
                            "numeroLocalidade": XXX,
                            "uf": "RS",
                            "nomeLocalidade": "PXXo AlXXXe",
                            "cep": null,
                            "situacaoCodificacaoLogradouro": 1,
                            "tipoLocalidade": "M",
                            "numeroLocalidadeSubordinacao": null,
                            "abreviacaoNomeLocalidade": "Pto Alegre",
                            "codigoIBGEMunicipio": "431XXXX4902",
                            "chavePrimaria": XXX,
                            "operacaoRemocao": false,
                            "operacaoInclusao": false,
                            "operacaoAlteracao": false,
                            "operacaoInclusaoOuAlteracao": false
                        },
                        "codigoLocalidade": XXX,
                        "bairro": {
                            "operacao": null,
                            "codigo": 1XXX75,
                            "uf": "RS",
                            "localidade": 7XX4,
                            "nomeBairro": "Centro Histórico",
                            "nomeBairroAbreviado": "C Histórico",
                            "chavePrimaria": 1XXX5,
                            "operacaoRemocao": false,
                            "operacaoInclusao": false,
                            "operacaoAlteracao": false,
                            "operacaoInclusaoOuAlteracao": false
                        },
                        "codigoBairro": XX,
                        "logradouro": "RXX dos AndXXXXXas",
                        "complementoLogradouro": "- de 1XX1 a 15XXX7 - lado ímpar",
                        "nome": null,
                        "indicadorCepAtivo": true,
                        "nrCepAnteior": null,
                        "chavePrimaria": 9XXXXXXX,
                        "cep": "90020011",
                        "operacaoRemocao": false,
                        "operacaoInclusao": false,
                        "operacaoAlteracao": false,
                        "operacaoInclusaoOuAlteracao": false
                    },
                    "listaAnexo": [
                        {
                            "chavePrimaria": {
                                "codigo": 1,
                                "cadastro": 818
                            },
                            "nome": "FXXX FiXXXXra.pdf",
                            "dataInclusao": 1687459098138,
                            "operacao": null,
                            "usuario": {
                                "codigo": 1XX51,
                                "nome": "IXXXXXa AXXes CXXXrgo"
                            },
                            "tamanhoArquivo": 177365,
                            "indicadorAnexoPublico": null,
                            "objectKey": "1687459098138_d4e02_433.pdf",
                            "tamanhoArquivoStorage": 177365
                        }
                    ],
                    "listaEmail": [
                        {
                            "chavePrimaria": {
                                "codigo": 7,
                                "cadastro": 818
                            },
                            "texto": "adm.contestacao@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 4,
                                "nomeTipoEmail": "Alerta de Notificação"
                            },
                            "emailAlertaNotificacao": true,
                            "emailPrincipal": false,
                            "emailInstitucional": false
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 8,
                                "cadastro": 818
                            },
                            "texto": "everton.medeiros@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 3,
                                "nomeTipoEmail": "Ponto Focal"
                            },
                            "emailAlertaNotificacao": false,
                            "emailPrincipal": false,
                            "emailInstitucional": false
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 10,
                                "cadastro": 818
                            },
                            "texto": "adm.contestacao@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 2,
                                "nomeTipoEmail": "Institucional"
                            },
                            "emailAlertaNotificacao": false,
                            "emailPrincipal": false,
                            "emailInstitucional": true
                        }
                    ],
                    "listaTelefone": [
                        {
                            "chavePrimaria": {
                                "codigo": 3,
                                "cadastro": 818
                            },
                            "codigoArea": "51",
                            "telefone": "30217838",
                            "tipoTelefone": {
                                "codigoTipoTelefone": 6,
                                "nomeTipoTelefone": "Institucional"
                            },
                            "telefonePrincipal": false,
                            "telefoneInstitucional": true
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 4,
                                "cadastro": 818
                            },
                            "codigoArea": "61",
                            "telefone": "998552188",
                            "tipoTelefone": {
                                "codigoTipoTelefone": 2,
                                "nomeTipoTelefone": "Celular"
                            },
                            "telefonePrincipal": false,
                            "telefoneInstitucional": false
                        }
                    ],
                    "nomeLogradouro": "Rua dos Andradas",
                    "nomeBairro": "Centro Histórico",
                    "tipoPessoa": {
                        "codigoTipoPessoa": 2,
                        "nomeTipoPessoa": "Jurídica"
                    },
                    "urlSite": "www.factafinanceira.com.br",
                    "dataCriacao": 1572017818000,
                    "indicadorAtendimentoEletronico": true,
                    "indicadorSuspensaoAtendimentoEletronico": false,
                    "indicadorPresencaConsumidorGov": true,
                    "credenciada": 1,
                    "listaCategoriaFornecedor": [
                        {
                            "chavePrimaria": {
                                "cadastroFornecedor": 818,
                                "categoria": {
                                    "chavePrimaria": {
                                        "codigo": 576,
                                        "tipoCategoria": {
                                            "codigo": 5,
                                            "nome": "Segmento"
                                        }
                                    },
                                    "nome": "Bancos, Financeiras e Administradoras de Cartão",
                                    "ativo": true
                                }
                            }
                        }
                    ],
                    "dataLimiteAlteracaoAuditor": 1572017818000,
                    "dataLimiteAlteracaoTecnicoCredenciada": 1572017818000,
                    "existeEnderecoCorrespondenciaCriadoPelaSenacon": false,
                    "dataEliminacao": null,
                    "dataDesativacao": null,
                    "indicadorSeloSenacon": true,
                    "dataHabilitacaoEletronica": 1649272623027,
                    "dataDesabilitacaoEletronica": null,
                    "dataSuspensaoEletronica": null,
                    "inclusao": false,
                    "cnpj": 15581638000130,
                    "nomeFantasia": "Facta Financeira",
                    "cnaePrincipal": {
                        "codigo": 6436100,
                        "descricao": "SOCIEDADES DE CREDITO, FINANCIAMENTO E INVESTIMENTO - FINANCEIRAS",
                        "chavePrimaria": 6436100,
                        "codigoFormatado": "6436-1/00"
                    },
                    "indicadorEmailAlertaNotificacao": null,
                    "fornecedorPrincipal": null,
                    "cpf": null,
                    "nomeFantasiaOuRazaoSocial": "Facta Financeira",
                    "chavePrimaria": 818,
                    "ativo": true
                },
                "fornecedores": [],
                "indicadorFornecedorProcurado": true,
                "tipoEstadoAtendimento": {
                    "codigo": 30,
                    "nome": "Prazo Expirado",
                    "codigoFase": 4,
                    "tratativa": false,
                    "descricao": "Prazo Expirado"
                },
                "textoContatoFornecedor": null,
                "acompanhamento": {
                    "ano": 24,
                    "mes": 6,
                    "credenciada": 254154,
                    "postoAtendimento": 185531,
                    "numeroSequencial": 356,
                    "numeroAcompanhamento": "2XXX545XXX01"
                },
                "existeTrativaFinalizada": true,
                "numeroAtendimentoFormatado": "XX.0X.0XXXX.0XX1.0XXX6-3XX",
                "numeroFornecedorAtendimento": 1,
                "numeroAtendimento": 2XXX545XXX01
            }
        ],
        "anexos": [
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 25454,
                        "postoAtendimento": 12545,
                        "numeroSequencial": 155,
                        "numeroAcompanhamento": "54545445545"
                    },
                    "numeroAnexoAcompanhamento": 2
                },
                "usuario": {
                    "codigo": 108006,
                    "nome": "GXXXXa NaXXXia TXXXio"
                },
                "indicadorAnexoPublico": false,
                "nome": "1868 - CXXXE DO PORTO, SC.pdf",
                "tamanhoArquivo": 1270990,
                "dataInclusao": 1720639099160,
                "objectKey": "1720639099160_be486_3ed.pdf",
                "tamanhoArquivoStorage": 1270990
            },
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 23641,
                        "postoAtendimento": 10140,
                        "numeroSequencial": 216,
                        "numeroAcompanhamento": "2XXXXXX1001XXX"
                    },
                    "numeroAnexoAcompanhamento": 1
                },
                "usuario": {
                    "codigo": 108006,
                    "nome": "GXXXXca NXXXXia TXXvXXo"
                },
                "indicadorAnexoPublico": false,
                "nome": "Documentos Escaneados (2).pdf",
                "tamanhoArquivo": 333430,
                "dataInclusao": 1719508692184,
                "objectKey": "1719508692184_4123a_11b.pdf",
                "tamanhoArquivoStorage": 333430
            }
        ],
        "anotacoes": [],
        "categorias": [
            {
                "codigo": 39,
                "codigoTipo": 6,
                "nomeTipo": null,
                "nome": "Não comprei / contratrei",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 571,
                "codigoTipo": 1,
                "nomeTipo": null,
                "nome": "Serviços Financeiros",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 817,
                "codigoTipo": 2,
                "nomeTipo": null,
                "nome": "Crédito Consignado / Cartão de Crédito Consignado / RMC (para beneficiários do INSS)",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 847,
                "codigoTipo": 4,
                "nomeTipo": null,
                "nome": "Cartão não solicitado - Envio ou cobrança",
                "texto": null,
                "tipoRevisao": null
            }
        ],
        "vinculoReclamacaoOficio": [],
        "consumidor": {
            "codigo": 125452,
            "nome": null,
            "nomeSocial": null,
            "sexo": null,
            "telefone": null,
            "email": null,
            "tipoPessoa": {
                "codigoTipoPessoa": 1,
                "nomeTipoPessoa": "Física",
                "descricao": "Física"
            },
            "tipoConsumidorPessoaFisica": {
                "codigoTipoConsumidorPessoaFisica": 2,
                "nomeTipoConsumidorPessoaFisica": "Nacional",
                "codigo": 2,
                "descricao": "Nacional"
            },
            "procurador": false,
            "anonimo": false,
            "consumidorSemCpf": false,
            "cpfCnpj": null,
            "endereco": null
        },
        "procurador": null,
        "nomeFornecedores": null,
        "nomeFantasiaFornecedor": null,
        "arquivoCalculo": null,
        "indicadorCalculoSolicitado": null,
        "codigoUsuarioAbertura": 21501,
        "nomeUsuarioAbertura": "GXXXX NaXXa TrXXXXo",
        "indicadorProximoFila": null,
        "indicadorBloqueio": null,
        "indicadorDisponivelParaDistribuicao": false,
        "textoReclamacao": "<p> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>",
        "existeAoMenosUmaTratativaFinalizada": true,
        "indicadorExistenciaTratativa": true,
        "protocoloConsumidorGov": null,
        "setorDistribuicao": "",
        "dataInclusaoDecisao": null,
        "categoriaArea": null,
        "categoriaAssunto": null,
        "categoriaProblema": null
    },
    "responseAttrs": {}
}
```

---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-400"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4421" data-start="4134"><thead data-end="4181" data-start="4134"><tr data-end="4181" data-start="4134"><th data-col-size="sm" data-end="4143" data-start="4134">Código</th><th data-col-size="sm" data-end="4181" data-start="4143">Descrição</th></tr></thead><tbody data-end="4421" data-start="4230"><tr data-end="4325" data-start="4278"><td data-col-size="sm" data-end="4287" data-start="4278">400</td><td data-col-size="sm" data-end="4325" data-start="4287">Erro de parâmetros</td></tr><tr data-end="4373" data-start="4326"><td data-col-size="sm" data-end="4335" data-start="4326">401</td><td data-col-size="sm" data-end="4373" data-start="4335">Não autorizado</td></tr><tr data-end="4421" data-start="4374"><td data-col-size="sm" data-end="4383" data-start="4374">500</td><td data-col-size="sm" data-end="4421" data-start="4383">Erro interno</td></tr></tbody></table>

<div class="absolute end-0 flex items-end" style="text-align: justify;">  
</div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas ao histórico de decisão.**</span>





**GET `/recurso-decisao-cadastro/historico-decisao/{numeroAcompanhamento}`**

<div class="_tableContainer_80l1q_1" id="bkmrk--15"><div class="absolute end-0 flex items-end">---

</div></div>**Parâmetros de Caminho (Path Parameters)**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393" style="width: 22.0025%;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 9.39431%;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 11.9942%;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 37.6967%;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9122%;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636" style="width: 22.0025%;">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 9.39431%;">string</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 11.9942%;">✅ Sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 37.6967%;">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9122%;">`24070726001000503`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>**Headers Obrigatórios**</div><div class="absolute end-0 flex items-end">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-3"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div></div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 1000210,
        "codigoPosto": 285401,
        "numeroSequencial": 100,
        "dataAbertura": 1720638951263,
        "numeroFornecedorAtendimento": null,
        "tipo": {
            "codigo": 2,
            "nome": "Carta"
        },
        "situacao": {
            "codigo": 3,
            "nome": "Cancelada"
        },
        "justificativaCancelamento": null,
        "respostaFornecedor": "",
        "consideracoesCredenciada": null,
        "textoNotificacaoConsumidor": null,
        "textoNotificacaoProcurador": null,
        "tipoResultado": null,
        "codigoFornecedor": 1,
        "nomeFornecedor": null,
        "codigoConsumidor": 1975831,
        "nomeConsumidor": "PXXXX LXXXXno",
        "dataRetornoConsumidor": 1724468400000,
        "codigoProcurador": null,
        "nomeProcurador": null,
        "indicadorDescumprimentoAcordo": null,
        "fornecedores": [
            {
                "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2406031700100176301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">10 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                "dataAvisoRecebimento": null,
                "indicadorRespostaFornecedor": true,
                "indicadorPrazoProrrogado": false,
                "dataPrazoRespostaFornecedor": "2024-07-20",
                "indicadorParticipacaoEletronica": true,
                "indicadorParticipacaoCancelada": false,
                "indicadorAtendimentoEletronico": true,
                "respostaFornecedor": {
                    "data": 1721151781641,
                    "texto": "",
                    "anexos": [
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 10000210,
                                "postoAtendimento": 25451,
                                "numeroSequencial": 176,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 1
                            },
                            "nome": "DEFESA ADMINISTRATIVA PEDRO.pdf",
                            "dataInclusao": 1721151769225,
                            "tamanhoArquivo": 312446,
                            "objectKey": "1721769225_661e1_251.pdf",
                            "tamanhoArquivoStorage": 312446,
                            "numeroSequencial": 1
                        },
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 22000,
                                "postoAtendimento": 55441,
                                "numeroSequencial": 364,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 2
                            },
                            "nome": "PROCURAÇÃO FXXXX PXXXXON - Copia.pdf",
                            "dataInclusao": 1721151818284,
                            "tamanhoArquivo": 1708876,
                            "objectKey": "172XX1818284_da873_30e.pdf",
                            "tamanhoArquivoStorage": 1708876,
                            "numeroSequencial": 2
                        }
                    ]
                },
                "numeroFornecedorAtendimento": 1
            }
        ],
        "fornecedoresDetails": null
    },
    "responseAttrs": {}
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--16"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

</div></div>**Respostas possíveis**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2716" data-start="2285"><thead data-end="2345" data-start="2285"><tr data-end="2345" data-start="2285"><th data-col-size="sm" data-end="2299" data-start="2285">Código HTTP</th><th data-col-size="md" data-end="2345" data-start="2299">Descrição</th></tr></thead><tbody data-end="2716" data-start="2407"><tr data-end="2533" data-start="2473"><td data-col-size="sm" data-end="2487" data-start="2473">`401`</td><td data-col-size="md" data-end="2533" data-start="2487">Não autorizado (token inválido/expirado)</td></tr><tr data-end="2594" data-start="2534"><td data-col-size="sm" data-end="2548" data-start="2534">`403`</td><td data-col-size="md" data-end="2594" data-start="2548">Acesso negado</td></tr><tr data-end="2655" data-start="2595"><td data-col-size="sm" data-end="2609" data-start="2595">`404`</td><td data-col-size="md" data-end="2655" data-start="2609">Protocolo não encontrada</td></tr><tr data-end="2716" data-start="2656"><td data-col-size="sm" data-end="2670" data-start="2656">`500`</td><td data-col-size="md" data-end="2716" data-start="2670">Erro interno no servidor</td></tr></tbody></table>

</div></div></div></div>




<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"></div></div></div></div></div><div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"></div></div></div></div>

# API - proconsumidor-coletar-notificacao

Formato Markdown (documentação simples)

#### <span style="background-color: rgb(241, 196, 15);">Autentica um usuário com CPF e senha codificada.</span>


##### **POST** `/auth/login`

**Requisição:**

**Headers:**

- Content-Type: application/json

**Body:**

```json
{
  "login": "12345",
  "pass": "e10adc3949ba59abbe56e057f20f883e",
  "tokenValidation": "",
  "isUsuarioConsumidor": false
}
```

**Descrição dos campos:**

- login (string): CPF do usuário, apenas números.
- pass (string): Senha codificada (ex: MD5).
- tokenValidation (string): Campo para token externo (pode ficar vazio).
- isUsuarioConsumidor (boolean): false para usuários internos, true para consumidores finais.

**Resposta 200 OK**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "uid": "MjEXXXz",
    "message": "deliverCredentials",
    "jsonUser": "{\"codigoUsuario\":XXXXXXX,\"nome\":\"XXXXXXXXXXXXXXX\",\"cpf\":\"XXXXXXXXXX\",\"tipoUsuario\":\"Fornecedor\",\"nomePerfil\":\"Colaborador\",\"codigoTipoUsuario\":4,\"listaFornecedores\":[{\"codigo\":XXXXX,\"nome\":\"XXXXXXXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXXXXXX\"},{\"codigo\":XXX,\"nome\":\"XXXXXXX Financeira\",\"cpfCnpj\":\"XXXXXXXXXX\"},{\"codigo\":XXXXXX,\"nome\":\"XXXXXXXX XXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXX\"}],\"permissoes\":[\"gerenciar_atendimento\",\"relatorio_gerencial\"],\"codigoFornecedor\":XXXX,\"nomeFornecedor\":\"XXXXXXXXXXXXXXXX.\",\"cnpjFornecedor\":XXXXXXXXXXXXXXXXX,\"indicadorAceiteTermoUso\":true}",
    "expiry": 1752683825157,
    "primeiroAcesso": false,
    "auth_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyODM2ODg3MTg0IiwimNvZGlnb0Zvcm5lY2Vkb3IiOjY1NSwiaXNVc3VhcmlvQ29uc3VtaWRvciI6ZmFsc2V9.T1x2r0wcHijQNey_fyjcTs9IUI4Ocwx7-Or7Nu-aYyQ"
}
```

**Respostas possíveis:**

- 401 Unauthorized: CPF ou senha inválidos.
- 500 Internal Server Error: Erro interno.

#### <span style="background-color: rgb(241, 196, 15);">**Altera o fornecedor autenticado associado ao usuário logado.**</span>


##### **PUT** `/login/818/mudar-fornecedor-autenticado`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3127" data-start="2132" style="width: 101.728%;"><thead data-end="2214" data-start="2132"><tr data-end="2214" data-start="2132"><th data-col-size="sm" data-end="2153" data-start="2132" style="width: 43.8853%;">Header</th><th data-col-size="md" data-end="2214" data-start="2153" style="width: 56.1147%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3127" data-start="2298"><tr data-end="2380" data-start="2298"><td data-col-size="sm" data-end="2319" data-start="2298" style="width: 43.8853%;">`access-token`</td><td data-col-size="md" data-end="2380" data-start="2319" style="width: 56.1147%;">JWT válido do usuário</td></tr><tr data-end="2463" data-start="2381"><td data-col-size="sm" data-end="2402" data-start="2381" style="width: 43.8853%;">`token-type`</td><td data-col-size="md" data-end="2463" data-start="2402" style="width: 56.1147%;">`Bearer`</td></tr><tr data-end="2546" data-start="2464"><td data-col-size="sm" data-end="2485" data-start="2464" style="width: 43.8853%;">`uid`</td><td data-col-size="md" data-end="2546" data-start="2485" style="width: 56.1147%;">UID codificado do usuário (ex: MD5)</td></tr><tr data-end="2629" data-start="2547"><td data-col-size="sm" data-end="2568" data-start="2547" style="width: 43.8853%;">`expiresuid`</td><td data-col-size="md" data-end="2629" data-start="2568" style="width: 56.1147%;">Timestamp de expiração do token</td></tr><tr data-end="2712" data-start="2630"><td data-col-size="sm" data-end="2651" data-start="2630" style="width: 43.8853%;">`primeiroAcesso`</td><td data-col-size="md" data-end="2712" data-start="2651" style="width: 56.1147%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="2795" data-start="2713"><td data-col-size="sm" data-end="2734" data-start="2713" style="width: 43.8853%;">`tz`</td><td data-col-size="md" data-end="2795" data-start="2734" style="width: 56.1147%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="2878" data-start="2796"><td data-col-size="sm" data-end="2817" data-start="2796" style="width: 43.8853%;">`Content-Type`</td><td data-col-size="md" data-end="2878" data-start="2817" style="width: 56.1147%;">`application/json`</td></tr><tr data-end="2961" data-start="2879"><td data-col-size="sm" data-end="2900" data-start="2879" style="width: 43.8853%;">`Origin`</td><td data-col-size="md" data-end="2961" data-start="2900" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="3044" data-start="2962"><td data-col-size="sm" data-end="2983" data-start="2962" style="width: 43.8853%;">`Referer`</td><td data-col-size="md" data-end="3044" data-start="2983" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="3127" data-start="3045"><td data-col-size="sm" data-end="3066" data-start="3045" style="width: 43.8853%;">Outros</td><td data-col-size="md" data-end="3127" data-start="3066" style="width: 56.1147%;">Headers de navegador (`User-Agent`, `sec-ch-ua`, etc.)</td></tr></tbody></table>

</div></div>---

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-copiareditar-%7B%7D"><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div></div>---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-200"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3565" data-start="3284"><thead data-end="3330" data-start="3284"><tr data-end="3330" data-start="3284"><th data-col-size="sm" data-end="3293" data-start="3284">Código</th><th data-col-size="sm" data-end="3330" data-start="3293">Descrição</th></tr></thead><tbody data-end="3565" data-start="3378"><tr data-end="3424" data-start="3378"><td data-col-size="sm" data-end="3387" data-start="3378">200</td><td data-col-size="sm" data-end="3424" data-start="3387">Sucesso na troca do fornecedor</td></tr><tr data-end="3471" data-start="3425"><td data-col-size="sm" data-end="3434" data-start="3425">401</td><td data-col-size="sm" data-end="3471" data-start="3434">Não autorizado (token inválido)</td></tr><tr data-end="3518" data-start="3472"><td data-col-size="sm" data-end="3481" data-start="3472">403</td><td data-col-size="sm" data-end="3518" data-start="3481">Acesso negado</td></tr><tr data-end="3565" data-start="3519"><td data-col-size="sm" data-end="3528" data-start="3519">500</td><td data-col-size="sm" data-end="3565" data-start="3528">Erro interno do servidor</td></tr></tbody></table>

</div></div>#### <span style="background-color: rgb(241, 196, 15);">**Busca os dados completos de um atendimento pelo número de protocolo ou número de acompanhamento**</span>



##### **GET** `/atendimentos/obter-por-numero-acompanhamento-ou-atendimento/{numero}`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3655" data-start="2909" style="width: 92.4691%;"><thead data-end="2991" data-start="2909"><tr data-end="2991" data-start="2909"><th data-col-size="sm" data-end="2930" data-start="2909" style="width: 34.2223%;">Header</th><th data-col-size="sm" data-end="2991" data-start="2930" style="width: 65.7777%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3655" data-start="3075"><tr data-end="3157" data-start="3075"><td data-col-size="sm" data-end="3096" data-start="3075" style="width: 34.2223%;">`access-token`</td><td data-col-size="sm" data-end="3157" data-start="3096" style="width: 65.7777%;">JWT válido do usuário</td></tr><tr data-end="3240" data-start="3158"><td data-col-size="sm" data-end="3179" data-start="3158" style="width: 34.2223%;">`token-type`</td><td data-col-size="sm" data-end="3240" data-start="3179" style="width: 65.7777%;">`Bearer`</td></tr><tr data-end="3323" data-start="3241"><td data-col-size="sm" data-end="3262" data-start="3241" style="width: 34.2223%;">`uid`</td><td data-col-size="sm" data-end="3323" data-start="3262" style="width: 65.7777%;">UID codificado do usuário (ex: Base64)</td></tr><tr data-end="3406" data-start="3324"><td data-col-size="sm" data-end="3345" data-start="3324" style="width: 34.2223%;">`expires`</td><td data-col-size="sm" data-end="3406" data-start="3345" style="width: 65.7777%;">Timestamp de expiração do token</td></tr><tr data-end="3489" data-start="3407"><td data-col-size="sm" data-end="3428" data-start="3407" style="width: 34.2223%;">`primeiroAcesso`</td><td data-col-size="sm" data-end="3489" data-start="3428" style="width: 65.7777%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="3572" data-start="3490"><td data-col-size="sm" data-end="3511" data-start="3490" style="width: 34.2223%;">`tz`</td><td data-col-size="sm" data-end="3572" data-start="3511" style="width: 65.7777%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="3655" data-start="3573"><td data-col-size="sm" data-end="3594" data-start="3573" style="width: 34.2223%;">`Content-Type`</td><td data-col-size="sm" data-end="3655" data-start="3594" style="width: 65.7777%;">`application/json` (implícito)</td></tr></tbody></table>

</div></div>---

**Parâmetro de rota:**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3945" data-start="3689" style="width: 100.123%;"><thead data-end="3773" data-start="3689"><tr data-end="3773" data-start="3689"><th data-col-size="sm" data-end="3701" data-start="3689" style="width: 15.5%;">Parâmetro</th><th data-col-size="sm" data-end="3744" data-start="3701" style="width: 64.625%;">Descrição</th><th data-col-size="sm" data-end="3773" data-start="3744" style="width: 19.875%;">Exemplo</th></tr></thead><tbody data-end="3945" data-start="3862"><tr data-end="3945" data-start="3862"><td data-col-size="sm" data-end="3874" data-start="3862" style="width: 15.5%;">`numero`</td><td data-col-size="sm" data-end="3916" data-start="3874" style="width: 64.625%;">Número do atendimento ou acompanhamento</td><td data-col-size="sm" data-end="3945" data-start="3916" style="width: 19.875%;">XXXXXXXXXXXXXX</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none">  
</div></div></div>
**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-1"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">**json**</div><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>```json
{
    "data": [
        {
            "numeroAcompanhamento": "30xxxxx545xxxx3",
            "dataAbertura": "19/07/2024",
            "nomeCredenciada": "Procon Municipal de Teodoro Sampaio - SP",
            "nomePosto": "Procon Municipal de Teodoro Sampaio - SP",
            "area": "Serviços Financeiros",
            "assunto": "Crédito Pessoal e Demais Empréstimos (exceto financiamento de imóveis e veículos)",
            "problema": "Cobrança por serviço/produto não contratado / não reconhecido / não solicitado",
            "nomeConsumidor": "Fulano Perxxx Grxxx da Sxxxa ",
            "cpfConsumidor": "08xx6xxxx07",
            "cnpjConsumidor": null,
            "numeroFornecedorAtendimento": "01",
            "razaoSocialFornecedor": "Faxxx Fxxnxxx S.A. Cxxxx, Fxxxxxxx e Ixxxxx",
            "nomeFantasiaFornecedor": "Fxxxx Fxxxxxxx",
            "cnpjFornecedor": "1x5xxxxx0001xx",
            "cpfFornecedor": null,
            "grupoEconomicoFornecedor": null,
            "tecnicoAtendimento": "Jxxxo Cxxar Pxxx Fxxxxxxxa",
            "tecnicoConciliador": null,
            "dataPrazoRespostaCarta": null,
            "dataPrazoRespostaAudiencia": null,
            "dataAgendamentoAudiencia": null,
            "nomeProcurador": null,
            "tipoAcompanhamento": {
                "codigo": 3,
                "nome": "Reclamação",
                "descricao": "Reclamação"
            },
            "tipoEstadoAtendimento": {
                "codigo": 22,
                "nome": "Em Decisão",
                "codigoFase": 3,
                "tratativa": false,
                "descricao": "Em Decisão"
            },
            "numeroAtendimento": "24xxxxxx010xxxxx01",
            "tipoFaseAcompanhamento": {
                "codigo": 3,
                "nome": "Decisão",
                "descricao": "Decisão"
            },
            "tipoOrigemAcompanhamento": {
                "codigo": 1,
                "nome": "Presencial",
                "descricao": "Presencial"
            },
            "tipoTratativa": null,
            "cpfProcurador": null
        }
    ],
    "responseAttrs": {
        "recordsTotal": 1
    }
}
```

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--10"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>---

**Respostas possíveis:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-404"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4655" data-start="4368"><thead data-end="4415" data-start="4368"><tr data-end="4415" data-start="4368"><th data-col-size="sm" data-end="4377" data-start="4368">Código</th><th data-col-size="sm" data-end="4415" data-start="4377">Descrição</th></tr></thead><tbody data-end="4655" data-start="4464"><tr data-end="4559" data-start="4512"><td data-col-size="sm" data-end="4521" data-start="4512">404</td><td data-col-size="sm" data-end="4559" data-start="4521">Atendimento não encontrado</td></tr><tr data-end="4607" data-start="4560"><td data-col-size="sm" data-end="4569" data-start="4560">401</td><td data-col-size="sm" data-end="4607" data-start="4569">Não autorizado (token inválido)</td></tr><tr data-end="4655" data-start="4608"><td data-col-size="sm" data-end="4617" data-start="4608">500</td><td data-col-size="sm" data-end="4655" data-start="4617">Erro interno no servidor</td></tr></tbody></table>

</div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Retorna as tratativas (respostas, movimentações ou atualizações) associadas a uma **reclamação** específica com base no número de acompanhamento.** </span>


##### **GET** `/tratativas-reclamacao`

**Parâmetros de Query**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="746" data-start="362"><thead data-end="489" data-start="362"><tr data-end="489" data-start="362"><th data-col-size="sm" data-end="388" data-start="362">Parâmetro</th><th data-col-size="sm" data-end="399" data-start="388">Tipo</th><th data-col-size="sm" data-end="413" data-start="399">Obrigatório</th><th data-col-size="sm" data-end="462" data-start="413">Descrição</th><th data-col-size="sm" data-end="489" data-start="462">Exemplo</th></tr></thead><tbody data-end="746" data-start="619"><tr data-end="746" data-start="619"><td data-col-size="sm" data-end="645" data-start="619">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="656" data-start="645">string</td><td data-col-size="sm" data-end="670" data-start="656">✅ Sim</td><td data-col-size="sm" data-end="719" data-start="670">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="746" data-start="719">`2XXXXXXXXXXXXXXXXX503`</td></tr></tbody></table>

</div></div>---

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-descri%C3%A7%C3%A3o-acc"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><table class="w-fit min-w-(--thread-content-width)" data-end="1687" data-start="786" style="width: 96.4198%;"><thead data-end="867" data-start="786"><tr data-end="867" data-start="786"><th data-col-size="sm" data-end="806" data-start="786" style="width: 40.9574%;">Header</th><th data-col-size="md" data-end="867" data-start="806" style="width: 59.0426%;">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1687" data-start="950"><tr data-end="1031" data-start="950"><td data-col-size="sm" data-end="970" data-start="950" style="width: 40.9574%;">`access-token`</td><td data-col-size="md" data-end="1031" data-start="970" style="width: 59.0426%;">Token JWT válido do usuário autenticado</td></tr><tr data-end="1113" data-start="1032"><td data-col-size="sm" data-end="1052" data-start="1032" style="width: 40.9574%;">`token-type`</td><td data-col-size="md" data-end="1113" data-start="1052" style="width: 59.0426%;">`Bearer`</td></tr><tr data-end="1195" data-start="1114"><td data-col-size="sm" data-end="1134" data-start="1114" style="width: 40.9574%;">`uid`</td><td data-col-size="md" data-end="1195" data-start="1134" style="width: 59.0426%;">ID do usuário codificado (ex: Base64)</td></tr><tr data-end="1277" data-start="1196"><td data-col-size="sm" data-end="1216" data-start="1196" style="width: 40.9574%;">`expires`</td><td data-col-size="md" data-end="1277" data-start="1216" style="width: 59.0426%;">Timestamp de expiração do token</td></tr><tr data-end="1359" data-start="1278"><td data-col-size="sm" data-end="1298" data-start="1278" style="width: 40.9574%;">`primeiroAcesso`</td><td data-col-size="md" data-end="1359" data-start="1298" style="width: 59.0426%;">`false` (ou `true` caso seja primeiro acesso)</td></tr><tr data-end="1441" data-start="1360"><td data-col-size="sm" data-end="1380" data-start="1360" style="width: 40.9574%;">`tz`</td><td data-col-size="md" data-end="1441" data-start="1380" style="width: 59.0426%;">Fuso horário, ex: `America/Sao_Paulo`</td></tr><tr data-end="1523" data-start="1442"><td data-col-size="sm" data-end="1462" data-start="1442" style="width: 40.9574%;">`User-Agent`</td><td data-col-size="md" data-end="1523" data-start="1462" style="width: 59.0426%;">Identificação do navegador (browser padrão)</td></tr><tr data-end="1605" data-start="1524"><td data-col-size="sm" data-end="1544" data-start="1524" style="width: 40.9574%;">`Origin`</td><td data-col-size="md" data-end="1605" data-start="1544" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1687" data-start="1606"><td data-col-size="sm" data-end="1626" data-start="1606" style="width: 40.9574%;">`Referer`</td><td data-col-size="md" data-end="1687" data-start="1626" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br/`</td></tr></tbody></table>

</div></div></div></div>---

**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-2"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "data": [
        {
            "ano": 24,
            "mes": 7,
            "codigoCredenciada": 111111110,
            "codigoPosto": 10000001,
            "numeroSequencial": 50,
            "dataAbertura": 1722433130149,
            "numeroFornecedorAtendimento": null,
            "tipo": {
                "codigo": 2,
                "nome": "Carta"
            },
            "situacao": {
                "codigo": 2,
                "nome": "Finalizada"
            },
            "justificativaCancelamento": null,
            "respostaFornecedor": "<p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Prezados,\n­<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo utilizado desde o século XVI, quando um impressor desconhecido pegou uma bandeja de tipos e os embaralhou para fazer um livro de modelos de tipos. Lorem Ipsum sobreviveu não só a cinco séculos, como também ao salto para a editoração eletrônica, permanecendo essencialmente inalterado. Se popularizou na década de 60, quando a Letraset lançou decalques contendo passagens de Lorem Ipsum, e mais recentemente quando passou a ser integrado a softwares de editoração eletrônica como Aldus PageMaker.,\n<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p>\n\n\n\n\n\n\n\n\n\n\n\n<span style=\"font-size:11.0pt;font-family:&quot;Arial&quot;,sans-serif;mso-fareast-font-family:\nCalibri;mso-fareast-theme-font:minor-latin;mso-ligatures:standardcontextual;\nmso-ansi-language:PT-BR;mso-fareast-language:EN-US;mso-bidi-language:AR-SA\">MBA\nAdvogados</span><br></p>",
            "consideracoesCredenciada": null,
            "textoNotificacaoConsumidor": null,
            "textoNotificacaoProcurador": null,
            "tipoResultado": null,
            "codigoFornecedor": 1,
            "nomeFornecedor": null,
            "codigoConsumidor": 20000000-111,
            "nomeConsumidor": "ZXXXXXXXX XXXXXX XX da Silva ",
            "dataRetornoConsumidor": 1726282800000,
            "codigoProcurador": null,
            "nomeProcurador": null,
            "indicadorDescumprimentoAcordo": null,
            "fornecedores": [
                {
                    "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2407072600100050301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo utilizado desde o século XVI, quando um impressor desconhecido pegou uma bandeja de tipos e os embaralhou para fazer um livro de modelos de tipos. Lorem Ipsum sobreviveu não só a cinco séculos, como também ao salto para a editoração eletrônica, permanecendo essencialmente inalterado. Se popularizou na década de 60, quando a Letraset lançou decalques contendo passagens de Lorem Ipsum, e mais recentemente quando passou a ser integrado a softwares de editoração eletrônica como Aldus PageMaker. termos dos artigos 45, 46 e 47 do Decreto 2.181/97,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">31 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                    "dataAvisoRecebimento": null,
                    "indicadorRespostaFornecedor": true,
                    "indicadorPrazoProrrogado": false,
                    "dataPrazoRespostaFornecedor": "2024-08-10",
                    "indicadorParticipacaoEletronica": true,
                    "indicadorParticipacaoCancelada": false,
                    "indicadorAtendimentoEletronico": true,
                    "respostaFornecedor": {
                        "data": 1723005879673,
                        "texto": "<p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Prezados,\n­<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Segue\ndefesa administrativa referente a reclamação em questão do fornecedor FACTA\nFINANCEIRA S.A. CRÉDITO, FINANCIAMENTO E INVESTIMENTO.<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Atenciosamente,\n<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p>\n\n\n\n\n\n\n\n\n\n\n\n<span style=\"font-size:11.0pt;font-family:&quot;Arial&quot;,sans-serif;mso-fareast-font-family:\nCalibri;mso-fareast-theme-font:minor-latin;mso-ligatures:standardcontextual;\nmso-ansi-language:PT-BR;mso-fareast-language:EN-US;mso-bidi-language:AR-SA\">MBA\nAdvogados</span><br></p>",
                        "anexos": [
                            {
                                "chavePrimaria": {
                                    "ano": 24,
                                    "mes": 7,
                                    "credenciada": 1461160,
                                    "postoAtendimento": 1461161,
                                    "numeroSequencial": 50,
                                    "dataAbertura": 1722433130149,
                                    "numeroFornecedorAtendimento": 1,
                                    "numeroSequencialAnexo": 1
                                },
                                "nome": "2XXXXXXXXXXXXXXXXXX1 DEFESA ADMINISTRATIVA.pdf",
                                "dataInclusao": 1723005899531,
                                "tamanhoArquivo": 241799,
                                "objectKey": "172XXXXXX31_ee32c_680.pdf",
                                "tamanhoArquivoStorage": 241799,
                                "numeroSequencial": 1
                            },
                            {
                                "chavePrimaria": {
                                    "ano": 24,
                                    "mes": 7,
                                    "credenciada": 1461160,
                                    "postoAtendimento": 1461161,
                                    "numeroSequencial": 50,
                                    "dataAbertura": 1722433130149,
                                    "numeroFornecedorAtendimento": 1,
                                    "numeroSequencialAnexo": 2
                                },
                                "nome": "PROCURAÇÃO FACTA.pdf",
                                "dataInclusao": 1723005905205,
                                "tamanhoArquivo": 996121,
                                "objectKey": "172XXXXX205_c3e5f_68b.pdf",
                                "tamanhoArquivoStorage": 996121,
                                "numeroSequencial": 2
                            }
                        ]
                    },
                    "numeroFornecedorAtendimento": 1
                }
            ],
            "fornecedoresDetails": [
                {
                    "codigoFornecedor": 8XX,
                    "numeroFornecedorAtendimento": 1,
                    "nome": "Facta Financeira",
                    "numeroAtendimentoFormatado": "2X.XX.XXXX.XXX.XXXXX-XXX",
                    "indicadorAtendimentoEletronico": true,
                    "indicadorSuspensaoAtendimentoEletronico": false,
                    "atendimentoCancelado": false,
                    "telefones": [
                        {
                            "codigo": 3,
                            "codigoArea": "51",
                            "telefone": "3XXXXX8",
                            "tipo": {
                                "codigoTipoTelefone": 6,
                                "nomeTipoTelefone": "Institucional"
                            }
                        },
                        {
                            "codigo": 4,
                            "codigoArea": "61",
                            "telefone": "9XXXXXXX8",
                            "tipo": {
                                "codigoTipoTelefone": 2,
                                "nomeTipoTelefone": "Celular"
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "responseAttrs": {}
}
```

---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-400"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4421" data-start="4134"><thead data-end="4181" data-start="4134"><tr data-end="4181" data-start="4134"><th data-col-size="sm" data-end="4143" data-start="4134">Código</th><th data-col-size="sm" data-end="4181" data-start="4143">Descrição</th></tr></thead><tbody data-end="4421" data-start="4230"><tr data-end="4325" data-start="4278"><td data-col-size="sm" data-end="4287" data-start="4278">400</td><td data-col-size="sm" data-end="4325" data-start="4287">Erro de parâmetros</td></tr><tr data-end="4373" data-start="4326"><td data-col-size="sm" data-end="4335" data-start="4326">401</td><td data-col-size="sm" data-end="4373" data-start="4335">Não autorizado</td></tr><tr data-end="4421" data-start="4374"><td data-col-size="sm" data-end="4383" data-start="4374">500</td><td data-col-size="sm" data-end="4421" data-start="4383">Erro interno</td></tr></tbody></table>

<div class="absolute end-0 flex items-end" style="text-align: justify;">  
</div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas à audiência de uma determinada reclamação, com base no número de acompanhamento e data de abertura**</span>




##### **GET** `/notificacao-audiencia/historico-notificacoes-fornecedor`

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-%7B%7D%C2%A0corpo-vazio-"><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1">  
</div><div class="absolute end-0 flex items-end">**Headers Obrigatórios**</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-3"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div></div></div>```json
{
    "status": "Agendada",
    "dataAudiencia": "2024-07-15T14:00:00Z",
    "local": "Sala virtual 3",
    "participantes": [
        {
            "nome": "João da Silva",
            "tipo": "Consumidor"
        },
        {
            "nome": "Empresa XYZ",
            "tipo": "Fornecedor"
        }
    ]
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--16"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

</div></div>**Respostas possíveis**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2716" data-start="2285"><thead data-end="2345" data-start="2285"><tr data-end="2345" data-start="2285"><th data-col-size="sm" data-end="2299" data-start="2285">Código HTTP</th><th data-col-size="md" data-end="2345" data-start="2299">Descrição</th></tr></thead><tbody data-end="2716" data-start="2407"><tr data-end="2533" data-start="2473"><td data-col-size="sm" data-end="2487" data-start="2473">`401`</td><td data-col-size="md" data-end="2533" data-start="2487">Não autorizado (token inválido/expirado)</td></tr><tr data-end="2594" data-start="2534"><td data-col-size="sm" data-end="2548" data-start="2534">`403`</td><td data-col-size="md" data-end="2594" data-start="2548">Acesso negado</td></tr><tr data-end="2655" data-start="2595"><td data-col-size="sm" data-end="2609" data-start="2595">`404`</td><td data-col-size="md" data-end="2655" data-start="2609">Audiência não encontrada</td></tr><tr data-end="2716" data-start="2656"><td data-col-size="sm" data-end="2670" data-start="2656">`500`</td><td data-col-size="md" data-end="2716" data-start="2670">Erro interno no servidor</td></tr></tbody></table>

</div></div></div></div>

# API - proconsumidor-coletar-reclamacao

Formato Markdown (documentação simples)

#### <span style="background-color: rgb(241, 196, 15);">Autentica um usuário com CPF e senha codificada.</span>



##### **POST** `/auth/login`

**Requisição:**

**Headers:**

- Content-Type: application/json

**Body:**

```json
{
  "login": "12345",
  "pass": "e10adc3949ba59abbe56e057f20f883e",
  "tokenValidation": "",
  "isUsuarioConsumidor": false
}
```

**Descrição dos campos:**

- **login** (string): **CPF** do usuário, apenas números.
- **pass** (string): Senha codificada (ex: **MD5**).
- **tokenValidation** (string): Campo para token externo (pode ficar vazio).
- **isUsuarioConsumidor** (boolean): false para usuários internos, true para consumidores finais.

**Resposta 200 OK**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "uid": "MjEXXXz",
    "message": "deliverCredentials",
    "jsonUser": "{\"codigoUsuario\":XXXXXXX,\"nome\":\"XXXXXXXXXXXXXXX\",\"cpf\":\"XXXXXXXXXX\",\"tipoUsuario\":\"Fornecedor\",\"nomePerfil\":\"Colaborador\",\"codigoTipoUsuario\":4,\"listaFornecedores\":[{\"codigo\":XXXXX,\"nome\":\"XXXXXXXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXXXXXX\"},{\"codigo\":XXX,\"nome\":\"XXXXXXX Financeira\",\"cpfCnpj\":\"XXXXXXXXXX\"},{\"codigo\":XXXXXX,\"nome\":\"XXXXXXXX XXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXX\"}],\"permissoes\":[\"gerenciar_atendimento\",\"relatorio_gerencial\"],\"codigoFornecedor\":XXXX,\"nomeFornecedor\":\"XXXXXXXXXXXXXXXX.\",\"cnpjFornecedor\":XXXXXXXXXXXXXXXXX,\"indicadorAceiteTermoUso\":true}",
    "expiry": 1752683825157,
    "primeiroAcesso": false,
    "auth_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyODM2ODg3MTg0IiwimNvZGlnb0Zvcm5lY2Vkb3IiOjY1NSwiaXNVc3VhcmlvQ29uc3VtaWRvciI6ZmFsc2V9.T1x2r0wcHijQNey_fyjcTs9IUI4Ocwx7-Or7Nu-aYyQ"
}
```

**Respostas possíveis:**

- 401 Unauthorized: CPF ou senha inválidos.
- 500 Internal Server Error: Erro interno.

#### <span style="background-color: rgb(241, 196, 15);">**Altera o fornecedor autenticado associado ao usuário logado.**</span>



##### **PUT** `/login/818/mudar-fornecedor-autenticado`

**Requisição:**

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3127" data-start="2132" style="width: 101.728%;"><thead data-end="2214" data-start="2132"><tr data-end="2214" data-start="2132"><th data-col-size="sm" data-end="2153" data-start="2132" style="width: 43.8853%;">Header</th><th data-col-size="md" data-end="2214" data-start="2153" style="width: 56.1147%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3127" data-start="2298"><tr data-end="2380" data-start="2298"><td data-col-size="sm" data-end="2319" data-start="2298" style="width: 43.8853%;">`access-token`</td><td data-col-size="md" data-end="2380" data-start="2319" style="width: 56.1147%;">JWT válido do usuário</td></tr><tr data-end="2463" data-start="2381"><td data-col-size="sm" data-end="2402" data-start="2381" style="width: 43.8853%;">`token-type`</td><td data-col-size="md" data-end="2463" data-start="2402" style="width: 56.1147%;">`Bearer`</td></tr><tr data-end="2546" data-start="2464"><td data-col-size="sm" data-end="2485" data-start="2464" style="width: 43.8853%;">`uid`</td><td data-col-size="md" data-end="2546" data-start="2485" style="width: 56.1147%;">UID codificado do usuário (ex: MD5)</td></tr><tr data-end="2629" data-start="2547"><td data-col-size="sm" data-end="2568" data-start="2547" style="width: 43.8853%;">`expiresuid`</td><td data-col-size="md" data-end="2629" data-start="2568" style="width: 56.1147%;">Timestamp de expiração do token</td></tr><tr data-end="2712" data-start="2630"><td data-col-size="sm" data-end="2651" data-start="2630" style="width: 43.8853%;">`primeiroAcesso`</td><td data-col-size="md" data-end="2712" data-start="2651" style="width: 56.1147%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="2795" data-start="2713"><td data-col-size="sm" data-end="2734" data-start="2713" style="width: 43.8853%;">`tz`</td><td data-col-size="md" data-end="2795" data-start="2734" style="width: 56.1147%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="2878" data-start="2796"><td data-col-size="sm" data-end="2817" data-start="2796" style="width: 43.8853%;">`Content-Type`</td><td data-col-size="md" data-end="2878" data-start="2817" style="width: 56.1147%;">`application/json`</td></tr><tr data-end="2961" data-start="2879"><td data-col-size="sm" data-end="2900" data-start="2879" style="width: 43.8853%;">`Origin`</td><td data-col-size="md" data-end="2961" data-start="2900" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="3044" data-start="2962"><td data-col-size="sm" data-end="2983" data-start="2962" style="width: 43.8853%;">`Referer`</td><td data-col-size="md" data-end="3044" data-start="2983" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="3127" data-start="3045"><td data-col-size="sm" data-end="3066" data-start="3045" style="width: 43.8853%;">Outros</td><td data-col-size="md" data-end="3127" data-start="3066" style="width: 56.1147%;">Headers de navegador (`User-Agent`, `sec-ch-ua`, etc.)</td></tr></tbody></table>

</div></div>---

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-copiareditar-%7B%7D"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div></div>---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-200"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3565" data-start="3284"><thead data-end="3330" data-start="3284"><tr data-end="3330" data-start="3284"><th data-col-size="sm" data-end="3293" data-start="3284">Código</th><th data-col-size="sm" data-end="3330" data-start="3293">Descrição</th></tr></thead><tbody data-end="3565" data-start="3378"><tr data-end="3424" data-start="3378"><td data-col-size="sm" data-end="3387" data-start="3378">200</td><td data-col-size="sm" data-end="3424" data-start="3387">Sucesso na troca do fornecedor</td></tr><tr data-end="3471" data-start="3425"><td data-col-size="sm" data-end="3434" data-start="3425">401</td><td data-col-size="sm" data-end="3471" data-start="3434">Não autorizado (token inválido)</td></tr><tr data-end="3518" data-start="3472"><td data-col-size="sm" data-end="3481" data-start="3472">403</td><td data-col-size="sm" data-end="3518" data-start="3481">Acesso negado</td></tr><tr data-end="3565" data-start="3519"><td data-col-size="sm" data-end="3528" data-start="3519">500</td><td data-col-size="sm" data-end="3565" data-start="3528">Erro interno do servidor</td></tr></tbody></table>

</div></div>#### <span style="background-color: rgb(241, 196, 15);">**Busca os dados completos de um atendimento pelo número de protocolo ou número de acompanhamento**</span>


##### **GET** `/atendimentos/obter-por-numero-acompanhamento-ou-atendimento/{numero}`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3655" data-start="2909" style="width: 92.4691%;"><thead data-end="2991" data-start="2909"><tr data-end="2991" data-start="2909"><th data-col-size="sm" data-end="2930" data-start="2909" style="width: 34.2223%;">Header</th><th data-col-size="sm" data-end="2991" data-start="2930" style="width: 65.7777%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3655" data-start="3075"><tr data-end="3157" data-start="3075"><td data-col-size="sm" data-end="3096" data-start="3075" style="width: 34.2223%;">`access-token`</td><td data-col-size="sm" data-end="3157" data-start="3096" style="width: 65.7777%;">JWT válido do usuário</td></tr><tr data-end="3240" data-start="3158"><td data-col-size="sm" data-end="3179" data-start="3158" style="width: 34.2223%;">`token-type`</td><td data-col-size="sm" data-end="3240" data-start="3179" style="width: 65.7777%;">`Bearer`</td></tr><tr data-end="3323" data-start="3241"><td data-col-size="sm" data-end="3262" data-start="3241" style="width: 34.2223%;">`uid`</td><td data-col-size="sm" data-end="3323" data-start="3262" style="width: 65.7777%;">UID codificado do usuário (ex: Base64)</td></tr><tr data-end="3406" data-start="3324"><td data-col-size="sm" data-end="3345" data-start="3324" style="width: 34.2223%;">`expires`</td><td data-col-size="sm" data-end="3406" data-start="3345" style="width: 65.7777%;">Timestamp de expiração do token</td></tr><tr data-end="3489" data-start="3407"><td data-col-size="sm" data-end="3428" data-start="3407" style="width: 34.2223%;">`primeiroAcesso`</td><td data-col-size="sm" data-end="3489" data-start="3428" style="width: 65.7777%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="3572" data-start="3490"><td data-col-size="sm" data-end="3511" data-start="3490" style="width: 34.2223%;">`tz`</td><td data-col-size="sm" data-end="3572" data-start="3511" style="width: 65.7777%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="3655" data-start="3573"><td data-col-size="sm" data-end="3594" data-start="3573" style="width: 34.2223%;">`Content-Type`</td><td data-col-size="sm" data-end="3655" data-start="3594" style="width: 65.7777%;">`application/json` (implícito)</td></tr></tbody></table>

</div></div>---

**Parâmetro de rota:**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3945" data-start="3689" style="width: 100.123%;"><thead data-end="3773" data-start="3689"><tr data-end="3773" data-start="3689"><th data-col-size="sm" data-end="3701" data-start="3689" style="width: 15.5%;">Parâmetro</th><th data-col-size="sm" data-end="3744" data-start="3701" style="width: 64.625%;">Descrição</th><th data-col-size="sm" data-end="3773" data-start="3744" style="width: 19.875%;">Exemplo</th></tr></thead><tbody data-end="3945" data-start="3862"><tr data-end="3945" data-start="3862"><td data-col-size="sm" data-end="3874" data-start="3862" style="width: 15.5%;">`numero`</td><td data-col-size="sm" data-end="3916" data-start="3874" style="width: 64.625%;">Número do atendimento ou acompanhamento</td><td data-col-size="sm" data-end="3945" data-start="3916" style="width: 19.875%;">XXXXXXXXXXXXXX</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none">  
</div></div></div>
**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-1"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">**json**</div><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>```json
{
    "data": [
        {
            "numeroAcompanhamento": "30xxxxx545xxxx3",
            "dataAbertura": "19/07/2024",
            "nomeCredenciada": "Procon Municipal de Teodoro Sampaio - SP",
            "nomePosto": "Procon Municipal de Teodoro Sampaio - SP",
            "area": "Serviços Financeiros",
            "assunto": "Crédito Pessoal e Demais Empréstimos (exceto financiamento de imóveis e veículos)",
            "problema": "Cobrança por serviço/produto não contratado / não reconhecido / não solicitado",
            "nomeConsumidor": "Fulano Perxxx Grxxx da Sxxxa ",
            "cpfConsumidor": "08xx6xxxx07",
            "cnpjConsumidor": null,
            "numeroFornecedorAtendimento": "01",
            "razaoSocialFornecedor": "Faxxx Fxxnxxx S.A. Cxxxx, Fxxxxxxx e Ixxxxx",
            "nomeFantasiaFornecedor": "Fxxxx Fxxxxxxx",
            "cnpjFornecedor": "1x5xxxxx0001xx",
            "cpfFornecedor": null,
            "grupoEconomicoFornecedor": null,
            "tecnicoAtendimento": "Jxxxo Cxxar Pxxx Fxxxxxxxa",
            "tecnicoConciliador": null,
            "dataPrazoRespostaCarta": null,
            "dataPrazoRespostaAudiencia": null,
            "dataAgendamentoAudiencia": null,
            "nomeProcurador": null,
            "tipoAcompanhamento": {
                "codigo": 3,
                "nome": "Reclamação",
                "descricao": "Reclamação"
            },
            "tipoEstadoAtendimento": {
                "codigo": 22,
                "nome": "Em Decisão",
                "codigoFase": 3,
                "tratativa": false,
                "descricao": "Em Decisão"
            },
            "numeroAtendimento": "24xxxxxx010xxxxx01",
            "tipoFaseAcompanhamento": {
                "codigo": 3,
                "nome": "Decisão",
                "descricao": "Decisão"
            },
            "tipoOrigemAcompanhamento": {
                "codigo": 1,
                "nome": "Presencial",
                "descricao": "Presencial"
            },
            "tipoTratativa": null,
            "cpfProcurador": null
        }
    ],
    "responseAttrs": {
        "recordsTotal": 1
    }
}
```

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--10"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>---

Respostas possíveis:

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-404"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4655" data-start="4368"><thead data-end="4415" data-start="4368"><tr data-end="4415" data-start="4368"><th data-col-size="sm" data-end="4377" data-start="4368">Código</th><th data-col-size="sm" data-end="4415" data-start="4377">Descrição</th></tr></thead><tbody data-end="4655" data-start="4464"><tr data-end="4559" data-start="4512"><td data-col-size="sm" data-end="4521" data-start="4512">404</td><td data-col-size="sm" data-end="4559" data-start="4521">Atendimento não encontrado</td></tr><tr data-end="4607" data-start="4560"><td data-col-size="sm" data-end="4569" data-start="4560">401</td><td data-col-size="sm" data-end="4607" data-start="4569">Não autorizado (token inválido)</td></tr><tr data-end="4655" data-start="4608"><td data-col-size="sm" data-end="4617" data-start="4608">500</td><td data-col-size="sm" data-end="4655" data-start="4617">Erro interno no servidor</td></tr></tbody></table>

</div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Retorna as reclamações (respostas, movimentações ou atualizações) associadas a uma **reclamação** específica com base no número de acompanhamento.** </span>



##### **GET** `/reclamacoes/{`numeroAcompanhamento`}` 

**Parâmetros de Query**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="746" data-start="362"><thead data-end="489" data-start="362"><tr data-end="489" data-start="362"><th data-col-size="sm" data-end="388" data-start="362">Parâmetro</th><th data-col-size="sm" data-end="399" data-start="388">Tipo</th><th data-col-size="sm" data-end="413" data-start="399">Obrigatório</th><th data-col-size="sm" data-end="462" data-start="413">Descrição</th><th data-col-size="sm" data-end="489" data-start="462">Exemplo</th></tr></thead><tbody data-end="746" data-start="619"><tr data-end="746" data-start="619"><td data-col-size="sm" data-end="645" data-start="619">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="656" data-start="645">string</td><td data-col-size="sm" data-end="670" data-start="656">✅ Sim</td><td data-col-size="sm" data-end="719" data-start="670">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="746" data-start="719">`2XXXXXXXXXXXXXXXXX503`</td></tr></tbody></table>

</div></div>---

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-descri%C3%A7%C3%A3o-acc"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><table class="w-fit min-w-(--thread-content-width)" data-end="1687" data-start="786" style="width: 96.4198%;"><thead data-end="867" data-start="786"><tr data-end="867" data-start="786"><th data-col-size="sm" data-end="806" data-start="786" style="width: 40.9574%;">Header</th><th data-col-size="md" data-end="867" data-start="806" style="width: 59.0426%;">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1687" data-start="950"><tr data-end="1031" data-start="950"><td data-col-size="sm" data-end="970" data-start="950" style="width: 40.9574%;">`access-token`</td><td data-col-size="md" data-end="1031" data-start="970" style="width: 59.0426%;">Token JWT válido do usuário autenticado</td></tr><tr data-end="1113" data-start="1032"><td data-col-size="sm" data-end="1052" data-start="1032" style="width: 40.9574%;">`token-type`</td><td data-col-size="md" data-end="1113" data-start="1052" style="width: 59.0426%;">`Bearer`</td></tr><tr data-end="1195" data-start="1114"><td data-col-size="sm" data-end="1134" data-start="1114" style="width: 40.9574%;">`uid`</td><td data-col-size="md" data-end="1195" data-start="1134" style="width: 59.0426%;">ID do usuário codificado (ex: Base64)</td></tr><tr data-end="1277" data-start="1196"><td data-col-size="sm" data-end="1216" data-start="1196" style="width: 40.9574%;">`expires`</td><td data-col-size="md" data-end="1277" data-start="1216" style="width: 59.0426%;">Timestamp de expiração do token</td></tr><tr data-end="1359" data-start="1278"><td data-col-size="sm" data-end="1298" data-start="1278" style="width: 40.9574%;">`primeiroAcesso`</td><td data-col-size="md" data-end="1359" data-start="1298" style="width: 59.0426%;">`false` (ou `true` caso seja primeiro acesso)</td></tr><tr data-end="1441" data-start="1360"><td data-col-size="sm" data-end="1380" data-start="1360" style="width: 40.9574%;">`tz`</td><td data-col-size="md" data-end="1441" data-start="1380" style="width: 59.0426%;">Fuso horário, ex: `America/Sao_Paulo`</td></tr><tr data-end="1523" data-start="1442"><td data-col-size="sm" data-end="1462" data-start="1442" style="width: 40.9574%;">`User-Agent`</td><td data-col-size="md" data-end="1523" data-start="1462" style="width: 59.0426%;">Identificação do navegador (browser padrão)</td></tr><tr data-end="1605" data-start="1524"><td data-col-size="sm" data-end="1544" data-start="1524" style="width: 40.9574%;">`Origin`</td><td data-col-size="md" data-end="1605" data-start="1544" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1687" data-start="1606"><td data-col-size="sm" data-end="1626" data-start="1606" style="width: 40.9574%;">`Referer`</td><td data-col-size="md" data-end="1687" data-start="1626" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br/`</td></tr></tbody></table>

</div></div></div></div>---

**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-2"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 121540,
        "nomeCredenciada": "PrXXXon MXXXXl de CXX - SC",
        "nomeFantasiaCredenciada": "PrXXXXon MuXXXal de CXXX - SC",
        "codigoPosto": 20134,
        "nomePosto": "PXXXn MuXXpal de CXXXX - SC",
        "numeroSequencial": 1XX,
        "indicadorAtendimentoPreferencial": true,
        "numeroAtendimentoFormatado": "XX.XX.XXXX.XXX.XXXXX-3",
        "tipoEstadoAtendimento": {
            "codigo": 30,
            "nome": "Prazo Expirado",
            "codigoFase": 4,
            "tratativa": false,
            "descricao": "Prazo Expirado"
        },
        "tipoFaseAcompanhamento": {
            "codigo": 4,
            "nome": "Finalizada",
            "descricao": "Finalizada"
        },
        "textoAcompanhamento": "<h4><span style=\"font-size: 14px;\"> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</span></h4><h4><span style=\"font-size: 14px;\">Pelo exposto, recorre a este PROCON.</span></h4>",
        "numeroAcompanhamento": "2XXXXXXXXXXXXX3",
        "dataAbertura": 1719508292080,
        "horaEntrada": null,
        "tipoAcompanhamento": {
            "codigo": 3,
            "nome": "Reclamação",
            "descricao": "Reclamação"
        },
        "tipoOrigemAcompanhamento": {
            "codigo": 1,
            "nome": "Presencial",
            "descricao": "Presencial"
        },
        "tipoConsulta": null,
        "andamentos": [
            {
                "chavePrimaria": {
                    "numeroAndamentoAcompanhamento": 3XXXX2,
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 120540,
                        "postoAtendimento": 111431,
                        "numeroSequencial": X60,
                        "numeroAcompanhamento": "2XXXXXXXXXXXXXX3"
                    }
                },
                "andamento": {
                    "codigo": 392,
                    "nome": "Prazo Expirado para a Fase Decisão",
                    "codigoInterno": 60,
                    "indicadorAndamentoManual": false,
                    "chavePrimaria": 3012
                },
                "usuario": {
                    "codigo": 0,
                    "nome": "Usuário Sistema"
                },
                "andamentosAtendimento": [
                    {
                        "numeroAtendimentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3,
                        "numeroFornecedorAtendimento": 1,
                        "codigoFornecedor": 818,
                        "nomeFornecedor": "XXXa FXXXceira"
                    }
                ],
                "data": 1751105447453,
                "acompanhamento": {
                    "chavePrimaria": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 210454,
                        "postoAtendimento": 102121,
                        "numeroSequencial": 541
                    },
                    "indicadorAtendimentoPreferencial": true,
                    "tipoAcompanhamento": {
                        "codigo": 3,
                        "nome": "Reclamação",
                        "descricao": "Reclamação"
                    },
                    "tipoOrigemAcompanhamento": {
                        "codigo": 1,
                        "nome": "Presencial",
                        "descricao": "Presencial"
                    },
                    "tipoFaseAcompanhamento": {
                        "codigo": 4,
                        "nome": "Finalizada",
                        "descricao": "Finalizada"
                    },
                    "numeroAcompanhamento": 24XXXXXXXXX3,
                    "textoAcompanhamento": "<h4><span style=\"font-size: 14px;\"> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</span></h4><h4><span style=\"font-size: 14px;\">Pelo exposto, recorre a este PROCON.</span></h4>",
                    "dataInclusao": 1719508292080,
                    "dataInclusaoDecisao": null,
                    "dataLiberacaoAtendimento": null,
                    "usuarioAbertura": 1XXXX06,
                    "numeroAtendimentoFormatado": null,
                    "fornecedores": null,
                    "areaAtendimento": null,
                    "assuntoAtendimento": null,
                    "problemaAtendimento": null,
                    "comoComprou": null,
                    "textoReclamacao": "<p> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>",
                    "dataPrazoFinalizacao": 1750993200000,
                    "dataPrazoFaseTratativa": "2024-10-25",
                    "codigoCredenciada": 186030,
                    "codigoPostoAtendimento": 186031,
                    "numeroAcompanhamentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3",
                    "numeroAcompanhamentoString": "24XXXXXXXXX3",
                    "abertaOuTratativa": false,
                    "tratativa": false,
                    "denuncia": false,
                    "reclamacao": true,
                    "numeroAtendimentoAcompanhamentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3",
                    "consulta": false
                }
            },
        ],
        "atendimentos": [
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 186030,
                        "postoAtendimento": 186031,
                        "numeroSequencial": 176,
                        "numeroAcompanhamento": "24060317001001763"
                    },
                    "numeroFornecedorAtendimento": 1
                },
                "fornecedor": {
                    "codigo": 001,
                    "tipoCadastro": {
                        "codigoTipoCadastro": 3,
                        "nomeTipoCadastro": "Fornecedor"
                    },
                    "tipoEstadoCadastro": {
                        "codigoEstadoCadastro": 1,
                        "nomeEstadoCadastro": "Ativo"
                    },
                    "nomeCadastro": "FXXXX FiXXXXra S.A. Credito, FinaXXXXmento e InvXXXXmento",
                    "complementoEndereco": "1XX9 - salas 7XXX1 e 7XX02",
                    "cep": {
                        "operacao": null,
                        "nrCep": 9XXXX11,
                        "uf": "RS",
                        "localidade": {
                            "operacao": null,
                            "numeroLocalidade": XXX,
                            "uf": "RS",
                            "nomeLocalidade": "PXXo AlXXXe",
                            "cep": null,
                            "situacaoCodificacaoLogradouro": 1,
                            "tipoLocalidade": "M",
                            "numeroLocalidadeSubordinacao": null,
                            "abreviacaoNomeLocalidade": "Pto Alegre",
                            "codigoIBGEMunicipio": "431XXXX4902",
                            "chavePrimaria": XXX,
                            "operacaoRemocao": false,
                            "operacaoInclusao": false,
                            "operacaoAlteracao": false,
                            "operacaoInclusaoOuAlteracao": false
                        },
                        "codigoLocalidade": XXX,
                        "bairro": {
                            "operacao": null,
                            "codigo": 1XXX75,
                            "uf": "RS",
                            "localidade": 7XX4,
                            "nomeBairro": "Centro Histórico",
                            "nomeBairroAbreviado": "C Histórico",
                            "chavePrimaria": 1XXX5,
                            "operacaoRemocao": false,
                            "operacaoInclusao": false,
                            "operacaoAlteracao": false,
                            "operacaoInclusaoOuAlteracao": false
                        },
                        "codigoBairro": XX,
                        "logradouro": "RXX dos AndXXXXXas",
                        "complementoLogradouro": "- de 1XX1 a 15XXX7 - lado ímpar",
                        "nome": null,
                        "indicadorCepAtivo": true,
                        "nrCepAnteior": null,
                        "chavePrimaria": 9XXXXXXX,
                        "cep": "90020011",
                        "operacaoRemocao": false,
                        "operacaoInclusao": false,
                        "operacaoAlteracao": false,
                        "operacaoInclusaoOuAlteracao": false
                    },
                    "listaAnexo": [
                        {
                            "chavePrimaria": {
                                "codigo": 1,
                                "cadastro": 818
                            },
                            "nome": "FXXX FiXXXXra.pdf",
                            "dataInclusao": 1687459098138,
                            "operacao": null,
                            "usuario": {
                                "codigo": 1XX51,
                                "nome": "IXXXXXa AXXes CXXXrgo"
                            },
                            "tamanhoArquivo": 177365,
                            "indicadorAnexoPublico": null,
                            "objectKey": "1687459098138_d4e02_433.pdf",
                            "tamanhoArquivoStorage": 177365
                        }
                    ],
                    "listaEmail": [
                        {
                            "chavePrimaria": {
                                "codigo": 7,
                                "cadastro": 818
                            },
                            "texto": "adm.contestacao@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 4,
                                "nomeTipoEmail": "Alerta de Notificação"
                            },
                            "emailAlertaNotificacao": true,
                            "emailPrincipal": false,
                            "emailInstitucional": false
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 8,
                                "cadastro": 818
                            },
                            "texto": "everton.medeiros@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 3,
                                "nomeTipoEmail": "Ponto Focal"
                            },
                            "emailAlertaNotificacao": false,
                            "emailPrincipal": false,
                            "emailInstitucional": false
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 10,
                                "cadastro": 818
                            },
                            "texto": "adm.contestacao@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 2,
                                "nomeTipoEmail": "Institucional"
                            },
                            "emailAlertaNotificacao": false,
                            "emailPrincipal": false,
                            "emailInstitucional": true
                        }
                    ],
                    "listaTelefone": [
                        {
                            "chavePrimaria": {
                                "codigo": 3,
                                "cadastro": 818
                            },
                            "codigoArea": "51",
                            "telefone": "30217838",
                            "tipoTelefone": {
                                "codigoTipoTelefone": 6,
                                "nomeTipoTelefone": "Institucional"
                            },
                            "telefonePrincipal": false,
                            "telefoneInstitucional": true
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 4,
                                "cadastro": 818
                            },
                            "codigoArea": "61",
                            "telefone": "998552188",
                            "tipoTelefone": {
                                "codigoTipoTelefone": 2,
                                "nomeTipoTelefone": "Celular"
                            },
                            "telefonePrincipal": false,
                            "telefoneInstitucional": false
                        }
                    ],
                    "nomeLogradouro": "Rua dos Andradas",
                    "nomeBairro": "Centro Histórico",
                    "tipoPessoa": {
                        "codigoTipoPessoa": 2,
                        "nomeTipoPessoa": "Jurídica"
                    },
                    "urlSite": "www.factafinanceira.com.br",
                    "dataCriacao": 1572017818000,
                    "indicadorAtendimentoEletronico": true,
                    "indicadorSuspensaoAtendimentoEletronico": false,
                    "indicadorPresencaConsumidorGov": true,
                    "credenciada": 1,
                    "listaCategoriaFornecedor": [
                        {
                            "chavePrimaria": {
                                "cadastroFornecedor": 818,
                                "categoria": {
                                    "chavePrimaria": {
                                        "codigo": 576,
                                        "tipoCategoria": {
                                            "codigo": 5,
                                            "nome": "Segmento"
                                        }
                                    },
                                    "nome": "Bancos, Financeiras e Administradoras de Cartão",
                                    "ativo": true
                                }
                            }
                        }
                    ],
                    "dataLimiteAlteracaoAuditor": 1572017818000,
                    "dataLimiteAlteracaoTecnicoCredenciada": 1572017818000,
                    "existeEnderecoCorrespondenciaCriadoPelaSenacon": false,
                    "dataEliminacao": null,
                    "dataDesativacao": null,
                    "indicadorSeloSenacon": true,
                    "dataHabilitacaoEletronica": 1649272623027,
                    "dataDesabilitacaoEletronica": null,
                    "dataSuspensaoEletronica": null,
                    "inclusao": false,
                    "cnpj": 15581638000130,
                    "nomeFantasia": "Facta Financeira",
                    "cnaePrincipal": {
                        "codigo": 6436100,
                        "descricao": "SOCIEDADES DE CREDITO, FINANCIAMENTO E INVESTIMENTO - FINANCEIRAS",
                        "chavePrimaria": 6436100,
                        "codigoFormatado": "6436-1/00"
                    },
                    "indicadorEmailAlertaNotificacao": null,
                    "fornecedorPrincipal": null,
                    "cpf": null,
                    "nomeFantasiaOuRazaoSocial": "Facta Financeira",
                    "chavePrimaria": 818,
                    "ativo": true
                },
                "fornecedores": [],
                "indicadorFornecedorProcurado": true,
                "tipoEstadoAtendimento": {
                    "codigo": 30,
                    "nome": "Prazo Expirado",
                    "codigoFase": 4,
                    "tratativa": false,
                    "descricao": "Prazo Expirado"
                },
                "textoContatoFornecedor": null,
                "acompanhamento": {
                    "ano": 24,
                    "mes": 6,
                    "credenciada": 254154,
                    "postoAtendimento": 185531,
                    "numeroSequencial": 356,
                    "numeroAcompanhamento": "2XXX545XXX01"
                },
                "existeTrativaFinalizada": true,
                "numeroAtendimentoFormatado": "XX.0X.0XXXX.0XX1.0XXX6-3XX",
                "numeroFornecedorAtendimento": 1,
                "numeroAtendimento": 2XXX545XXX01
            }
        ],
        "anexos": [
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 25454,
                        "postoAtendimento": 12545,
                        "numeroSequencial": 155,
                        "numeroAcompanhamento": "54545445545"
                    },
                    "numeroAnexoAcompanhamento": 2
                },
                "usuario": {
                    "codigo": 108006,
                    "nome": "GXXXXa NaXXXia TXXXio"
                },
                "indicadorAnexoPublico": false,
                "nome": "1868 - CXXXE DO PORTO, SC.pdf",
                "tamanhoArquivo": 1270990,
                "dataInclusao": 1720639099160,
                "objectKey": "1720639099160_be486_3ed.pdf",
                "tamanhoArquivoStorage": 1270990
            },
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 23641,
                        "postoAtendimento": 10140,
                        "numeroSequencial": 216,
                        "numeroAcompanhamento": "2XXXXXX1001XXX"
                    },
                    "numeroAnexoAcompanhamento": 1
                },
                "usuario": {
                    "codigo": 108006,
                    "nome": "GXXXXca NXXXXia TXXvXXo"
                },
                "indicadorAnexoPublico": false,
                "nome": "Documentos Escaneados (2).pdf",
                "tamanhoArquivo": 333430,
                "dataInclusao": 1719508692184,
                "objectKey": "1719508692184_4123a_11b.pdf",
                "tamanhoArquivoStorage": 333430
            }
        ],
        "anotacoes": [],
        "categorias": [
            {
                "codigo": 39,
                "codigoTipo": 6,
                "nomeTipo": null,
                "nome": "Não comprei / contratrei",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 571,
                "codigoTipo": 1,
                "nomeTipo": null,
                "nome": "Serviços Financeiros",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 817,
                "codigoTipo": 2,
                "nomeTipo": null,
                "nome": "Crédito Consignado / Cartão de Crédito Consignado / RMC (para beneficiários do INSS)",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 847,
                "codigoTipo": 4,
                "nomeTipo": null,
                "nome": "Cartão não solicitado - Envio ou cobrança",
                "texto": null,
                "tipoRevisao": null
            }
        ],
        "vinculoReclamacaoOficio": [],
        "consumidor": {
            "codigo": 125452,
            "nome": null,
            "nomeSocial": null,
            "sexo": null,
            "telefone": null,
            "email": null,
            "tipoPessoa": {
                "codigoTipoPessoa": 1,
                "nomeTipoPessoa": "Física",
                "descricao": "Física"
            },
            "tipoConsumidorPessoaFisica": {
                "codigoTipoConsumidorPessoaFisica": 2,
                "nomeTipoConsumidorPessoaFisica": "Nacional",
                "codigo": 2,
                "descricao": "Nacional"
            },
            "procurador": false,
            "anonimo": false,
            "consumidorSemCpf": false,
            "cpfCnpj": null,
            "endereco": null
        },
        "procurador": null,
        "nomeFornecedores": null,
        "nomeFantasiaFornecedor": null,
        "arquivoCalculo": null,
        "indicadorCalculoSolicitado": null,
        "codigoUsuarioAbertura": 21501,
        "nomeUsuarioAbertura": "GXXXX NaXXa TrXXXXo",
        "indicadorProximoFila": null,
        "indicadorBloqueio": null,
        "indicadorDisponivelParaDistribuicao": false,
        "textoReclamacao": "<p> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>",
        "existeAoMenosUmaTratativaFinalizada": true,
        "indicadorExistenciaTratativa": true,
        "protocoloConsumidorGov": null,
        "setorDistribuicao": "",
        "dataInclusaoDecisao": null,
        "categoriaArea": null,
        "categoriaAssunto": null,
        "categoriaProblema": null
    },
    "responseAttrs": {}
}
```

---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-400"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4421" data-start="4134"><thead data-end="4181" data-start="4134"><tr data-end="4181" data-start="4134"><th data-col-size="sm" data-end="4143" data-start="4134">Código</th><th data-col-size="sm" data-end="4181" data-start="4143">Descrição</th></tr></thead><tbody data-end="4421" data-start="4230"><tr data-end="4325" data-start="4278"><td data-col-size="sm" data-end="4287" data-start="4278">400</td><td data-col-size="sm" data-end="4325" data-start="4287">Erro de parâmetros</td></tr><tr data-end="4373" data-start="4326"><td data-col-size="sm" data-end="4335" data-start="4326">401</td><td data-col-size="sm" data-end="4373" data-start="4335">Não autorizado</td></tr><tr data-end="4421" data-start="4374"><td data-col-size="sm" data-end="4383" data-start="4374">500</td><td data-col-size="sm" data-end="4421" data-start="4383">Erro interno</td></tr></tbody></table>

<div class="absolute end-0 flex items-end" style="text-align: justify;">  
</div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas ao protocolo de uma determinado atendimento, com base no número de acompanhamento e data de abertura**</span>





**GET `/tratativas-requisicao-atendimento/obter/{numeroAcompanhamento}/{dataAbertura}`**

<div class="_tableContainer_80l1q_1" id="bkmrk--15"><div class="absolute end-0 flex items-end">---

</div></div>**Parâmetros de Caminho (Path Parameters)**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393" style="width: 22.0025%;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 15.0803%;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 22.4969%;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 21.5062%;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9141%;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636" style="width: 22.0025%;">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 21.5062%;">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9141%;">`24070726001000503`</td></tr><tr data-end="915" data-start="758"><td data-col-size="sm" data-end="783" data-start="758" style="width: 22.0025%;">`dataAbertura`</td><td data-col-size="sm" data-end="792" data-start="783" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="806" data-start="792" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="874" data-start="806" style="width: 21.5062%;">Data de abertura no formato yyyy-MM-dd ou yyyy-MM-ddTHH:mm:ss</td><td data-col-size="sm" data-end="915" data-start="874" style="width: 18.9141%;">2024-07-08 ou 2024-07-08T10:00:00</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>**Headers Obrigatórios**</div><div class="absolute end-0 flex items-end">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-3"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div></div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 1000210,
        "codigoPosto": 285401,
        "numeroSequencial": 100,
        "dataAbertura": 1720638951263,
        "numeroFornecedorAtendimento": null,
        "tipo": {
            "codigo": 2,
            "nome": "Carta"
        },
        "situacao": {
            "codigo": 3,
            "nome": "Cancelada"
        },
        "justificativaCancelamento": null,
        "respostaFornecedor": "",
        "consideracoesCredenciada": null,
        "textoNotificacaoConsumidor": null,
        "textoNotificacaoProcurador": null,
        "tipoResultado": null,
        "codigoFornecedor": 1,
        "nomeFornecedor": null,
        "codigoConsumidor": 1975831,
        "nomeConsumidor": "PXXXX LXXXXno",
        "dataRetornoConsumidor": 1724468400000,
        "codigoProcurador": null,
        "nomeProcurador": null,
        "indicadorDescumprimentoAcordo": null,
        "fornecedores": [
            {
                "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2406031700100176301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">10 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                "dataAvisoRecebimento": null,
                "indicadorRespostaFornecedor": true,
                "indicadorPrazoProrrogado": false,
                "dataPrazoRespostaFornecedor": "2024-07-20",
                "indicadorParticipacaoEletronica": true,
                "indicadorParticipacaoCancelada": false,
                "indicadorAtendimentoEletronico": true,
                "respostaFornecedor": {
                    "data": 1721151781641,
                    "texto": "",
                    "anexos": [
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 10000210,
                                "postoAtendimento": 25451,
                                "numeroSequencial": 176,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 1
                            },
                            "nome": "DEFESA ADMINISTRATIVA PEDRO.pdf",
                            "dataInclusao": 1721151769225,
                            "tamanhoArquivo": 312446,
                            "objectKey": "1721769225_661e1_251.pdf",
                            "tamanhoArquivoStorage": 312446,
                            "numeroSequencial": 1
                        },
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 22000,
                                "postoAtendimento": 55441,
                                "numeroSequencial": 364,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 2
                            },
                            "nome": "PROCURAÇÃO FXXXX PXXXXON - Copia.pdf",
                            "dataInclusao": 1721151818284,
                            "tamanhoArquivo": 1708876,
                            "objectKey": "172XX1818284_da873_30e.pdf",
                            "tamanhoArquivoStorage": 1708876,
                            "numeroSequencial": 2
                        }
                    ]
                },
                "numeroFornecedorAtendimento": 1
            }
        ],
        "fornecedoresDetails": null
    },
    "responseAttrs": {}
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--16"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

</div></div>**Respostas possíveis**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2716" data-start="2285"><thead data-end="2345" data-start="2285"><tr data-end="2345" data-start="2285"><th data-col-size="sm" data-end="2299" data-start="2285">Código HTTP</th><th data-col-size="md" data-end="2345" data-start="2299">Descrição</th></tr></thead><tbody data-end="2716" data-start="2407"><tr data-end="2533" data-start="2473"><td data-col-size="sm" data-end="2487" data-start="2473">`401`</td><td data-col-size="md" data-end="2533" data-start="2487">Não autorizado (token inválido/expirado)</td></tr><tr data-end="2594" data-start="2534"><td data-col-size="sm" data-end="2548" data-start="2534">`403`</td><td data-col-size="md" data-end="2594" data-start="2548">Acesso negado</td></tr><tr data-end="2655" data-start="2595"><td data-col-size="sm" data-end="2609" data-start="2595">`404`</td><td data-col-size="md" data-end="2655" data-start="2609">Protocolo não encontrada</td></tr><tr data-end="2716" data-start="2656"><td data-col-size="sm" data-end="2670" data-start="2656">`500`</td><td data-col-size="md" data-end="2716" data-start="2670">Erro interno no servidor</td></tr></tbody></table>

</div></div></div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas ao protocolo de uma determinado atendimento, com base no número de acompanhamento e data de abertura**</span>





**GET `/tratativas-requisicao-atendimento/obter/{numeroAcompanhamento}/{dataAbertura}`**

<div class="_tableContainer_80l1q_1" id="bkmrk--21"><div class="absolute end-0 flex items-end">---

</div></div>**Parâmetros de Caminho (Path Parameters)**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393" style="width: 22.0025%;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 15.0803%;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 22.4969%;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 21.5062%;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9141%;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636" style="width: 22.0025%;">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 21.5062%;">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9141%;">`24070726001000503`</td></tr><tr data-end="915" data-start="758"><td data-col-size="sm" data-end="783" data-start="758" style="width: 22.0025%;">`dataAbertura`</td><td data-col-size="sm" data-end="792" data-start="783" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="806" data-start="792" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="874" data-start="806" style="width: 21.5062%;">Data de abertura no formato yyyy-MM-dd ou yyyy-MM-ddTHH:mm:ss</td><td data-col-size="sm" data-end="915" data-start="874" style="width: 18.9141%;">2024-07-08 ou 2024-07-08T10:00:00</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>**Headers Obrigatórios**</div><div class="absolute end-0 flex items-end">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-4"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div></div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 1000210,
        "codigoPosto": 285401,
        "numeroSequencial": 100,
        "dataAbertura": 1720638951263,
        "numeroFornecedorAtendimento": null,
        "tipo": {
            "codigo": 2,
            "nome": "Carta"
        },
        "situacao": {
            "codigo": 3,
            "nome": "Cancelada"
        },
        "justificativaCancelamento": null,
        "respostaFornecedor": "",
        "consideracoesCredenciada": null,
        "textoNotificacaoConsumidor": null,
        "textoNotificacaoProcurador": null,
        "tipoResultado": null,
        "codigoFornecedor": 1,
        "nomeFornecedor": null,
        "codigoConsumidor": 1975831,
        "nomeConsumidor": "PXXXX LXXXXno",
        "dataRetornoConsumidor": 1724468400000,
        "codigoProcurador": null,
        "nomeProcurador": null,
        "indicadorDescumprimentoAcordo": null,
        "fornecedores": [
            {
                "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2406031700100176301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">10 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                "dataAvisoRecebimento": null,
                "indicadorRespostaFornecedor": true,
                "indicadorPrazoProrrogado": false,
                "dataPrazoRespostaFornecedor": "2024-07-20",
                "indicadorParticipacaoEletronica": true,
                "indicadorParticipacaoCancelada": false,
                "indicadorAtendimentoEletronico": true,
                "respostaFornecedor": {
                    "data": 1721151781641,
                    "texto": "",
                    "anexos": [
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 10000210,
                                "postoAtendimento": 25451,
                                "numeroSequencial": 176,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 1
                            },
                            "nome": "DEFESA ADMINISTRATIVA PEDRO.pdf",
                            "dataInclusao": 1721151769225,
                            "tamanhoArquivo": 312446,
                            "objectKey": "1721769225_661e1_251.pdf",
                            "tamanhoArquivoStorage": 312446,
                            "numeroSequencial": 1
                        },
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 22000,
                                "postoAtendimento": 55441,
                                "numeroSequencial": 364,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 2
                            },
                            "nome": "PROCURAÇÃO FXXXX PXXXXON - Copia.pdf",
                            "dataInclusao": 1721151818284,
                            "tamanhoArquivo": 1708876,
                            "objectKey": "172XX1818284_da873_30e.pdf",
                            "tamanhoArquivoStorage": 1708876,
                            "numeroSequencial": 2
                        }
                    ]
                },
                "numeroFornecedorAtendimento": 1
            }
        ],
        "fornecedoresDetails": null
    },
    "responseAttrs": {}
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--22"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Anexar arquivo na resposta do fornecedor**</span>

**POST `/resposta-fornecedor`**

<div class="_tableContainer_80l1q_1" id="bkmrk--23"><div class="absolute end-0 flex items-end">---

</div></div>**Payload da requisição**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418">Tipo</th><th data-col-size="sm" data-end="441" data-start="427">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441">Descrição</th><th data-col-size="sm" data-end="513" data-start="487">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636">indicadorHouveRespostaFornecedor</td><td data-col-size="sm" data-end="670" data-start="661">Boolean</td><td data-col-size="sm" data-end="684" data-start="670">sim</td><td data-col-size="md" data-end="730" data-start="684">Indica se houve resposta</td><td data-col-size="sm" data-end="757" data-start="730">true/false</td></tr><tr data-end="915" data-start="758"><td data-col-size="sm" data-end="783" data-start="758">codigoFornecedor</td><td data-col-size="sm" data-end="792" data-start="783">int</td><td data-col-size="sm" data-end="806" data-start="792">sim</td><td data-col-size="md" data-end="874" data-start="806">Código do fornecedor</td><td data-col-size="sm" data-end="915" data-start="874">123123</td></tr><tr><td>nomeFornecedor</td><td>string</td><td>sim</td><td>Nome do fornecedor</td><td>Aaaa Bbbb</td></tr><tr><td>indicadorAtendimentoEletronico</td><td>Boolean</td><td>sim</td><td>Indica o se foi atendimento eletrônico</td><td>true/false</td></tr><tr><td>numeroFornecedorAtendimento</td><td>int</td><td>sim</td><td>Número do fornecedor atendido</td><td>321321</td></tr><tr><td>dataRespostaFornecedor</td><td>string</td><td>sim</td><td>Data da resposta</td><td>dd/mm/yyyy</td></tr><tr><td>textoRespostaFornecedor</td><td>string</td><td>sim</td><td>Descrição da resposta</td><td>  
</td></tr><tr><td>anexos</td><td>List</td><td>sim</td><td>Arquivos para upload</td><td>123Exemplo.pdf</td></tr><tr><td>ano</td><td>int</td><td>sim</td><td>Ano em que foi feito o protocolo</td><td>2025</td></tr><tr><td>mes</td><td>int</td><td>sim</td><td>Mês em que foi feito o protocolo</td><td>07</td></tr><tr><td>codigoCredenciada</td><td>int</td><td>sim</td><td>Código da credenciada</td><td>54321</td></tr><tr><td>codigoPosto</td><td>int</td><td>sim</td><td>Código do posto</td><td>53412</td></tr><tr><td>numeroSequencial</td><td>int</td><td>sim</td><td>Número sequencial do protocolo</td><td>123454321</td></tr><tr><td>dataAbertura</td><td>Long</td><td>sim</td><td>Data da abertura do protocolo</td><td>dd/mm/yyyy</td></tr><tr><td>indicadorTratativaMaisRecente</td><td>Boolean</td><td>sim</td><td>Indica se houve tratativa mais recente</td><td>true/false</td></tr></tbody></table>

</div></div></div></div><div class="_tableContainer_80l1q_1" id="bkmrk--24"></div><div class="_tableContainer_80l1q_1" id="bkmrk--25"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1">  
</div></div></div></div><div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end">---

</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1">  
</div></div></div></div>

# API - proconsumidor-consulta-andamentos

Formato Markdown (documentação simples)

#### <span style="background-color: rgb(241, 196, 15);">Autentica um usuário com CPF e senha codificada.</span>



##### **POST** `/auth/login`

**Requisição:**

**eaders:**

- Content-Type: application/json

**Body:**

```json
{
  "login": "12345",
  "pass": "e10adc3949ba59abbe56e057f20f883e",
  "tokenValidation": "",
  "isUsuarioConsumidor": false
}
```

**Descrição dos campos:**

- **login** (string): **CPF** do usuário, apenas números.
- **pass** (string): Senha codificada (ex: **MD5**).
- **tokenValidation** (string): Campo para token externo (pode ficar vazio).
- **isUsuarioConsumidor** (boolean): false para usuários internos, true para consumidores finais.

**Resposta 200 OK**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "uid": "MjEXXXz",
    "message": "deliverCredentials",
    "jsonUser": "{\"codigoUsuario\":XXXXXXX,\"nome\":\"XXXXXXXXXXXXXXX\",\"cpf\":\"XXXXXXXXXX\",\"tipoUsuario\":\"Fornecedor\",\"nomePerfil\":\"Colaborador\",\"codigoTipoUsuario\":4,\"listaFornecedores\":[{\"codigo\":XXXXX,\"nome\":\"XXXXXXXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXXXXXX\"},{\"codigo\":XXX,\"nome\":\"XXXXXXX Financeira\",\"cpfCnpj\":\"XXXXXXXXXX\"},{\"codigo\":XXXXXX,\"nome\":\"XXXXXXXX XXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXX\"}],\"permissoes\":[\"gerenciar_atendimento\",\"relatorio_gerencial\"],\"codigoFornecedor\":XXXX,\"nomeFornecedor\":\"XXXXXXXXXXXXXXXX.\",\"cnpjFornecedor\":XXXXXXXXXXXXXXXXX,\"indicadorAceiteTermoUso\":true}",
    "expiry": 1752683825157,
    "primeiroAcesso": false,
    "auth_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyODM2ODg3MTg0IiwimNvZGlnb0Zvcm5lY2Vkb3IiOjY1NSwiaXNVc3VhcmlvQ29uc3VtaWRvciI6ZmFsc2V9.T1x2r0wcHijQNey_fyjcTs9IUI4Ocwx7-Or7Nu-aYyQ"
}
```

**Respostas possíveis:**

- 401 Unauthorized: CPF ou senha inválidos.
- 500 Internal Server Error: Erro interno.

#### <span style="background-color: rgb(241, 196, 15);">**Altera o fornecedor autenticado associado ao usuário logado.**</span>



##### **PUT** `/login/818/mudar-fornecedor-autenticado`

**Requisição:**

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3127" data-start="2132" style="width: 101.728%;"><thead data-end="2214" data-start="2132"><tr data-end="2214" data-start="2132"><th data-col-size="sm" data-end="2153" data-start="2132" style="width: 43.8853%;">Header</th><th data-col-size="md" data-end="2214" data-start="2153" style="width: 56.1147%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3127" data-start="2298"><tr data-end="2380" data-start="2298"><td data-col-size="sm" data-end="2319" data-start="2298" style="width: 43.8853%;">`access-token`</td><td data-col-size="md" data-end="2380" data-start="2319" style="width: 56.1147%;">JWT válido do usuário</td></tr><tr data-end="2463" data-start="2381"><td data-col-size="sm" data-end="2402" data-start="2381" style="width: 43.8853%;">`token-type`</td><td data-col-size="md" data-end="2463" data-start="2402" style="width: 56.1147%;">`Bearer`</td></tr><tr data-end="2546" data-start="2464"><td data-col-size="sm" data-end="2485" data-start="2464" style="width: 43.8853%;">`uid`</td><td data-col-size="md" data-end="2546" data-start="2485" style="width: 56.1147%;">UID codificado do usuário (ex: MD5)</td></tr><tr data-end="2629" data-start="2547"><td data-col-size="sm" data-end="2568" data-start="2547" style="width: 43.8853%;">`expiresuid`</td><td data-col-size="md" data-end="2629" data-start="2568" style="width: 56.1147%;">Timestamp de expiração do token</td></tr><tr data-end="2712" data-start="2630"><td data-col-size="sm" data-end="2651" data-start="2630" style="width: 43.8853%;">`primeiroAcesso`</td><td data-col-size="md" data-end="2712" data-start="2651" style="width: 56.1147%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="2795" data-start="2713"><td data-col-size="sm" data-end="2734" data-start="2713" style="width: 43.8853%;">`tz`</td><td data-col-size="md" data-end="2795" data-start="2734" style="width: 56.1147%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="2878" data-start="2796"><td data-col-size="sm" data-end="2817" data-start="2796" style="width: 43.8853%;">`Content-Type`</td><td data-col-size="md" data-end="2878" data-start="2817" style="width: 56.1147%;">`application/json`</td></tr><tr data-end="2961" data-start="2879"><td data-col-size="sm" data-end="2900" data-start="2879" style="width: 43.8853%;">`Origin`</td><td data-col-size="md" data-end="2961" data-start="2900" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="3044" data-start="2962"><td data-col-size="sm" data-end="2983" data-start="2962" style="width: 43.8853%;">`Referer`</td><td data-col-size="md" data-end="3044" data-start="2983" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="3127" data-start="3045"><td data-col-size="sm" data-end="3066" data-start="3045" style="width: 43.8853%;">Outros</td><td data-col-size="md" data-end="3127" data-start="3066" style="width: 56.1147%;">Headers de navegador (`User-Agent`, `sec-ch-ua`, etc.)</td></tr></tbody></table>

</div></div>---

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-copiareditar-%7B%7D"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div></div>---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-200"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3565" data-start="3284"><thead data-end="3330" data-start="3284"><tr data-end="3330" data-start="3284"><th data-col-size="sm" data-end="3293" data-start="3284">Código</th><th data-col-size="sm" data-end="3330" data-start="3293">Descrição</th></tr></thead><tbody data-end="3565" data-start="3378"><tr data-end="3424" data-start="3378"><td data-col-size="sm" data-end="3387" data-start="3378">200</td><td data-col-size="sm" data-end="3424" data-start="3387">Sucesso na troca do fornecedor</td></tr><tr data-end="3471" data-start="3425"><td data-col-size="sm" data-end="3434" data-start="3425">401</td><td data-col-size="sm" data-end="3471" data-start="3434">Não autorizado (token inválido)</td></tr><tr data-end="3518" data-start="3472"><td data-col-size="sm" data-end="3481" data-start="3472">403</td><td data-col-size="sm" data-end="3518" data-start="3481">Acesso negado</td></tr><tr data-end="3565" data-start="3519"><td data-col-size="sm" data-end="3528" data-start="3519">500</td><td data-col-size="sm" data-end="3565" data-start="3528">Erro interno do servidor</td></tr></tbody></table>

</div></div>#### <span style="background-color: rgb(241, 196, 15);">**Busca os dados completos de um atendimento pelo número de protocolo ou número de acompanhamento**</span>


##### **GET** `/atendimentos/obter-por-numero-acompanhamento-ou-atendimento/{numero}`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3655" data-start="2909" style="width: 92.4691%;"><thead data-end="2991" data-start="2909"><tr data-end="2991" data-start="2909"><th data-col-size="sm" data-end="2930" data-start="2909" style="width: 34.2223%;">Header</th><th data-col-size="sm" data-end="2991" data-start="2930" style="width: 65.7777%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3655" data-start="3075"><tr data-end="3157" data-start="3075"><td data-col-size="sm" data-end="3096" data-start="3075" style="width: 34.2223%;">`access-token`</td><td data-col-size="sm" data-end="3157" data-start="3096" style="width: 65.7777%;">JWT válido do usuário</td></tr><tr data-end="3240" data-start="3158"><td data-col-size="sm" data-end="3179" data-start="3158" style="width: 34.2223%;">`token-type`</td><td data-col-size="sm" data-end="3240" data-start="3179" style="width: 65.7777%;">`Bearer`</td></tr><tr data-end="3323" data-start="3241"><td data-col-size="sm" data-end="3262" data-start="3241" style="width: 34.2223%;">`uid`</td><td data-col-size="sm" data-end="3323" data-start="3262" style="width: 65.7777%;">UID codificado do usuário (ex: Base64)</td></tr><tr data-end="3406" data-start="3324"><td data-col-size="sm" data-end="3345" data-start="3324" style="width: 34.2223%;">`expires`</td><td data-col-size="sm" data-end="3406" data-start="3345" style="width: 65.7777%;">Timestamp de expiração do token</td></tr><tr data-end="3489" data-start="3407"><td data-col-size="sm" data-end="3428" data-start="3407" style="width: 34.2223%;">`primeiroAcesso`</td><td data-col-size="sm" data-end="3489" data-start="3428" style="width: 65.7777%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="3572" data-start="3490"><td data-col-size="sm" data-end="3511" data-start="3490" style="width: 34.2223%;">`tz`</td><td data-col-size="sm" data-end="3572" data-start="3511" style="width: 65.7777%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="3655" data-start="3573"><td data-col-size="sm" data-end="3594" data-start="3573" style="width: 34.2223%;">`Content-Type`</td><td data-col-size="sm" data-end="3655" data-start="3594" style="width: 65.7777%;">`application/json` (implícito)</td></tr></tbody></table>

</div></div>---

**Parâmetro de rota:**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3945" data-start="3689" style="width: 100.123%;"><thead data-end="3773" data-start="3689"><tr data-end="3773" data-start="3689"><th data-col-size="sm" data-end="3701" data-start="3689" style="width: 15.5%;">Parâmetro</th><th data-col-size="sm" data-end="3744" data-start="3701" style="width: 64.625%;">Descrição</th><th data-col-size="sm" data-end="3773" data-start="3744" style="width: 19.875%;">Exemplo</th></tr></thead><tbody data-end="3945" data-start="3862"><tr data-end="3945" data-start="3862"><td data-col-size="sm" data-end="3874" data-start="3862" style="width: 15.5%;">`numero`</td><td data-col-size="sm" data-end="3916" data-start="3874" style="width: 64.625%;">Número do atendimento ou acompanhamento</td><td data-col-size="sm" data-end="3945" data-start="3916" style="width: 19.875%;">XXXXXXXXXXXXXX</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none">  
</div></div></div>
**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-1"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">**json**</div><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>```json
{
    "data": [
        {
            "numeroAcompanhamento": "30xxxxx545xxxx3",
            "dataAbertura": "19/07/2024",
            "nomeCredenciada": "Procon Municipal de Teodoro Sampaio - SP",
            "nomePosto": "Procon Municipal de Teodoro Sampaio - SP",
            "area": "Serviços Financeiros",
            "assunto": "Crédito Pessoal e Demais Empréstimos (exceto financiamento de imóveis e veículos)",
            "problema": "Cobrança por serviço/produto não contratado / não reconhecido / não solicitado",
            "nomeConsumidor": "Fulano Perxxx Grxxx da Sxxxa ",
            "cpfConsumidor": "08xx6xxxx07",
            "cnpjConsumidor": null,
            "numeroFornecedorAtendimento": "01",
            "razaoSocialFornecedor": "Faxxx Fxxnxxx S.A. Cxxxx, Fxxxxxxx e Ixxxxx",
            "nomeFantasiaFornecedor": "Fxxxx Fxxxxxxx",
            "cnpjFornecedor": "1x5xxxxx0001xx",
            "cpfFornecedor": null,
            "grupoEconomicoFornecedor": null,
            "tecnicoAtendimento": "Jxxxo Cxxar Pxxx Fxxxxxxxa",
            "tecnicoConciliador": null,
            "dataPrazoRespostaCarta": null,
            "dataPrazoRespostaAudiencia": null,
            "dataAgendamentoAudiencia": null,
            "nomeProcurador": null,
            "tipoAcompanhamento": {
                "codigo": 3,
                "nome": "Reclamação",
                "descricao": "Reclamação"
            },
            "tipoEstadoAtendimento": {
                "codigo": 22,
                "nome": "Em Decisão",
                "codigoFase": 3,
                "tratativa": false,
                "descricao": "Em Decisão"
            },
            "numeroAtendimento": "24xxxxxx010xxxxx01",
            "tipoFaseAcompanhamento": {
                "codigo": 3,
                "nome": "Decisão",
                "descricao": "Decisão"
            },
            "tipoOrigemAcompanhamento": {
                "codigo": 1,
                "nome": "Presencial",
                "descricao": "Presencial"
            },
            "tipoTratativa": null,
            "cpfProcurador": null
        }
    ],
    "responseAttrs": {
        "recordsTotal": 1
    }
}
```

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--10"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>---

Respostas possíveis:

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-404"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4655" data-start="4368"><thead data-end="4415" data-start="4368"><tr data-end="4415" data-start="4368"><th data-col-size="sm" data-end="4377" data-start="4368">Código</th><th data-col-size="sm" data-end="4415" data-start="4377">Descrição</th></tr></thead><tbody data-end="4655" data-start="4464"><tr data-end="4559" data-start="4512"><td data-col-size="sm" data-end="4521" data-start="4512">404</td><td data-col-size="sm" data-end="4559" data-start="4521">Atendimento não encontrado</td></tr><tr data-end="4607" data-start="4560"><td data-col-size="sm" data-end="4569" data-start="4560">401</td><td data-col-size="sm" data-end="4607" data-start="4569">Não autorizado (token inválido)</td></tr><tr data-end="4655" data-start="4608"><td data-col-size="sm" data-end="4617" data-start="4608">500</td><td data-col-size="sm" data-end="4655" data-start="4617">Erro interno no servidor</td></tr></tbody></table>

</div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Retorna as reclamações (respostas, movimentações ou atualizações) associadas a uma **andamento** específica com base no número de acompanhamento.** </span>



##### **GET** `/reclamacoes/{`numeroAcompanhamento`}` 

**Parâmetros de Query**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="746" data-start="362"><thead data-end="489" data-start="362"><tr data-end="489" data-start="362"><th data-col-size="sm" data-end="388" data-start="362">Parâmetro</th><th data-col-size="sm" data-end="399" data-start="388">Tipo</th><th data-col-size="sm" data-end="413" data-start="399">Obrigatório</th><th data-col-size="sm" data-end="462" data-start="413">Descrição</th><th data-col-size="sm" data-end="489" data-start="462">Exemplo</th></tr></thead><tbody data-end="746" data-start="619"><tr data-end="746" data-start="619"><td data-col-size="sm" data-end="645" data-start="619">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="656" data-start="645">string</td><td data-col-size="sm" data-end="670" data-start="656">✅ Sim</td><td data-col-size="sm" data-end="719" data-start="670">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="746" data-start="719">`2XXXXXXXXXXXXXXXXX503`</td></tr></tbody></table>

</div></div>---

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-descri%C3%A7%C3%A3o-acc"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><table class="w-fit min-w-(--thread-content-width)" data-end="1687" data-start="786" style="width: 96.4198%;"><thead data-end="867" data-start="786"><tr data-end="867" data-start="786"><th data-col-size="sm" data-end="806" data-start="786" style="width: 40.9574%;">Header</th><th data-col-size="md" data-end="867" data-start="806" style="width: 59.0426%;">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1687" data-start="950"><tr data-end="1031" data-start="950"><td data-col-size="sm" data-end="970" data-start="950" style="width: 40.9574%;">`access-token`</td><td data-col-size="md" data-end="1031" data-start="970" style="width: 59.0426%;">Token JWT válido do usuário autenticado</td></tr><tr data-end="1113" data-start="1032"><td data-col-size="sm" data-end="1052" data-start="1032" style="width: 40.9574%;">`token-type`</td><td data-col-size="md" data-end="1113" data-start="1052" style="width: 59.0426%;">`Bearer`</td></tr><tr data-end="1195" data-start="1114"><td data-col-size="sm" data-end="1134" data-start="1114" style="width: 40.9574%;">`uid`</td><td data-col-size="md" data-end="1195" data-start="1134" style="width: 59.0426%;">ID do usuário codificado (ex: Base64)</td></tr><tr data-end="1277" data-start="1196"><td data-col-size="sm" data-end="1216" data-start="1196" style="width: 40.9574%;">`expires`</td><td data-col-size="md" data-end="1277" data-start="1216" style="width: 59.0426%;">Timestamp de expiração do token</td></tr><tr data-end="1359" data-start="1278"><td data-col-size="sm" data-end="1298" data-start="1278" style="width: 40.9574%;">`primeiroAcesso`</td><td data-col-size="md" data-end="1359" data-start="1298" style="width: 59.0426%;">`false` (ou `true` caso seja primeiro acesso)</td></tr><tr data-end="1441" data-start="1360"><td data-col-size="sm" data-end="1380" data-start="1360" style="width: 40.9574%;">`tz`</td><td data-col-size="md" data-end="1441" data-start="1380" style="width: 59.0426%;">Fuso horário, ex: `America/Sao_Paulo`</td></tr><tr data-end="1523" data-start="1442"><td data-col-size="sm" data-end="1462" data-start="1442" style="width: 40.9574%;">`User-Agent`</td><td data-col-size="md" data-end="1523" data-start="1462" style="width: 59.0426%;">Identificação do navegador (browser padrão)</td></tr><tr data-end="1605" data-start="1524"><td data-col-size="sm" data-end="1544" data-start="1524" style="width: 40.9574%;">`Origin`</td><td data-col-size="md" data-end="1605" data-start="1544" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1687" data-start="1606"><td data-col-size="sm" data-end="1626" data-start="1606" style="width: 40.9574%;">`Referer`</td><td data-col-size="md" data-end="1687" data-start="1626" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br/`</td></tr></tbody></table>

</div></div></div></div>---

**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-2"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 121540,
        "nomeCredenciada": "PrXXXon MXXXXl de CXX - SC",
        "nomeFantasiaCredenciada": "PrXXXXon MuXXXal de CXXX - SC",
        "codigoPosto": 20134,
        "nomePosto": "PXXXn MuXXpal de CXXXX - SC",
        "numeroSequencial": 1XX,
        "indicadorAtendimentoPreferencial": true,
        "numeroAtendimentoFormatado": "XX.XX.XXXX.XXX.XXXXX-3",
        "tipoEstadoAtendimento": {
            "codigo": 30,
            "nome": "Prazo Expirado",
            "codigoFase": 4,
            "tratativa": false,
            "descricao": "Prazo Expirado"
        },
        "tipoFaseAcompanhamento": {
            "codigo": 4,
            "nome": "Finalizada",
            "descricao": "Finalizada"
        },
        "textoAcompanhamento": "<h4><span style=\"font-size: 14px;\"> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</span></h4><h4><span style=\"font-size: 14px;\">Pelo exposto, recorre a este PROCON.</span></h4>",
        "numeroAcompanhamento": "2XXXXXXXXXXXXX3",
        "dataAbertura": 1719508292080,
        "horaEntrada": null,
        "tipoAcompanhamento": {
            "codigo": 3,
            "nome": "Reclamação",
            "descricao": "Reclamação"
        },
        "tipoOrigemAcompanhamento": {
            "codigo": 1,
            "nome": "Presencial",
            "descricao": "Presencial"
        },
        "tipoConsulta": null,
        "andamentos": [
            {
                "chavePrimaria": {
                    "numeroAndamentoAcompanhamento": 3XXXX2,
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 120540,
                        "postoAtendimento": 111431,
                        "numeroSequencial": X60,
                        "numeroAcompanhamento": "2XXXXXXXXXXXXXX3"
                    }
                },
                "andamento": {
                    "codigo": 392,
                    "nome": "Prazo Expirado para a Fase Decisão",
                    "codigoInterno": 60,
                    "indicadorAndamentoManual": false,
                    "chavePrimaria": 3012
                },
                "usuario": {
                    "codigo": 0,
                    "nome": "Usuário Sistema"
                },
                "andamentosAtendimento": [
                    {
                        "numeroAtendimentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3,
                        "numeroFornecedorAtendimento": 1,
                        "codigoFornecedor": 818,
                        "nomeFornecedor": "XXXa FXXXceira"
                    }
                ],
                "data": 1751105447453,
                "acompanhamento": {
                    "chavePrimaria": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 210454,
                        "postoAtendimento": 102121,
                        "numeroSequencial": 541
                    },
                    "indicadorAtendimentoPreferencial": true,
                    "tipoAcompanhamento": {
                        "codigo": 3,
                        "nome": "Reclamação",
                        "descricao": "Reclamação"
                    },
                    "tipoOrigemAcompanhamento": {
                        "codigo": 1,
                        "nome": "Presencial",
                        "descricao": "Presencial"
                    },
                    "tipoFaseAcompanhamento": {
                        "codigo": 4,
                        "nome": "Finalizada",
                        "descricao": "Finalizada"
                    },
                    "numeroAcompanhamento": 24XXXXXXXXX3,
                    "textoAcompanhamento": "<h4><span style=\"font-size: 14px;\"> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</span></h4><h4><span style=\"font-size: 14px;\">Pelo exposto, recorre a este PROCON.</span></h4>",
                    "dataInclusao": 1719508292080,
                    "dataInclusaoDecisao": null,
                    "dataLiberacaoAtendimento": null,
                    "usuarioAbertura": 1XXXX06,
                    "numeroAtendimentoFormatado": null,
                    "fornecedores": null,
                    "areaAtendimento": null,
                    "assuntoAtendimento": null,
                    "problemaAtendimento": null,
                    "comoComprou": null,
                    "textoReclamacao": "<p> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>",
                    "dataPrazoFinalizacao": 1750993200000,
                    "dataPrazoFaseTratativa": "2024-10-25",
                    "codigoCredenciada": 186030,
                    "codigoPostoAtendimento": 186031,
                    "numeroAcompanhamentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3",
                    "numeroAcompanhamentoString": "24XXXXXXXXX3",
                    "abertaOuTratativa": false,
                    "tratativa": false,
                    "denuncia": false,
                    "reclamacao": true,
                    "numeroAtendimentoAcompanhamentoFormatado": "2XX.XX6.03XX.00XXXX1.00XX6-3",
                    "consulta": false
                }
            },
        ],
        "atendimentos": [
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 186030,
                        "postoAtendimento": 186031,
                        "numeroSequencial": 176,
                        "numeroAcompanhamento": "24060317001001763"
                    },
                    "numeroFornecedorAtendimento": 1
                },
                "fornecedor": {
                    "codigo": 001,
                    "tipoCadastro": {
                        "codigoTipoCadastro": 3,
                        "nomeTipoCadastro": "Fornecedor"
                    },
                    "tipoEstadoCadastro": {
                        "codigoEstadoCadastro": 1,
                        "nomeEstadoCadastro": "Ativo"
                    },
                    "nomeCadastro": "FXXXX FiXXXXra S.A. Credito, FinaXXXXmento e InvXXXXmento",
                    "complementoEndereco": "1XX9 - salas 7XXX1 e 7XX02",
                    "cep": {
                        "operacao": null,
                        "nrCep": 9XXXX11,
                        "uf": "RS",
                        "localidade": {
                            "operacao": null,
                            "numeroLocalidade": XXX,
                            "uf": "RS",
                            "nomeLocalidade": "PXXo AlXXXe",
                            "cep": null,
                            "situacaoCodificacaoLogradouro": 1,
                            "tipoLocalidade": "M",
                            "numeroLocalidadeSubordinacao": null,
                            "abreviacaoNomeLocalidade": "Pto Alegre",
                            "codigoIBGEMunicipio": "431XXXX4902",
                            "chavePrimaria": XXX,
                            "operacaoRemocao": false,
                            "operacaoInclusao": false,
                            "operacaoAlteracao": false,
                            "operacaoInclusaoOuAlteracao": false
                        },
                        "codigoLocalidade": XXX,
                        "bairro": {
                            "operacao": null,
                            "codigo": 1XXX75,
                            "uf": "RS",
                            "localidade": 7XX4,
                            "nomeBairro": "Centro Histórico",
                            "nomeBairroAbreviado": "C Histórico",
                            "chavePrimaria": 1XXX5,
                            "operacaoRemocao": false,
                            "operacaoInclusao": false,
                            "operacaoAlteracao": false,
                            "operacaoInclusaoOuAlteracao": false
                        },
                        "codigoBairro": XX,
                        "logradouro": "RXX dos AndXXXXXas",
                        "complementoLogradouro": "- de 1XX1 a 15XXX7 - lado ímpar",
                        "nome": null,
                        "indicadorCepAtivo": true,
                        "nrCepAnteior": null,
                        "chavePrimaria": 9XXXXXXX,
                        "cep": "90020011",
                        "operacaoRemocao": false,
                        "operacaoInclusao": false,
                        "operacaoAlteracao": false,
                        "operacaoInclusaoOuAlteracao": false
                    },
                    "listaAnexo": [
                        {
                            "chavePrimaria": {
                                "codigo": 1,
                                "cadastro": 818
                            },
                            "nome": "FXXX FiXXXXra.pdf",
                            "dataInclusao": 1687459098138,
                            "operacao": null,
                            "usuario": {
                                "codigo": 1XX51,
                                "nome": "IXXXXXa AXXes CXXXrgo"
                            },
                            "tamanhoArquivo": 177365,
                            "indicadorAnexoPublico": null,
                            "objectKey": "1687459098138_d4e02_433.pdf",
                            "tamanhoArquivoStorage": 177365
                        }
                    ],
                    "listaEmail": [
                        {
                            "chavePrimaria": {
                                "codigo": 7,
                                "cadastro": 818
                            },
                            "texto": "adm.contestacao@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 4,
                                "nomeTipoEmail": "Alerta de Notificação"
                            },
                            "emailAlertaNotificacao": true,
                            "emailPrincipal": false,
                            "emailInstitucional": false
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 8,
                                "cadastro": 818
                            },
                            "texto": "everton.medeiros@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 3,
                                "nomeTipoEmail": "Ponto Focal"
                            },
                            "emailAlertaNotificacao": false,
                            "emailPrincipal": false,
                            "emailInstitucional": false
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 10,
                                "cadastro": 818
                            },
                            "texto": "adm.contestacao@ercobranca.com.br",
                            "tipoEmail": {
                                "codigoTipoEmail": 2,
                                "nomeTipoEmail": "Institucional"
                            },
                            "emailAlertaNotificacao": false,
                            "emailPrincipal": false,
                            "emailInstitucional": true
                        }
                    ],
                    "listaTelefone": [
                        {
                            "chavePrimaria": {
                                "codigo": 3,
                                "cadastro": 818
                            },
                            "codigoArea": "51",
                            "telefone": "30217838",
                            "tipoTelefone": {
                                "codigoTipoTelefone": 6,
                                "nomeTipoTelefone": "Institucional"
                            },
                            "telefonePrincipal": false,
                            "telefoneInstitucional": true
                        },
                        {
                            "chavePrimaria": {
                                "codigo": 4,
                                "cadastro": 818
                            },
                            "codigoArea": "61",
                            "telefone": "998552188",
                            "tipoTelefone": {
                                "codigoTipoTelefone": 2,
                                "nomeTipoTelefone": "Celular"
                            },
                            "telefonePrincipal": false,
                            "telefoneInstitucional": false
                        }
                    ],
                    "nomeLogradouro": "Rua dos Andradas",
                    "nomeBairro": "Centro Histórico",
                    "tipoPessoa": {
                        "codigoTipoPessoa": 2,
                        "nomeTipoPessoa": "Jurídica"
                    },
                    "urlSite": "www.factafinanceira.com.br",
                    "dataCriacao": 1572017818000,
                    "indicadorAtendimentoEletronico": true,
                    "indicadorSuspensaoAtendimentoEletronico": false,
                    "indicadorPresencaConsumidorGov": true,
                    "credenciada": 1,
                    "listaCategoriaFornecedor": [
                        {
                            "chavePrimaria": {
                                "cadastroFornecedor": 818,
                                "categoria": {
                                    "chavePrimaria": {
                                        "codigo": 576,
                                        "tipoCategoria": {
                                            "codigo": 5,
                                            "nome": "Segmento"
                                        }
                                    },
                                    "nome": "Bancos, Financeiras e Administradoras de Cartão",
                                    "ativo": true
                                }
                            }
                        }
                    ],
                    "dataLimiteAlteracaoAuditor": 1572017818000,
                    "dataLimiteAlteracaoTecnicoCredenciada": 1572017818000,
                    "existeEnderecoCorrespondenciaCriadoPelaSenacon": false,
                    "dataEliminacao": null,
                    "dataDesativacao": null,
                    "indicadorSeloSenacon": true,
                    "dataHabilitacaoEletronica": 1649272623027,
                    "dataDesabilitacaoEletronica": null,
                    "dataSuspensaoEletronica": null,
                    "inclusao": false,
                    "cnpj": 15581638000130,
                    "nomeFantasia": "Facta Financeira",
                    "cnaePrincipal": {
                        "codigo": 6436100,
                        "descricao": "SOCIEDADES DE CREDITO, FINANCIAMENTO E INVESTIMENTO - FINANCEIRAS",
                        "chavePrimaria": 6436100,
                        "codigoFormatado": "6436-1/00"
                    },
                    "indicadorEmailAlertaNotificacao": null,
                    "fornecedorPrincipal": null,
                    "cpf": null,
                    "nomeFantasiaOuRazaoSocial": "Facta Financeira",
                    "chavePrimaria": 818,
                    "ativo": true
                },
                "fornecedores": [],
                "indicadorFornecedorProcurado": true,
                "tipoEstadoAtendimento": {
                    "codigo": 30,
                    "nome": "Prazo Expirado",
                    "codigoFase": 4,
                    "tratativa": false,
                    "descricao": "Prazo Expirado"
                },
                "textoContatoFornecedor": null,
                "acompanhamento": {
                    "ano": 24,
                    "mes": 6,
                    "credenciada": 254154,
                    "postoAtendimento": 185531,
                    "numeroSequencial": 356,
                    "numeroAcompanhamento": "2XXX545XXX01"
                },
                "existeTrativaFinalizada": true,
                "numeroAtendimentoFormatado": "XX.0X.0XXXX.0XX1.0XXX6-3XX",
                "numeroFornecedorAtendimento": 1,
                "numeroAtendimento": 2XXX545XXX01
            }
        ],
        "anexos": [
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 25454,
                        "postoAtendimento": 12545,
                        "numeroSequencial": 155,
                        "numeroAcompanhamento": "54545445545"
                    },
                    "numeroAnexoAcompanhamento": 2
                },
                "usuario": {
                    "codigo": 108006,
                    "nome": "GXXXXa NaXXXia TXXXio"
                },
                "indicadorAnexoPublico": false,
                "nome": "1868 - CXXXE DO PORTO, SC.pdf",
                "tamanhoArquivo": 1270990,
                "dataInclusao": 1720639099160,
                "objectKey": "1720639099160_be486_3ed.pdf",
                "tamanhoArquivoStorage": 1270990
            },
            {
                "chavePrimaria": {
                    "acompanhamento": {
                        "ano": 24,
                        "mes": 6,
                        "credenciada": 23641,
                        "postoAtendimento": 10140,
                        "numeroSequencial": 216,
                        "numeroAcompanhamento": "2XXXXXX1001XXX"
                    },
                    "numeroAnexoAcompanhamento": 1
                },
                "usuario": {
                    "codigo": 108006,
                    "nome": "GXXXXca NXXXXia TXXvXXo"
                },
                "indicadorAnexoPublico": false,
                "nome": "Documentos Escaneados (2).pdf",
                "tamanhoArquivo": 333430,
                "dataInclusao": 1719508692184,
                "objectKey": "1719508692184_4123a_11b.pdf",
                "tamanhoArquivoStorage": 333430
            }
        ],
        "anotacoes": [],
        "categorias": [
            {
                "codigo": 39,
                "codigoTipo": 6,
                "nomeTipo": null,
                "nome": "Não comprei / contratrei",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 571,
                "codigoTipo": 1,
                "nomeTipo": null,
                "nome": "Serviços Financeiros",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 817,
                "codigoTipo": 2,
                "nomeTipo": null,
                "nome": "Crédito Consignado / Cartão de Crédito Consignado / RMC (para beneficiários do INSS)",
                "texto": null,
                "tipoRevisao": null
            },
            {
                "codigo": 847,
                "codigoTipo": 4,
                "nomeTipo": null,
                "nome": "Cartão não solicitado - Envio ou cobrança",
                "texto": null,
                "tipoRevisao": null
            }
        ],
        "vinculoReclamacaoOficio": [],
        "consumidor": {
            "codigo": 125452,
            "nome": null,
            "nomeSocial": null,
            "sexo": null,
            "telefone": null,
            "email": null,
            "tipoPessoa": {
                "codigoTipoPessoa": 1,
                "nomeTipoPessoa": "Física",
                "descricao": "Física"
            },
            "tipoConsumidorPessoaFisica": {
                "codigoTipoConsumidorPessoaFisica": 2,
                "nomeTipoConsumidorPessoaFisica": "Nacional",
                "codigo": 2,
                "descricao": "Nacional"
            },
            "procurador": false,
            "anonimo": false,
            "consumidorSemCpf": false,
            "cpfCnpj": null,
            "endereco": null
        },
        "procurador": null,
        "nomeFornecedores": null,
        "nomeFantasiaFornecedor": null,
        "arquivoCalculo": null,
        "indicadorCalculoSolicitado": null,
        "codigoUsuarioAbertura": 21501,
        "nomeUsuarioAbertura": "GXXXX NaXXa TrXXXXo",
        "indicadorProximoFila": null,
        "indicadorBloqueio": null,
        "indicadorDisponivelParaDistribuicao": false,
        "textoReclamacao": "<p> but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>",
        "existeAoMenosUmaTratativaFinalizada": true,
        "indicadorExistenciaTratativa": true,
        "protocoloConsumidorGov": null,
        "setorDistribuicao": "",
        "dataInclusaoDecisao": null,
        "categoriaArea": null,
        "categoriaAssunto": null,
        "categoriaProblema": null
    },
    "responseAttrs": {}
}
```

---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-400"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4421" data-start="4134"><thead data-end="4181" data-start="4134"><tr data-end="4181" data-start="4134"><th data-col-size="sm" data-end="4143" data-start="4134">Código</th><th data-col-size="sm" data-end="4181" data-start="4143">Descrição</th></tr></thead><tbody data-end="4421" data-start="4230"><tr data-end="4325" data-start="4278"><td data-col-size="sm" data-end="4287" data-start="4278">400</td><td data-col-size="sm" data-end="4325" data-start="4287">Erro de parâmetros</td></tr><tr data-end="4373" data-start="4326"><td data-col-size="sm" data-end="4335" data-start="4326">401</td><td data-col-size="sm" data-end="4373" data-start="4335">Não autorizado</td></tr><tr data-end="4421" data-start="4374"><td data-col-size="sm" data-end="4383" data-start="4374">500</td><td data-col-size="sm" data-end="4421" data-start="4383">Erro interno</td></tr></tbody></table>

</div></div>



<div class="_tableContainer_80l1q_1" id="bkmrk--15"></div><div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-1"></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-2"></div>

# API - pdma-contestacao

Formato Markdown (documentação simples)

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/govbr-pdma-contestacao/v1.0`  
**Body (JSON)**:

```json
{
  "hash": "hash da credencial no cofre"
}

```

**Resposta (202/200)**:

```json
{ "id": "202603060839318IdaKzEs9DBI27lMCxtestMU0AlodeYPz7oE4DakWaZprKoCr8" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
  "message": null,
  "notAllowed": null,
  "notAvailable": null,
  "valid": true
}

```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "govbr-pdma-contestacao",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"integracao": "",
            "cpf":"29995600XX",
            "data":"31/03/2026",
            "tipoArquivo": "FICHA",
			"arquivos": [
                {
                    "tipoArquivo": "FICHA",
                    "arquivo": "arquivo.pdf"
                },
                {
                    "tipoArquivo": "AUTORIZACAO",
                    "arquivo": "arquivo.pdf"
                },
                {
                    "tipoArquivo": "DOCUMENTO",
                    "arquivo": "arquivo.pdf"
                }
            ]
    
	"files": [{
      "name": "teste.pdf",
      "error" : false,
      "location" : null,
      "description" : null,
      "bound" : true,
      "targetName" : null,
      "property" : "arquivo",
      "data": "JVBERi0xLjcKCjQgMCBvYmoK"
    }
    ]

}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "<request_id>" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5037%; height: 46.5938px;">Default</th><th style="width: 48.2107%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`integracao`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Um identificado externo se for necessário enviar.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`cpf`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">CPF do solicitante da contestaçãoI.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`data`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Data aplicação para pesquisar o solicitante.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`tipoArquivo`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6193%; height: 46.5938px;">String</td><td style="width: 10.5037%; height: 46.5938px;">—</td><td style="width: 48.2107%; height: 46.5938px;">Tipo de arquivo para identificação do anexo ex: Ficha, Autorização, Documento.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`arquivo`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">base64</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Arquivo a ser anexado para envio.</td></tr></tbody></table>


## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
  "account": 0,
  "user": 0,
  "bot": "bot-id",
  "version": "x.y.z",
  "cid": "opcional",
  "request": "abc123",
  "started": "2025-09-05T12:14:10-03:00",
  "ended": "2025-09-05T12:14:45-03:00",
  "taskTime": "35s",
  "timeout": "30s",
  "finishedAs": "Response",
  "retry": "Allowed",
  "dry": false,
  "result": { /* payload específico do robô */ }
}

```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

---

## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"></div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"></div></div></div>

# API - exyon-bmg-info

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/exyon-bmg-info/v1.0`  
**Body (JSON)**:

```json
{
  "hash": "hash da credencial no cofre"
}

```

**Resposta (202/200)**:

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
	"valid": true,
	"notAllowed": null,
	"notAvailable": null,
	"message": null
}
```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "exyon-bmg-info",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"processo":"CIV1583618"   
    }
}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
	"bot": "exyon-bmg-info",
	"version": "v3.0.0-dev",
	"request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
	"account": 1,
	"user": 0021,
	"cid": null,
	"started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
	"ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
	"taskTime": "20309ms",
	"timeout": "300000ms",
	"retry": "UNKNOWN",
	"dry": false,
	"finishedAs": "Response",
	"result": {
		"status": "Coleta baixada com sucesso",
		"numeroProcesso": "52XXXX72025XXXXX21",
		"dataInicio": "14/08/2025",
		"pais": "BRASIL",
		"municipio": "PASSO FUNDO",
		"numeral": "04",
		"instancia": "PRIMEIRA",
		"area": "SUBSÍDIOS BMG EM CONTA",
		"acao": "AÇÃO INDENIZATÓRIA",
		"juizo": null,
		"uf": "RIO GRANDE DO SUL",
		"orgaoTribunal": "TRIBUNAL DE JUSTIÇA - RIO GRANDE DO SUL",
		"denominacaoVara": "VARA CÍVEL",
		"esfera": "JUSTIÇA ESTADUAL",
		"assunto": "BMG EM CONTA",
		"rito": "RITO ORDINÁRIO",
		"escrevente": "",
		"codigoPoloAtivo": "XXX75XXX3",
		"nomePoloAtivo": "SXXXXX AXXXXXXXO NXXXXS",
		"qualificacaoPoloAtivo": "PARTE AUTORA",
		"codigoPoloPassivo": "XX60325XXX",
		"nomePoloPassivo": "BANCO BMG",
		"qualificacaoPoloPassivo": "PARTE RÉ",
		"valorInicial": "8.150,28"
	}
}
```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5037%; height: 46.5938px;">Default</th><th style="width: 48.2107%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`processo`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">O número do processo o qual será coletado os dados.</td></tr></tbody></table>


## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

# API - projuris-digio-documentos-inserir

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/projuris-digio-documentos-inserir/v1.0`  
**Body (JSON)**:

```json
{
  "hash": "hash da credencial no cofre"
}

```

**Resposta (202/200)**:

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
	"valid": true,
	"notAllowed": null,
	"notAvailable": null,
	"message": null
}
```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "projuris-digio-documentos-inserir",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"integracao":"",   
            "pasta":"CIV1583618",   
            "dataEvento":"CIV1583618",   
            "evento":"CIV1583618",   
            "fase":"CIV1583618",   
            "relevante":"CIV1583618",   
            "listarComoAndamento":"CIV1583618",   
       "arquivo": [
            {
                "arquivo": "teste.pdf",
                "tipoArquivo": "teste"
            }
        ]
	},
	"files": [{
      "name": "teste.pdf",
      "dataArquivo": "",
      "tipoArquivo": "",
      "error" : false,
      "location" : null,
      "description" : null,
      "bound" : true,
      "targetName" : null,
      "property" : "arquivo", 
		  "data":""
    }
    ]
    }
}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
	"bot": "projuris-digio-documentos-inserir",
	"version": "v3.0.0-dev",
	"request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
	"account": 1,
	"user": 0021,
	"cid": null,
	"started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
	"ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
	"taskTime": "20309ms",
	"timeout": "300000ms",
	"retry": "UNKNOWN",
	"dry": false,
	"finishedAs": "Response",
	"result": {
		"status": "Documento(s) inserido(s) com sucesso!",
	}
}
```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 361.36px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5037%; height: 46.5938px;">Default</th><th style="width: 48.2107%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">processo</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">O número do processo o qual será coletado os dados.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">integracao</td><td style="width: 16.1928%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Código interno da empresa</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">pasta</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Pasta do documento</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">dataEvento</td><td style="width: 16.1928%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Data do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">evento</td><td style="width: 16.1928%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Tipo do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">fase</td><td style="width: 16.1928%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Fase do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">relevante</td><td style="width: 16.1928%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">  
</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">listarComoAndamento</td><td style="width: 16.1928%; height: 46.5938px;">**Não**</td><td style="width: 11.6193%; height: 46.5938px;">String</td><td style="width: 10.5037%; height: 46.5938px;">—</td><td style="width: 48.2107%; height: 46.5938px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">arquivos</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5037%; height: 29.7969px;">—</td><td style="width: 48.2107%; height: 29.7969px;">Documento a ser anexado</td></tr></tbody></table>


## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

# API - bradesco-lexweb-info

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/exyon-bmg-info/v1.0`  
**Body (JSON)**:

```json
{
	"username":"XPTO",
	"password":"YPTO"
}

```

**Resposta (202/200)**:

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
	"valid": true,
	"notAllowed": null,
	"notAvailable": null,
	"message": null
}
```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "bradesco-lexweb-info",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"numeroDossie":"2023/8XXXX-X"   
    }
}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
	"bot": "exyon-bmg-info",
	"version": "v3.0.0-dev",
	"request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
	"account": 1,
	"user": 0021,
	"cid": null,
	"started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
	"ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
	"taskTime": "20309ms",
	"timeout": "300000ms",
	"retry": "UNKNOWN",
	"dry": false,
	"finishedAs": "Response",
	"result": {
		"status": "Coleta baixada com sucesso",
		"numeroProcesso": "52XXXX72025XXXXX21",
		"dataInicio": "14/08/2025",
		"pais": "BRASIL",
		"municipio": "PASSO FUNDO",
		"numeral": "04",
		"instancia": "PRIMEIRA",
		"area": "SUBSÍDIOS BMG EM CONTA",
		"acao": "AÇÃO INDENIZATÓRIA",
		"juizo": null,
		"uf": "RIO GRANDE DO SUL",
		"orgaoTribunal": "TRIBUNAL DE JUSTIÇA - RIO GRANDE DO SUL",
		"denominacaoVara": "VARA CÍVEL",
		"esfera": "JUSTIÇA ESTADUAL",
		"assunto": "BMG EM CONTA",
		"rito": "RITO ORDINÁRIO",
		"escrevente": "",
		"codigoPoloAtivo": "XXX75XXX3",
		"nomePoloAtivo": "SXXXXX AXXXXXXXO NXXXXS",
		"qualificacaoPoloAtivo": "PARTE AUTORA",
		"codigoPoloPassivo": "XX60325XXX",
		"nomePoloPassivo": "BANCO BMG",
		"qualificacaoPoloPassivo": "PARTE RÉ",
		"valorInicial": "8.150,28"
	}
}
```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 15.2018%; height: 46.5938px;">Campo</th><th style="width: 14.4644%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5068%; height: 46.5938px;">Default</th><th style="width: 48.2077%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">`numeroDossie`</td><td style="width: 14.4644%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">O número do processo o qual será coletado os dados.</td></tr></tbody></table>


## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

# API - exyon-bmg-justificativas-inserir

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/exyon-bmg-justificativas-inserir/v1.0`  
**Body (JSON)**:

```json
{
	"username":"XPTO",
	"password":"YPTO"
}

```

**Resposta (202/200)**:

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
	"valid": true,
	"notAllowed": null,
	"notAvailable": null,
	"message": null
}
```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "exyon-bmg-justificativas-inserir",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"processo":"0001955-66.XXXX.8.XX.XXXX"   
    }
}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
	"bot": "exyon-bmg-justificativas-inserir",
	"version": "v3.0.0-dev",
	"request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
	"account": 1,
	"user": 0021,
	"cid": null,
	"started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
	"ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
	"taskTime": "20309ms",
	"timeout": "300000ms",
	"retry": "UNKNOWN",
	"dry": false,
	"finishedAs": "Response",
	"result": {
		"status": "Andamento realizado com sucesso",
	}
}
```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 15.2018%; height: 46.5938px;">Campo</th><th style="width: 14.4644%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5068%; height: 46.5938px;">Default</th><th style="width: 48.2077%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">`processo`</td><td style="width: 14.4644%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">O número do processo o qual será coletado os dados.</td></tr></tbody></table>


## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

# API - exyon-bmg-andamentos-inserir

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/exyon-bmg-andamentos-inserir/v1.0`  
**Body (JSON)**:

```json
{
	"username":"XPTO",
	"password":"YPTO"
}

```

**Resposta (202/200)**:

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
	"valid": true,
	"notAllowed": null,
	"notAvailable": null,
	"message": null
}
```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "exyon-bmg-andamentos-inserir",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"andamento":"0001955-66.XXXX.8.XX.XXXX",
            "descricao":"XPTO",
            "integracao":"0001955-66.XXXX.8.XX.XXXX",
            "processo":"CIVXXXXXX",   
            "responsavel":"",
            "status":"",
            "valorMoral":"",
          "arquivos": [
                    {
                        "tipoDocumento": "FICHA",
                        "descricaoArquivo": "FICHA",
                        "arquivo": "teste.pdf"
                    }            
          ]
        
          "files": [{
            "name": "teste.pdf",
            "error" : false,
            "location" : null,
            "description" : null,
            "bound" : true,
            "targetName" : null,
            "property" : "arquivo",
            "data": "JVBERi0xLjcKCjQgMCBvYmoK"
          }]
    }
}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
	"bot": "exyon-bmg-andamentos-inserir",
	"version": "v3.0.0-dev",
	"request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
	"account": 1,
	"user": 0021,
	"cid": null,
	"started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
	"ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
	"taskTime": "20309ms",
	"timeout": "300000ms",
	"retry": "UNKNOWN",
	"dry": false,
	"finishedAs": "Response",
	"result": {
		"status": "Documento Vinculado com Sucesso"
	}
}
```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 195.578px;"><thead><tr style="height: 46.5938px;"><th style="width: 15.2018%; height: 46.5938px;">Campo</th><th style="width: 14.4644%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5068%; height: 46.5938px;">Default</th><th style="width: 48.2077%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">processo</td><td style="width: 14.4644%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">O número do processo o qual será coletado os dados.</td></tr><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">integracao</td><td style="width: 14.4644%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Código interno da empresa server com referência</td></tr><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">status</td><td style="width: 14.4644%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Status do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">andamento</td><td style="width: 14.4644%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Tipo de andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 15.2018%; height: 29.7969px;">responsavel</td><td style="width: 14.4644%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Responsável pelo andamento</td></tr><tr><td style="width: 15.2018%;">valorMoral</td><td style="width: 14.4644%;">**Não**</td><td style="width: 11.6193%;">String</td><td style="width: 10.5068%;">—</td><td style="width: 48.2077%;">Valor aplicado</td></tr><tr><td style="width: 15.2018%;">descricao</td><td style="width: 14.4644%;">**Não**</td><td style="width: 11.6193%;">String</td><td style="width: 10.5068%;">—</td><td style="width: 48.2077%;">Informação que se juga importante</td></tr><tr><td style="width: 15.2018%;">  
</td><td style="width: 14.4644%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr></tbody></table>


## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

# API - projuris-digio-requisicoes-inserir

## Visão geral

- **Base URL**: `https://api.oystr.com.br/v1`
- **Padrão**: chamadas **assíncronas**. Você recebe um **ID** na resposta imediata e consulta o resultado em um **endpoint de leitura** até estar pronto.
- **Formato**: JSON (requests e responses).

## Autenticação

- **Header**: `X-Oystr-Auth: <seu_token>`
- **Como obter**: Console Oystr → **Configurações** → **API** → **Criar chave de integração**.
- Envie este header **em todas as requisições**.

## Fluxos principais

### A) Validação de credenciais (assíncrona)

Esta etapa é importante quando o robô exigir **`credentials`** para acessar o sistema em que ele opera (usuário/senha/certificado etc.).

1\) **Ação (POST)**  
`/credentials/validate/projuris-digio-requisicoes-inserir/v1.0`  
**Body (JSON)**:

```json
{
  "hash": "hash da credencial no cofre"
}

```

**Resposta (202/200)**:

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/cached/{id}`  
\- **404**: ainda processando  
\- **200**:

```json
{
	"valid": true,
	"notAllowed": null,
	"notAvailable": null,
	"message": null
}
```

> Interprete **`valid`** como o indicador principal de sucesso na validação. Caso o robô retone **`false`**, isso indica que ele não teve sucesso ao logar e a provável causa estará no campo **`message`**.
> 
> **IMPORTANTE**: apesar de opcional, essa etapa pode ser incorporada na sua lógica para garantir que as credenciais são validas. Se o sistema que o robô irá operar tem baixa tolerância com autenticação, recomendamos que este teste seja feito com uma frequência maior. Caso contrário, esta validação pode ser feita de tempos em tempos, afim de garantir a operação.

### B) Execução do robô (assíncrona)

1\) **Ação (POST)**  
`/execute/single`  
**Body (JSON)** — ver campos na seção abaixo:

```json
{
    "dry": false,
    "bot": "projuris-digio-requisicoes-inserir",
    "version": "v3.0.0-dev",
    "credentials": {
            "username": "XPTO",
        	"password": "YPTO"
    },
    "data": 
    {
			"integracao":"267205",
            "pasta":"267205",
            "processo":"4003591-26.2026.8.26.0248",
            "liminar":"false",
            "descricaoLiminar":"Não há",
            "breveResumo":"A parte autora alega que foi vítima de fraude, visto que não reconhece contratação do empréstimo consignado."
            "advogadoAgressor":"false"
            "dataInicioCitacao":"46126",
            "tipoAcao":"Indenizatória",
            "procedimento":"Digio Consignado",
            "motivoAcao":"Fraude",
            "subMotivoAcao":"Falsidade Ideológica",
            "parceiro":"Não se aplica",
            "produto":"INSS",
            "dataOrigemProblema":"46105",
            "procedenciaProcesso":"AG classificação",
            "advogado":"JACLENILSON MOTA DOS SANTOS",
            "valorCausa":"18,510.77",
            "riscoAtrelado":"Possível",
            "faseAtual":"Conhecimento",
            "tribunal":"TJSP",
            "ordinalJurisdicao":"2",
            "jurisdicao":"Vara Cível",
            "uf":"SP",
            "comarca":"Indaiatuba",
            "juizDesembargador":"SÉRGIO FERNANDES",
            "adverso":"CARLOS ALBERTO ALVES RIBEIRO",
            "metodoAtualizacao":"TJSP",
            "valorEstimado":"6,199.85",
            "valorEstimadoContigencia":"6,199.85",
            "valorPerdaPossivel":"6,199.85",
            "dataBaseCm":"46126",
            "dataBaseJuros":"46126",

      "arquivo": [
            {
                "arquivo": "teste.pdf",
                "tipoArquivo": "teste"
            }
        ]
	},
	"files": [{
      "name": "teste.pdf",
      "dataArquivo": "",
      "tipoArquivo": "",
      "error" : false,
      "location" : null,
      "description" : null,
      "bound" : true,
      "targetName" : null,
      "property" : "arquivo", 
		  "data":""
    }
    ]
    }
}
```

#### <span style="background-color: rgb(236, 240, 241);">**Resposta (202/200)**:</span>

```json
{ "id": "20260309101539Ke2testeHPIt30kUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR" }

```

2\) **Consulta do resultado (GET)**  
`/execute/single/{botId}/{request_id}?format=latest`  
\- **404**: ainda processando  
\- **200**: retorna o **resultado final** (ver seção “Resultado da execução”).

> **Observação importante:**  
> \- Para **validação** de credenciais, consulte em **`/cached/{id}`**.  
> \- Para **execução** de item, consulte em **`/execute/single/{bot}/{id}?format=latest`**.

## Resultado da execução

Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```json
{
	"bot": "projuris-digio-documentos-inserir",
	"version": "v3.0.0-dev",
	"request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
	"account": 1,
	"user": 0021,
	"cid": null,
	"started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
	"ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
	"taskTime": "20309ms",
	"timeout": "300000ms",
	"retry": "UNKNOWN",
	"dry": false,
	"finishedAs": "Response",
	"result": {
		"status": "Documento(s) inserido(s) com sucesso!",
	}
}
```

### `finishedAs` (principais valores)

- **Sucesso**: `Response`, `PartialResponse`
- **Falha de negócio**: `NotAllowed`, `NotFound`, `NotConsistent`, `NotAvailable`, `Forbidden`, `BotError`, `Other`
- **Falha de ambiente/contrato/dados**: `RequestHasViolations`, `NotAndApiRequest`, `NotAccepted`, `Timeout`, `Overdue`, `Duplicate`, `UnexpectedError`, `Unknown`
- **Outras falhas técnicas**: `ProxyError`, `CaptchaError`

> **Dica**: trate **HTTP 200** com `finishedAs != Response` como “erro de negócio/ambiente”, não como sucesso.

## Campos do payload de execução

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 113.333%; height: 445.344px;"><thead><tr style="height: 46.5938px;"><th style="width: 13.4734%; height: 46.5938px;">Campo</th><th style="width: 16.1928%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6109%; height: 46.5938px;">Tipo</th><th style="width: 8.043%; height: 46.5938px;">Default</th><th style="width: 50.6799%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`dry`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">`false`</td><td style="width: 50.6799%; height: 29.7969px;">Execução de teste, alguns robôs não suportam este modo.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`bot`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">ID do robô, consulte a documentação específica.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`version`</td><td style="width: 16.1928%; height: 29.7969px;">**Sim**</td><td style="width: 11.6109%; height: 29.7969px;">String</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Versão do robô, atualmente este valor é `3.0.0-dev`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`cid`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">String</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Idempotência: se repetido, resposta será como item duplicado, `Duplicate`.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`force`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">Boolean</td><td style="width: 8.043%; height: 29.7969px;">—</td><td style="width: 50.6799%; height: 29.7969px;">Força reexecução de um `cid` único.</td></tr><tr style="height: 29.7969px;"><td style="width: 13.4734%; height: 29.7969px;">`timeout`</td><td style="width: 16.1928%; height: 29.7969px;">Não</td><td style="width: 11.6109%; height: 29.7969px;">**Duration**</td><td style="width: 8.043%; height: 29.7969px;">`5m`</td><td style="width: 50.6799%; height: 29.7969px;">Ex.: `30s`.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`deadline`</td><td style="width: 16.1928%; height: 46.5938px;">Não</td><td style="width: 11.6109%; height: 46.5938px;">**ZonedDateTime**</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">ISO-8601 com timezone.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`credentials`</td><td style="width: 16.1928%; height: 46.5938px;">Depende do robô</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Credenciais necessárias para aquele robô. Atualmente os robôs operam apenas com credenciais salvas no cofre.</td></tr><tr style="height: 46.5938px;"><td style="width: 13.4734%; height: 46.5938px;">`data`</td><td style="width: 16.1928%; height: 46.5938px;">**Sim**</td><td style="width: 11.6109%; height: 46.5938px;">JSON</td><td style="width: 8.043%; height: 46.5938px;">—</td><td style="width: 50.6799%; height: 46.5938px;">Payload específico do robô, consulte a documentação de cada robô.</td></tr><tr style="height: 63.3906px;"><td style="width: 13.4734%; height: 63.3906px;">`files`</td><td style="width: 16.1928%; height: 63.3906px;">Depende do robô</td><td style="width: 11.6109%; height: 63.3906px;">JSON\[\]</td><td style="width: 8.043%; height: 63.3906px;">—</td><td style="width: 50.6799%; height: 63.3906px;">Anexos; cada item: `{ bound, property, description, name, data }` onde **`data`** é geralmente **Base64** do arquivo, mas consulte a documentação do robô para mais detalhes.</td></tr></tbody></table>

## Descrição campos 'DATA'

<table id="bkmrk-campo-obrigat%C3%B3rio-ti-1" style="width: 113.333%; height: 748.719px;"><thead><tr style="height: 46.5938px;"><th style="width: 24.4683%; height: 46.5938px;">Campo</th><th style="width: 5.198%; height: 46.5938px;">Obrigatório</th><th style="width: 11.6193%; height: 46.5938px;">Tipo</th><th style="width: 10.5068%; height: 46.5938px;">Default</th><th style="width: 48.2077%; height: 46.5938px;">Descrição</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">integracao</td><td style="width: 5.198%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">O número do processo o qual será coletado os dados.</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">pasta</td><td style="width: 5.198%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Código interno da empresa</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">processo</td><td style="width: 5.198%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Pasta do documento</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">liminar</td><td style="width: 5.198%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Data do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">descricaoLiminar</td><td style="width: 5.198%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Tipo do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">breveResumo</td><td style="width: 5.198%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Fase do andamento</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">advogadoAgressor</td><td style="width: 5.198%; height: 29.7969px;">**Não**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 46.5938px;"><td style="width: 24.4683%; height: 46.5938px;">dataInicioCitacao</td><td style="width: 5.198%; height: 46.5938px;">**Não**</td><td style="width: 11.6193%; height: 46.5938px;">String</td><td style="width: 10.5068%; height: 46.5938px;">—</td><td style="width: 48.2077%; height: 46.5938px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">tipoAcao</td><td style="width: 5.198%; height: 29.7969px;">**Sim**</td><td style="width: 11.6193%; height: 29.7969px;">String</td><td style="width: 10.5068%; height: 29.7969px;">—</td><td style="width: 48.2077%; height: 29.7969px;">Documento a ser anexado</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">procedimento</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">motivoAcao</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">subMotivoAcao</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">parceiro</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">produto</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">dataOrigemProblema</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">procedenciaProcesso</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">advogado</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">valorCausa</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">riscoAtrelado</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">faseAtual</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">tribunal</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">ordinalJurisdicao</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 24.4683%; height: 29.7969px;">jurisdicao</td><td style="width: 5.198%; height: 29.7969px;">  
</td><td style="width: 11.6193%; height: 29.7969px;">  
</td><td style="width: 10.5068%; height: 29.7969px;">  
</td><td style="width: 48.2077%; height: 29.7969px;">  
</td></tr><tr><td style="width: 24.4683%;">uf</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">comarca</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">juizDesembargador</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">adverso</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">metodoAtualizacao</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">valorEstimado</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">valorEstimadoContigencia</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">valorPerdaPossivel</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">dataBaseCm</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr><tr><td style="width: 24.4683%;">dataBaseJuros</td><td style="width: 5.198%;">  
</td><td style="width: 11.6193%;">  
</td><td style="width: 10.5068%;">  
</td><td style="width: 48.2077%;">  
</td></tr></tbody></table>


## Idempotência e reexecução

- **`cid`**: identifique execuções equivalentes; se um `cid` **não for único**, o item pode retornar **`Duplicate`** sem rodar de novo.
- **`force`**: reexecuta mesmo com `cid` único. Use com cautela.
- Estratégia comum: `cid = hash` de campos críticos dentro de `data` (quando fizer sentido).

---

## Boas práticas de polling

- **Mínimo até existir resposta**: a execução de um robô pode garantir um **delay mínimo** (ex.: ≥ 5s). Ajuste o primeiro poll para logo após esse limite.
- **Intervalo**: 5–10s é razoável; 7s é um bom equilíbrio para a maioria dos casos.
- **Tempo máximo/Orçamento**: defina um tempo máximo total (ex.: 2–8 min). Se exceder, encerre e reporte “pendente/timeout local”.
- **Códigos**:
- **404** → continue esperando.
- **200** → processe o resultado.
- **401/403** → pare e corrija credenciais/permissões.
- **429** → aplique **backoff** antes de tentar de novo.

---

## Tratamento de erros

- **401/403**: token inválido/sem permissão → revise `X-Oystr-Auth` / escopos.
- **404** no endpoint de resultado: item ainda processando → continue o polling.
- **429**: limite de taxa → aumente o intervalo (backoff) e tente de novo.
- **4xx no POST**: violações de contrato (payload/versão/bot inválidos) → corrija antes de retry.
- **200 com `finishedAs` não-sucesso**: trate conforme regra de negócio; alguns permitem reexecução (`ProxyError`, `CaptchaError`).

---

## Segurança e recomendações

- **Proteja o token** (`X-Oystr-Auth`): use variáveis de ambiente/cofres; evite logs com token.
- **TLS obrigatório** (`https`).
- **User-Agent identificável** ajuda na observabilidade do lado do servidor.
- **Arquivos** em `files[].data`: envie conteúdo **Base64** do binário. Valide tamanhos/formatos aceitos conforme o robô.


<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1">  
</div></div></div>

# API - proconsumidor-protocolo

Formato Markdown (documentação simples)

#### <span style="background-color: rgb(241, 196, 15);">Autentica um usuário com CPF e senha codificada.</span>



##### **POST** `/auth/login`

**Requisição:**

**Headers:**

- Content-Type: application/json

**Body:**

```json
{
  "login": "12345",
  "pass": "e10adc3949ba59abbe56e057f20f883e",
  "tokenValidation": "",
  "isUsuarioConsumidor": false
}
```

**Descrição dos campos:**

- **login** (string): **CPF** do usuário, apenas números.
- **pass** (string): Senha codificada (ex: **MD5**).
- **tokenValidation** (string): Campo para token externo (pode ficar vazio).
- **isUsuarioConsumidor** (boolean): false para usuários internos, true para consumidores finais.

**Resposta 200 OK**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "uid": "MjEXXXz",
    "message": "deliverCredentials",
    "jsonUser": "{\"codigoUsuario\":XXXXXXX,\"nome\":\"XXXXXXXXXXXXXXX\",\"cpf\":\"XXXXXXXXXX\",\"tipoUsuario\":\"Fornecedor\",\"nomePerfil\":\"Colaborador\",\"codigoTipoUsuario\":4,\"listaFornecedores\":[{\"codigo\":XXXXX,\"nome\":\"XXXXXXXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXXXXXX\"},{\"codigo\":XXX,\"nome\":\"XXXXXXX Financeira\",\"cpfCnpj\":\"XXXXXXXXXX\"},{\"codigo\":XXXXXX,\"nome\":\"XXXXXXXX XXXXXXX\",\"cpfCnpj\":\"XXXXXXXXXX\"}],\"permissoes\":[\"gerenciar_atendimento\",\"relatorio_gerencial\"],\"codigoFornecedor\":XXXX,\"nomeFornecedor\":\"XXXXXXXXXXXXXXXX.\",\"cnpjFornecedor\":XXXXXXXXXXXXXXXXX,\"indicadorAceiteTermoUso\":true}",
    "expiry": 1752683825157,
    "primeiroAcesso": false,
    "auth_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyODM2ODg3MTg0IiwimNvZGlnb0Zvcm5lY2Vkb3IiOjY1NSwiaXNVc3VhcmlvQ29uc3VtaWRvciI6ZmFsc2V9.T1x2r0wcHijQNey_fyjcTs9IUI4Ocwx7-Or7Nu-aYyQ"
}
```

**Respostas possíveis:**

- 401 Unauthorized: CPF ou senha inválidos.
- 500 Internal Server Error: Erro interno.

#### <span style="background-color: rgb(241, 196, 15);">**Altera o fornecedor autenticado associado ao usuário logado.**</span>



##### **PUT** `/login/818/mudar-fornecedor-autenticado`

**Requisição:**

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3127" data-start="2132" style="width: 101.728%;"><thead data-end="2214" data-start="2132"><tr data-end="2214" data-start="2132"><th data-col-size="sm" data-end="2153" data-start="2132" style="width: 43.8853%;">Header</th><th data-col-size="md" data-end="2214" data-start="2153" style="width: 56.1147%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3127" data-start="2298"><tr data-end="2380" data-start="2298"><td data-col-size="sm" data-end="2319" data-start="2298" style="width: 43.8853%;">`access-token`</td><td data-col-size="md" data-end="2380" data-start="2319" style="width: 56.1147%;">JWT válido do usuário</td></tr><tr data-end="2463" data-start="2381"><td data-col-size="sm" data-end="2402" data-start="2381" style="width: 43.8853%;">`token-type`</td><td data-col-size="md" data-end="2463" data-start="2402" style="width: 56.1147%;">`Bearer`</td></tr><tr data-end="2546" data-start="2464"><td data-col-size="sm" data-end="2485" data-start="2464" style="width: 43.8853%;">`uid`</td><td data-col-size="md" data-end="2546" data-start="2485" style="width: 56.1147%;">UID codificado do usuário (ex: MD5)</td></tr><tr data-end="2629" data-start="2547"><td data-col-size="sm" data-end="2568" data-start="2547" style="width: 43.8853%;">`expiresuid`</td><td data-col-size="md" data-end="2629" data-start="2568" style="width: 56.1147%;">Timestamp de expiração do token</td></tr><tr data-end="2712" data-start="2630"><td data-col-size="sm" data-end="2651" data-start="2630" style="width: 43.8853%;">`primeiroAcesso`</td><td data-col-size="md" data-end="2712" data-start="2651" style="width: 56.1147%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="2795" data-start="2713"><td data-col-size="sm" data-end="2734" data-start="2713" style="width: 43.8853%;">`tz`</td><td data-col-size="md" data-end="2795" data-start="2734" style="width: 56.1147%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="2878" data-start="2796"><td data-col-size="sm" data-end="2817" data-start="2796" style="width: 43.8853%;">`Content-Type`</td><td data-col-size="md" data-end="2878" data-start="2817" style="width: 56.1147%;">`application/json`</td></tr><tr data-end="2961" data-start="2879"><td data-col-size="sm" data-end="2900" data-start="2879" style="width: 43.8853%;">`Origin`</td><td data-col-size="md" data-end="2961" data-start="2900" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="3044" data-start="2962"><td data-col-size="sm" data-end="2983" data-start="2962" style="width: 43.8853%;">`Referer`</td><td data-col-size="md" data-end="3044" data-start="2983" style="width: 56.1147%;">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="3127" data-start="3045"><td data-col-size="sm" data-end="3066" data-start="3045" style="width: 43.8853%;">Outros</td><td data-col-size="md" data-end="3127" data-start="3066" style="width: 56.1147%;">Headers de navegador (`User-Agent`, `sec-ch-ua`, etc.)</td></tr></tbody></table>

</div></div>---

**Body da Requisição (JSON):**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-copiareditar-%7B%7D"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-punctuation">{}</span>` *Corpo vazio — a troca é baseada no token e contexto da sessão.*</div></div>---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-200"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3565" data-start="3284"><thead data-end="3330" data-start="3284"><tr data-end="3330" data-start="3284"><th data-col-size="sm" data-end="3293" data-start="3284">Código</th><th data-col-size="sm" data-end="3330" data-start="3293">Descrição</th></tr></thead><tbody data-end="3565" data-start="3378"><tr data-end="3424" data-start="3378"><td data-col-size="sm" data-end="3387" data-start="3378">200</td><td data-col-size="sm" data-end="3424" data-start="3387">Sucesso na troca do fornecedor</td></tr><tr data-end="3471" data-start="3425"><td data-col-size="sm" data-end="3434" data-start="3425">401</td><td data-col-size="sm" data-end="3471" data-start="3434">Não autorizado (token inválido)</td></tr><tr data-end="3518" data-start="3472"><td data-col-size="sm" data-end="3481" data-start="3472">403</td><td data-col-size="sm" data-end="3518" data-start="3481">Acesso negado</td></tr><tr data-end="3565" data-start="3519"><td data-col-size="sm" data-end="3528" data-start="3519">500</td><td data-col-size="sm" data-end="3565" data-start="3528">Erro interno do servidor</td></tr></tbody></table>

</div></div>#### <span style="background-color: rgb(241, 196, 15);">**Busca os dados completos de um atendimento pelo número de protocolo ou número de acompanhamento**</span>


##### **GET** `/atendimentos/obter-por-numero-acompanhamento-ou-atendimento/{numero}`

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3655" data-start="2909" style="width: 92.4691%;"><thead data-end="2991" data-start="2909"><tr data-end="2991" data-start="2909"><th data-col-size="sm" data-end="2930" data-start="2909" style="width: 34.2223%;">Header</th><th data-col-size="sm" data-end="2991" data-start="2930" style="width: 65.7777%;">Valor exemplo / Descrição</th></tr></thead><tbody data-end="3655" data-start="3075"><tr data-end="3157" data-start="3075"><td data-col-size="sm" data-end="3096" data-start="3075" style="width: 34.2223%;">`access-token`</td><td data-col-size="sm" data-end="3157" data-start="3096" style="width: 65.7777%;">JWT válido do usuário</td></tr><tr data-end="3240" data-start="3158"><td data-col-size="sm" data-end="3179" data-start="3158" style="width: 34.2223%;">`token-type`</td><td data-col-size="sm" data-end="3240" data-start="3179" style="width: 65.7777%;">`Bearer`</td></tr><tr data-end="3323" data-start="3241"><td data-col-size="sm" data-end="3262" data-start="3241" style="width: 34.2223%;">`uid`</td><td data-col-size="sm" data-end="3323" data-start="3262" style="width: 65.7777%;">UID codificado do usuário (ex: Base64)</td></tr><tr data-end="3406" data-start="3324"><td data-col-size="sm" data-end="3345" data-start="3324" style="width: 34.2223%;">`expires`</td><td data-col-size="sm" data-end="3406" data-start="3345" style="width: 65.7777%;">Timestamp de expiração do token</td></tr><tr data-end="3489" data-start="3407"><td data-col-size="sm" data-end="3428" data-start="3407" style="width: 34.2223%;">`primeiroAcesso`</td><td data-col-size="sm" data-end="3489" data-start="3428" style="width: 65.7777%;">`false` (ou `true` no primeiro acesso)</td></tr><tr data-end="3572" data-start="3490"><td data-col-size="sm" data-end="3511" data-start="3490" style="width: 34.2223%;">`tz`</td><td data-col-size="sm" data-end="3572" data-start="3511" style="width: 65.7777%;">Fuso horário (ex: `America/Sao_Paulo`)</td></tr><tr data-end="3655" data-start="3573"><td data-col-size="sm" data-end="3594" data-start="3573" style="width: 34.2223%;">`Content-Type`</td><td data-col-size="sm" data-end="3655" data-start="3594" style="width: 65.7777%;">`application/json` (implícito)</td></tr></tbody></table>

</div></div>---

**Parâmetro de rota:**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3945" data-start="3689" style="width: 100.123%;"><thead data-end="3773" data-start="3689"><tr data-end="3773" data-start="3689"><th data-col-size="sm" data-end="3701" data-start="3689" style="width: 15.5%;">Parâmetro</th><th data-col-size="sm" data-end="3744" data-start="3701" style="width: 64.625%;">Descrição</th><th data-col-size="sm" data-end="3773" data-start="3744" style="width: 19.875%;">Exemplo</th></tr></thead><tbody data-end="3945" data-start="3862"><tr data-end="3945" data-start="3862"><td data-col-size="sm" data-end="3874" data-start="3862" style="width: 15.5%;">`numero`</td><td data-col-size="sm" data-end="3916" data-start="3874" style="width: 64.625%;">Número do atendimento ou acompanhamento</td><td data-col-size="sm" data-end="3945" data-start="3916" style="width: 19.875%;">XXXXXXXXXXXXXX</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none">  
</div></div></div>
**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-1"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">**json**</div><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>```json
{
    "data": [
        {
            "numeroAcompanhamento": "30xxxxx545xxxx3",
            "dataAbertura": "19/07/2024",
            "nomeCredenciada": "Procon Municipal de Teodoro Sampaio - SP",
            "nomePosto": "Procon Municipal de Teodoro Sampaio - SP",
            "area": "Serviços Financeiros",
            "assunto": "Crédito Pessoal e Demais Empréstimos (exceto financiamento de imóveis e veículos)",
            "problema": "Cobrança por serviço/produto não contratado / não reconhecido / não solicitado",
            "nomeConsumidor": "Fulano Perxxx Grxxx da Sxxxa ",
            "cpfConsumidor": "08xx6xxxx07",
            "cnpjConsumidor": null,
            "numeroFornecedorAtendimento": "01",
            "razaoSocialFornecedor": "Faxxx Fxxnxxx S.A. Cxxxx, Fxxxxxxx e Ixxxxx",
            "nomeFantasiaFornecedor": "Fxxxx Fxxxxxxx",
            "cnpjFornecedor": "1x5xxxxx0001xx",
            "cpfFornecedor": null,
            "grupoEconomicoFornecedor": null,
            "tecnicoAtendimento": "Jxxxo Cxxar Pxxx Fxxxxxxxa",
            "tecnicoConciliador": null,
            "dataPrazoRespostaCarta": null,
            "dataPrazoRespostaAudiencia": null,
            "dataAgendamentoAudiencia": null,
            "nomeProcurador": null,
            "tipoAcompanhamento": {
                "codigo": 3,
                "nome": "Reclamação",
                "descricao": "Reclamação"
            },
            "tipoEstadoAtendimento": {
                "codigo": 22,
                "nome": "Em Decisão",
                "codigoFase": 3,
                "tratativa": false,
                "descricao": "Em Decisão"
            },
            "numeroAtendimento": "24xxxxxx010xxxxx01",
            "tipoFaseAcompanhamento": {
                "codigo": 3,
                "nome": "Decisão",
                "descricao": "Decisão"
            },
            "tipoOrigemAcompanhamento": {
                "codigo": 1,
                "nome": "Presencial",
                "descricao": "Presencial"
            },
            "tipoTratativa": null,
            "cpfProcurador": null
        }
    ],
    "responseAttrs": {
        "recordsTotal": 1
    }
}
```

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk--10"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">  
</div></div>---

Respostas possíveis:

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-404"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4655" data-start="4368"><thead data-end="4415" data-start="4368"><tr data-end="4415" data-start="4368"><th data-col-size="sm" data-end="4377" data-start="4368">Código</th><th data-col-size="sm" data-end="4415" data-start="4377">Descrição</th></tr></thead><tbody data-end="4655" data-start="4464"><tr data-end="4559" data-start="4512"><td data-col-size="sm" data-end="4521" data-start="4512">404</td><td data-col-size="sm" data-end="4559" data-start="4521">Atendimento não encontrado</td></tr><tr data-end="4607" data-start="4560"><td data-col-size="sm" data-end="4569" data-start="4560">401</td><td data-col-size="sm" data-end="4607" data-start="4569">Não autorizado (token inválido)</td></tr><tr data-end="4655" data-start="4608"><td data-col-size="sm" data-end="4617" data-start="4608">500</td><td data-col-size="sm" data-end="4655" data-start="4617">Erro interno no servidor</td></tr></tbody></table>

</div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Retorna as tratativas (respostas, movimentações ou atualizações) associadas a uma **reclamação** específica com base no número de acompanhamento.** </span>



##### **GET** `/tratativas-reclamacao` 

**Parâmetros de Query**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="746" data-start="362"><thead data-end="489" data-start="362"><tr data-end="489" data-start="362"><th data-col-size="sm" data-end="388" data-start="362">Parâmetro</th><th data-col-size="sm" data-end="399" data-start="388">Tipo</th><th data-col-size="sm" data-end="413" data-start="399">Obrigatório</th><th data-col-size="sm" data-end="462" data-start="413">Descrição</th><th data-col-size="sm" data-end="489" data-start="462">Exemplo</th></tr></thead><tbody data-end="746" data-start="619"><tr data-end="746" data-start="619"><td data-col-size="sm" data-end="645" data-start="619">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="656" data-start="645">string</td><td data-col-size="sm" data-end="670" data-start="656">✅ Sim</td><td data-col-size="sm" data-end="719" data-start="670">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="746" data-start="719">`2XXXXXXXXXXXXXXXXX503`</td></tr></tbody></table>

</div></div>---

**Headers obrigatórios:**

<div class="_tableContainer_80l1q_1" id="bkmrk-header-descri%C3%A7%C3%A3o-acc"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><table class="w-fit min-w-(--thread-content-width)" data-end="1687" data-start="786" style="width: 96.4198%;"><thead data-end="867" data-start="786"><tr data-end="867" data-start="786"><th data-col-size="sm" data-end="806" data-start="786" style="width: 40.9574%;">Header</th><th data-col-size="md" data-end="867" data-start="806" style="width: 59.0426%;">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1687" data-start="950"><tr data-end="1031" data-start="950"><td data-col-size="sm" data-end="970" data-start="950" style="width: 40.9574%;">`access-token`</td><td data-col-size="md" data-end="1031" data-start="970" style="width: 59.0426%;">Token JWT válido do usuário autenticado</td></tr><tr data-end="1113" data-start="1032"><td data-col-size="sm" data-end="1052" data-start="1032" style="width: 40.9574%;">`token-type`</td><td data-col-size="md" data-end="1113" data-start="1052" style="width: 59.0426%;">`Bearer`</td></tr><tr data-end="1195" data-start="1114"><td data-col-size="sm" data-end="1134" data-start="1114" style="width: 40.9574%;">`uid`</td><td data-col-size="md" data-end="1195" data-start="1134" style="width: 59.0426%;">ID do usuário codificado (ex: Base64)</td></tr><tr data-end="1277" data-start="1196"><td data-col-size="sm" data-end="1216" data-start="1196" style="width: 40.9574%;">`expires`</td><td data-col-size="md" data-end="1277" data-start="1216" style="width: 59.0426%;">Timestamp de expiração do token</td></tr><tr data-end="1359" data-start="1278"><td data-col-size="sm" data-end="1298" data-start="1278" style="width: 40.9574%;">`primeiroAcesso`</td><td data-col-size="md" data-end="1359" data-start="1298" style="width: 59.0426%;">`false` (ou `true` caso seja primeiro acesso)</td></tr><tr data-end="1441" data-start="1360"><td data-col-size="sm" data-end="1380" data-start="1360" style="width: 40.9574%;">`tz`</td><td data-col-size="md" data-end="1441" data-start="1380" style="width: 59.0426%;">Fuso horário, ex: `America/Sao_Paulo`</td></tr><tr data-end="1523" data-start="1442"><td data-col-size="sm" data-end="1462" data-start="1442" style="width: 40.9574%;">`User-Agent`</td><td data-col-size="md" data-end="1523" data-start="1462" style="width: 59.0426%;">Identificação do navegador (browser padrão)</td></tr><tr data-end="1605" data-start="1524"><td data-col-size="sm" data-end="1544" data-start="1524" style="width: 40.9574%;">`Origin`</td><td data-col-size="md" data-end="1605" data-start="1544" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1687" data-start="1606"><td data-col-size="sm" data-end="1626" data-start="1606" style="width: 40.9574%;">`Referer`</td><td data-col-size="md" data-end="1687" data-start="1626" style="width: 59.0426%;">`https://proconsumidor.mj.gov.br/`</td></tr></tbody></table>

</div></div></div></div>---

**Resposta 200 OK:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-json-2"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div>```json
{
    "data": [
        {
            "ano": 24,
            "mes": 7,
            "codigoCredenciada": 111111110,
            "codigoPosto": 10000001,
            "numeroSequencial": 50,
            "dataAbertura": 1722433130149,
            "numeroFornecedorAtendimento": null,
            "tipo": {
                "codigo": 2,
                "nome": "Carta"
            },
            "situacao": {
                "codigo": 2,
                "nome": "Finalizada"
            },
            "justificativaCancelamento": null,
            "respostaFornecedor": "<p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Prezados,\n­<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo utilizado desde o século XVI, quando um impressor desconhecido pegou uma bandeja de tipos e os embaralhou para fazer um livro de modelos de tipos. Lorem Ipsum sobreviveu não só a cinco séculos, como também ao salto para a editoração eletrônica, permanecendo essencialmente inalterado. Se popularizou na década de 60, quando a Letraset lançou decalques contendo passagens de Lorem Ipsum, e mais recentemente quando passou a ser integrado a softwares de editoração eletrônica como Aldus PageMaker.,\n<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p>\n\n\n\n\n\n\n\n\n\n\n\n<span style=\"font-size:11.0pt;font-family:&quot;Arial&quot;,sans-serif;mso-fareast-font-family:\nCalibri;mso-fareast-theme-font:minor-latin;mso-ligatures:standardcontextual;\nmso-ansi-language:PT-BR;mso-fareast-language:EN-US;mso-bidi-language:AR-SA\">MBA\nAdvogados</span><br></p>",
            "consideracoesCredenciada": null,
            "textoNotificacaoConsumidor": null,
            "textoNotificacaoProcurador": null,
            "tipoResultado": null,
            "codigoFornecedor": 1,
            "nomeFornecedor": null,
            "codigoConsumidor": 20000000-111,
            "nomeConsumidor": "ZXXXXXXXX XXXXXX XX da Silva ",
            "dataRetornoConsumidor": 1726282800000,
            "codigoProcurador": null,
            "nomeProcurador": null,
            "indicadorDescumprimentoAcordo": null,
            "fornecedores": [
                {
                    "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2407072600100050301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográfica e de impressos, e vem sendo utilizado desde o século XVI, quando um impressor desconhecido pegou uma bandeja de tipos e os embaralhou para fazer um livro de modelos de tipos. Lorem Ipsum sobreviveu não só a cinco séculos, como também ao salto para a editoração eletrônica, permanecendo essencialmente inalterado. Se popularizou na década de 60, quando a Letraset lançou decalques contendo passagens de Lorem Ipsum, e mais recentemente quando passou a ser integrado a softwares de editoração eletrônica como Aldus PageMaker. termos dos artigos 45, 46 e 47 do Decreto 2.181/97,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">31 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                    "dataAvisoRecebimento": null,
                    "indicadorRespostaFornecedor": true,
                    "indicadorPrazoProrrogado": false,
                    "dataPrazoRespostaFornecedor": "2024-08-10",
                    "indicadorParticipacaoEletronica": true,
                    "indicadorParticipacaoCancelada": false,
                    "indicadorAtendimentoEletronico": true,
                    "respostaFornecedor": {
                        "data": 1723005879673,
                        "texto": "<p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Prezados,\n­<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Segue\ndefesa administrativa referente a reclamação em questão do fornecedor FACTA\nFINANCEIRA S.A. CRÉDITO, FINANCIAMENTO E INVESTIMENTO.<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">Atenciosamente,\n<o:p></o:p></span></p><p class=\"MsoNormal\" style=\"text-align:justify\"><span style=\"font-family:&quot;Arial&quot;,sans-serif\">&nbsp;</span></p><p>\n\n\n\n\n\n\n\n\n\n\n\n<span style=\"font-size:11.0pt;font-family:&quot;Arial&quot;,sans-serif;mso-fareast-font-family:\nCalibri;mso-fareast-theme-font:minor-latin;mso-ligatures:standardcontextual;\nmso-ansi-language:PT-BR;mso-fareast-language:EN-US;mso-bidi-language:AR-SA\">MBA\nAdvogados</span><br></p>",
                        "anexos": [
                            {
                                "chavePrimaria": {
                                    "ano": 24,
                                    "mes": 7,
                                    "credenciada": 1461160,
                                    "postoAtendimento": 1461161,
                                    "numeroSequencial": 50,
                                    "dataAbertura": 1722433130149,
                                    "numeroFornecedorAtendimento": 1,
                                    "numeroSequencialAnexo": 1
                                },
                                "nome": "2XXXXXXXXXXXXXXXXXX1 DEFESA ADMINISTRATIVA.pdf",
                                "dataInclusao": 1723005899531,
                                "tamanhoArquivo": 241799,
                                "objectKey": "172XXXXXX31_ee32c_680.pdf",
                                "tamanhoArquivoStorage": 241799,
                                "numeroSequencial": 1
                            },
                            {
                                "chavePrimaria": {
                                    "ano": 24,
                                    "mes": 7,
                                    "credenciada": 1461160,
                                    "postoAtendimento": 1461161,
                                    "numeroSequencial": 50,
                                    "dataAbertura": 1722433130149,
                                    "numeroFornecedorAtendimento": 1,
                                    "numeroSequencialAnexo": 2
                                },
                                "nome": "PROCURAÇÃO FACTA.pdf",
                                "dataInclusao": 1723005905205,
                                "tamanhoArquivo": 996121,
                                "objectKey": "172XXXXX205_c3e5f_68b.pdf",
                                "tamanhoArquivoStorage": 996121,
                                "numeroSequencial": 2
                            }
                        ]
                    },
                    "numeroFornecedorAtendimento": 1
                }
            ],
            "fornecedoresDetails": [
                {
                    "codigoFornecedor": 8XX,
                    "numeroFornecedorAtendimento": 1,
                    "nome": "Facta Financeira",
                    "numeroAtendimentoFormatado": "2X.XX.XXXX.XXX.XXXXX-XXX",
                    "indicadorAtendimentoEletronico": true,
                    "indicadorSuspensaoAtendimentoEletronico": false,
                    "atendimentoCancelado": false,
                    "telefones": [
                        {
                            "codigo": 3,
                            "codigoArea": "51",
                            "telefone": "3XXXXX8",
                            "tipo": {
                                "codigoTipoTelefone": 6,
                                "nomeTipoTelefone": "Institucional"
                            }
                        },
                        {
                            "codigo": 4,
                            "codigoArea": "61",
                            "telefone": "9XXXXXXX8",
                            "tipo": {
                                "codigoTipoTelefone": 2,
                                "nomeTipoTelefone": "Celular"
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "responseAttrs": {}
}
```

---

**Respostas esperadas:**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-descri%C3%A7%C3%A3o-400"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4421" data-start="4134"><thead data-end="4181" data-start="4134"><tr data-end="4181" data-start="4134"><th data-col-size="sm" data-end="4143" data-start="4134">Código</th><th data-col-size="sm" data-end="4181" data-start="4143">Descrição</th></tr></thead><tbody data-end="4421" data-start="4230"><tr data-end="4325" data-start="4278"><td data-col-size="sm" data-end="4287" data-start="4278">400</td><td data-col-size="sm" data-end="4325" data-start="4287">Erro de parâmetros</td></tr><tr data-end="4373" data-start="4326"><td data-col-size="sm" data-end="4335" data-start="4326">401</td><td data-col-size="sm" data-end="4373" data-start="4335">Não autorizado</td></tr><tr data-end="4421" data-start="4374"><td data-col-size="sm" data-end="4383" data-start="4374">500</td><td data-col-size="sm" data-end="4421" data-start="4383">Erro interno</td></tr></tbody></table>

<div class="absolute end-0 flex items-end" style="text-align: justify;">  
</div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas ao protocolo de uma determinado atendimento, com base no número de acompanhamento e data de abertura**</span>





**GET `/tratativas-requisicao-atendimento/obter/{numeroAcompanhamento}/{dataAbertura}`**

<div class="_tableContainer_80l1q_1" id="bkmrk--15"><div class="absolute end-0 flex items-end">---

</div></div>**Parâmetros de Caminho (Path Parameters)**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393" style="width: 22.0025%;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 15.0803%;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 22.4969%;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 21.5062%;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9141%;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636" style="width: 22.0025%;">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 21.5062%;">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9141%;">`24070726001000503`</td></tr><tr data-end="915" data-start="758"><td data-col-size="sm" data-end="783" data-start="758" style="width: 22.0025%;">`dataAbertura`</td><td data-col-size="sm" data-end="792" data-start="783" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="806" data-start="792" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="874" data-start="806" style="width: 21.5062%;">Data de abertura no formato yyyy-MM-dd ou yyyy-MM-ddTHH:mm:ss</td><td data-col-size="sm" data-end="915" data-start="874" style="width: 18.9141%;">2024-07-08 ou 2024-07-08T10:00:00</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>**Headers Obrigatórios**</div><div class="absolute end-0 flex items-end">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-3"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div></div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 1000210,
        "codigoPosto": 285401,
        "numeroSequencial": 100,
        "dataAbertura": 1720638951263,
        "numeroFornecedorAtendimento": null,
        "tipo": {
            "codigo": 2,
            "nome": "Carta"
        },
        "situacao": {
            "codigo": 3,
            "nome": "Cancelada"
        },
        "justificativaCancelamento": null,
        "respostaFornecedor": "",
        "consideracoesCredenciada": null,
        "textoNotificacaoConsumidor": null,
        "textoNotificacaoProcurador": null,
        "tipoResultado": null,
        "codigoFornecedor": 1,
        "nomeFornecedor": null,
        "codigoConsumidor": 1975831,
        "nomeConsumidor": "PXXXX LXXXXno",
        "dataRetornoConsumidor": 1724468400000,
        "codigoProcurador": null,
        "nomeProcurador": null,
        "indicadorDescumprimentoAcordo": null,
        "fornecedores": [
            {
                "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2406031700100176301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">10 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                "dataAvisoRecebimento": null,
                "indicadorRespostaFornecedor": true,
                "indicadorPrazoProrrogado": false,
                "dataPrazoRespostaFornecedor": "2024-07-20",
                "indicadorParticipacaoEletronica": true,
                "indicadorParticipacaoCancelada": false,
                "indicadorAtendimentoEletronico": true,
                "respostaFornecedor": {
                    "data": 1721151781641,
                    "texto": "",
                    "anexos": [
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 10000210,
                                "postoAtendimento": 25451,
                                "numeroSequencial": 176,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 1
                            },
                            "nome": "DEFESA ADMINISTRATIVA PEDRO.pdf",
                            "dataInclusao": 1721151769225,
                            "tamanhoArquivo": 312446,
                            "objectKey": "1721769225_661e1_251.pdf",
                            "tamanhoArquivoStorage": 312446,
                            "numeroSequencial": 1
                        },
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 22000,
                                "postoAtendimento": 55441,
                                "numeroSequencial": 364,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 2
                            },
                            "nome": "PROCURAÇÃO FXXXX PXXXXON - Copia.pdf",
                            "dataInclusao": 1721151818284,
                            "tamanhoArquivo": 1708876,
                            "objectKey": "172XX1818284_da873_30e.pdf",
                            "tamanhoArquivoStorage": 1708876,
                            "numeroSequencial": 2
                        }
                    ]
                },
                "numeroFornecedorAtendimento": 1
            }
        ],
        "fornecedoresDetails": null
    },
    "responseAttrs": {}
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--16"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

</div></div>**Respostas possíveis**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2716" data-start="2285"><thead data-end="2345" data-start="2285"><tr data-end="2345" data-start="2285"><th data-col-size="sm" data-end="2299" data-start="2285">Código HTTP</th><th data-col-size="md" data-end="2345" data-start="2299">Descrição</th></tr></thead><tbody data-end="2716" data-start="2407"><tr data-end="2533" data-start="2473"><td data-col-size="sm" data-end="2487" data-start="2473">`401`</td><td data-col-size="md" data-end="2533" data-start="2487">Não autorizado (token inválido/expirado)</td></tr><tr data-end="2594" data-start="2534"><td data-col-size="sm" data-end="2548" data-start="2534">`403`</td><td data-col-size="md" data-end="2594" data-start="2548">Acesso negado</td></tr><tr data-end="2655" data-start="2595"><td data-col-size="sm" data-end="2609" data-start="2595">`404`</td><td data-col-size="md" data-end="2655" data-start="2609">Protocolo não encontrada</td></tr><tr data-end="2716" data-start="2656"><td data-col-size="sm" data-end="2670" data-start="2656">`500`</td><td data-col-size="md" data-end="2716" data-start="2670">Erro interno no servidor</td></tr></tbody></table>

</div></div></div></div>
#### <span style="background-color: rgb(241, 196, 15);">**Recupera informações relacionadas ao protocolo de uma determinado atendimento, com base no número de acompanhamento e data de abertura**</span>





**GET `/tratativas-requisicao-atendimento/obter/{numeroAcompanhamento}/{dataAbertura}`**

<div class="_tableContainer_80l1q_1" id="bkmrk--19"><div class="absolute end-0 flex items-end">---

</div></div>**Parâmetros de Caminho (Path Parameters)**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-2"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393"><th data-col-size="sm" data-end="418" data-start="393" style="width: 22.0025%;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 15.0803%;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 22.4969%;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 21.5062%;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9141%;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636"><td data-col-size="sm" data-end="661" data-start="636" style="width: 22.0025%;">`numeroAcompanhamento`</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 21.5062%;">Número de acompanhamento da reclamação</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9141%;">`24070726001000503`</td></tr><tr data-end="915" data-start="758"><td data-col-size="sm" data-end="783" data-start="758" style="width: 22.0025%;">`dataAbertura`</td><td data-col-size="sm" data-end="792" data-start="783" style="width: 15.0803%;">string</td><td data-col-size="sm" data-end="806" data-start="792" style="width: 22.4969%;">✅ Sim</td><td data-col-size="md" data-end="874" data-start="806" style="width: 21.5062%;">Data de abertura no formato yyyy-MM-dd ou yyyy-MM-ddTHH:mm:ss</td><td data-col-size="sm" data-end="915" data-start="874" style="width: 18.9141%;">2024-07-08 ou 2024-07-08T10:00:00</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>**Headers Obrigatórios**</div><div class="absolute end-0 flex items-end">  
</div></div><div class="_tableContainer_80l1q_1" id="bkmrk-header-valor-exemplo-3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1938" data-start="955"><thead data-end="1036" data-start="955"><tr data-end="1036" data-start="955"><th data-col-size="sm" data-end="975" data-start="955">Header</th><th data-col-size="md" data-end="1036" data-start="975">Valor Exemplo / Descrição</th></tr></thead><tbody data-end="1938" data-start="1119"><tr data-end="1200" data-start="1119"><td data-col-size="sm" data-end="1139" data-start="1119">`Access-Token`</td><td data-col-size="md" data-end="1200" data-start="1139">Token JWT de autenticação</td></tr><tr data-end="1282" data-start="1201"><td data-col-size="sm" data-end="1221" data-start="1201">`Uid`</td><td data-col-size="md" data-end="1282" data-start="1221">Identificador codificado do usuário (Base64, por exemplo)</td></tr><tr data-end="1364" data-start="1283"><td data-col-size="sm" data-end="1303" data-start="1283">`Expires`</td><td data-col-size="md" data-end="1364" data-start="1303">Timestamp de expiração do token</td></tr><tr data-end="1446" data-start="1365"><td data-col-size="sm" data-end="1385" data-start="1365">`Primeiroacesso`</td><td data-col-size="md" data-end="1446" data-start="1385">`false` (ou `true` se for o primeiro login)</td></tr><tr data-end="1528" data-start="1447"><td data-col-size="sm" data-end="1467" data-start="1447">`Origin`</td><td data-col-size="md" data-end="1528" data-start="1467">`https://proconsumidor.mj.gov.br`</td></tr><tr data-end="1610" data-start="1529"><td data-col-size="sm" data-end="1549" data-start="1529">`Referer`</td><td data-col-size="md" data-end="1610" data-start="1549">`https://proconsumidor.mj.gov.br/`</td></tr><tr data-end="1692" data-start="1611"><td data-col-size="sm" data-end="1631" data-start="1611">`User-Agent`</td><td data-col-size="md" data-end="1692" data-start="1631">Ex: `Mozilla/5.0 (...) Chrome/...`</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1713" data-start="1693">`Content-Type`</td><td data-col-size="md" data-end="1774" data-start="1713">`application/json`</td></tr><tr data-end="1856" data-start="1775"><td data-col-size="sm" data-end="1795" data-start="1775">`Connection`</td><td data-col-size="md" data-end="1856" data-start="1795">`keep-alive`</td></tr><tr data-end="1938" data-start="1857"><td data-col-size="sm" data-end="1877" data-start="1857">`Withcredentials`</td><td data-col-size="md" data-end="1938" data-start="1877">`true`</td></tr></tbody></table>

<div class="sticky end-(--thread-content-margin) h-0 self-end select-none"><div class="absolute end-0 flex items-end"><button aria-label="Copiar tabela" class="hover:bg-token-bg-tertiary text-token-text-secondary my-1 rounded-sm p-1 transition-opacity group-[:not(:hover):not(:focus-within)]:pointer-events-none group-[:not(:hover):not(:focus-within)]:opacity-0"><svg class="icon" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></button>  
</div></div></div></div>---

</div></div>**Resposta 200 OK**

<div class="_tableContainer_80l1q_1" id="bkmrk-json-4"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">json</div></div></div></div>```json
{
    "data": {
        "ano": 24,
        "mes": 6,
        "codigoCredenciada": 1000210,
        "codigoPosto": 285401,
        "numeroSequencial": 100,
        "dataAbertura": 1720638951263,
        "numeroFornecedorAtendimento": null,
        "tipo": {
            "codigo": 2,
            "nome": "Carta"
        },
        "situacao": {
            "codigo": 3,
            "nome": "Cancelada"
        },
        "justificativaCancelamento": null,
        "respostaFornecedor": "",
        "consideracoesCredenciada": null,
        "textoNotificacaoConsumidor": null,
        "textoNotificacaoProcurador": null,
        "tipoResultado": null,
        "codigoFornecedor": 1,
        "nomeFornecedor": null,
        "codigoConsumidor": 1975831,
        "nomeConsumidor": "PXXXX LXXXXno",
        "dataRetornoConsumidor": 1724468400000,
        "codigoProcurador": null,
        "nomeProcurador": null,
        "indicadorDescumprimentoAcordo": null,
        "fornecedores": [
            {
                "textoNotificacao": "<p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">TERMO DE NOTIFICAÇÃO - CARTA ELETRÔNICA</span></span></font></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">Número de Atendimento: 2406031700100176301</span><br></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><br></font></p><p style=\"text-align: justify; line-height: 1;\"><font color=\"#212529\"><span style=\"font-weight: bolder;\"><span style=\"font-family: Arial; font-size: 11px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.,&nbsp;</span><span style=\"text-align: justify; font-family: Arial; font-size: 11px;\">além das possíveis sanções administrativas previstas no Código Defesa do Consumidor e legislações correlatas.</span><br></p><p style=\"text-align: justify; line-height: 1;\"><span style=\"color: rgb(33, 37, 41); font-family: Arial; font-size: 11px;\">10 de Julho de 2024</span><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p><p style=\"text-align: justify; line-height: 1;\"><br></p>",
                "dataAvisoRecebimento": null,
                "indicadorRespostaFornecedor": true,
                "indicadorPrazoProrrogado": false,
                "dataPrazoRespostaFornecedor": "2024-07-20",
                "indicadorParticipacaoEletronica": true,
                "indicadorParticipacaoCancelada": false,
                "indicadorAtendimentoEletronico": true,
                "respostaFornecedor": {
                    "data": 1721151781641,
                    "texto": "",
                    "anexos": [
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 10000210,
                                "postoAtendimento": 25451,
                                "numeroSequencial": 176,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 1
                            },
                            "nome": "DEFESA ADMINISTRATIVA PEDRO.pdf",
                            "dataInclusao": 1721151769225,
                            "tamanhoArquivo": 312446,
                            "objectKey": "1721769225_661e1_251.pdf",
                            "tamanhoArquivoStorage": 312446,
                            "numeroSequencial": 1
                        },
                        {
                            "chavePrimaria": {
                                "ano": 24,
                                "mes": 6,
                                "credenciada": 22000,
                                "postoAtendimento": 55441,
                                "numeroSequencial": 364,
                                "dataAbertura": 1720638951263,
                                "numeroFornecedorAtendimento": 1,
                                "numeroSequencialAnexo": 2
                            },
                            "nome": "PROCURAÇÃO FXXXX PXXXXON - Copia.pdf",
                            "dataInclusao": 1721151818284,
                            "tamanhoArquivo": 1708876,
                            "objectKey": "172XX1818284_da873_30e.pdf",
                            "tamanhoArquivoStorage": 1708876,
                            "numeroSequencial": 2
                        }
                    ]
                },
                "numeroFornecedorAtendimento": 1
            }
        ],
        "fornecedoresDetails": null
    },
    "responseAttrs": {}
}
```

<div class="_tableContainer_80l1q_1" id="bkmrk--20"><div class="absolute end-0 flex items-end"><div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div></div></div>#### <span style="background-color: rgb(241, 196, 15);">**Anexar arquivo na resposta do fornecedor**</span>

**POST `/resposta-fornecedor`**

<div class="_tableContainer_80l1q_1" id="bkmrk--21"><div class="absolute end-0 flex items-end">---

</div></div>**Payload da requisição**

<div class="_tableContainer_80l1q_1" id="bkmrk-par%C3%A2metro-tipo-obrig-3"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="915" data-start="393" style="width: 107.531%; height: 476.75px;"><thead data-end="513" data-start="393"><tr data-end="513" data-start="393" style="height: 29.7969px;"><th data-col-size="sm" data-end="418" data-start="393" style="width: 31.7676%; height: 29.7969px;">Parâmetro</th><th data-col-size="sm" data-end="427" data-start="418" style="width: 10.3806%; height: 29.7969px;">Tipo</th><th data-col-size="sm" data-end="441" data-start="427" style="width: 17.4315%; height: 29.7969px;">Obrigatório</th><th data-col-size="md" data-end="487" data-start="441" style="width: 21.508%; height: 29.7969px;">Descrição</th><th data-col-size="sm" data-end="513" data-start="487" style="width: 18.9122%; height: 29.7969px;">Exemplo</th></tr></thead><tbody data-end="915" data-start="636"><tr data-end="757" data-start="636" style="height: 29.7969px;"><td data-col-size="sm" data-end="661" data-start="636" style="width: 31.7676%; height: 29.7969px;">indicadorHouveRespostaFornecedor</td><td data-col-size="sm" data-end="670" data-start="661" style="width: 10.3806%; height: 29.7969px;">Boolean</td><td data-col-size="sm" data-end="684" data-start="670" style="width: 17.4315%; height: 29.7969px;">sim</td><td data-col-size="md" data-end="730" data-start="684" style="width: 21.508%; height: 29.7969px;">Indica se houve resposta</td><td data-col-size="sm" data-end="757" data-start="730" style="width: 18.9122%; height: 29.7969px;">true/false</td></tr><tr data-end="915" data-start="758" style="height: 29.7969px;"><td data-col-size="sm" data-end="783" data-start="758" style="width: 31.7676%; height: 29.7969px;">codigoFornecedor</td><td data-col-size="sm" data-end="792" data-start="783" style="width: 10.3806%; height: 29.7969px;">int</td><td data-col-size="sm" data-end="806" data-start="792" style="width: 17.4315%; height: 29.7969px;">sim</td><td data-col-size="md" data-end="874" data-start="806" style="width: 21.508%; height: 29.7969px;">Código do fornecedor</td><td data-col-size="sm" data-end="915" data-start="874" style="width: 18.9122%; height: 29.7969px;">123123</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">nomeFornecedor</td><td style="width: 10.3806%; height: 29.7969px;">string</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Nome do fornecedor</td><td style="width: 18.9122%; height: 29.7969px;">Aaaa Bbbb</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">indicadorAtendimentoEletronico</td><td style="width: 10.3806%; height: 29.7969px;">Boolean</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Indica o se foi atendimento eletrônico</td><td style="width: 18.9122%; height: 29.7969px;">true/false</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">numeroFornecedorAtendimento</td><td style="width: 10.3806%; height: 29.7969px;">int</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Número do fornecedor atendido</td><td style="width: 18.9122%; height: 29.7969px;">321321</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">dataRespostaFornecedor</td><td style="width: 10.3806%; height: 29.7969px;">string</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Data da resposta</td><td style="width: 18.9122%; height: 29.7969px;">dd/mm/yyyy</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">textoRespostaFornecedor</td><td style="width: 10.3806%; height: 29.7969px;">string</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Descrição da resposta</td><td style="width: 18.9122%; height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">anexos</td><td style="width: 10.3806%; height: 29.7969px;">List</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Arquivos para upload</td><td style="width: 18.9122%; height: 29.7969px;">123Exemplo.pdf</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">ano</td><td style="width: 10.3806%; height: 29.7969px;">int</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Ano em que foi feito o protocolo</td><td style="width: 18.9122%; height: 29.7969px;">2025</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">mes</td><td style="width: 10.3806%; height: 29.7969px;">int</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Mês em que foi feito o protocolo</td><td style="width: 18.9122%; height: 29.7969px;">07</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">codigoCredenciada</td><td style="width: 10.3806%; height: 29.7969px;">int</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Código da credenciada</td><td style="width: 18.9122%; height: 29.7969px;">54321</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">codigoPosto</td><td style="width: 10.3806%; height: 29.7969px;">int</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Código do posto</td><td style="width: 18.9122%; height: 29.7969px;">53412</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">numeroSequencial</td><td style="width: 10.3806%; height: 29.7969px;">int</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Número sequencial do protocolo</td><td style="width: 18.9122%; height: 29.7969px;">123454321</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">dataAbertura</td><td style="width: 10.3806%; height: 29.7969px;">Long</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Data da abertura do protocolo</td><td style="width: 18.9122%; height: 29.7969px;">dd/mm/yyyy</td></tr><tr style="height: 29.7969px;"><td style="width: 31.7676%; height: 29.7969px;">indicadorTratativaMaisRecente</td><td style="width: 10.3806%; height: 29.7969px;">Boolean</td><td style="width: 17.4315%; height: 29.7969px;">sim</td><td style="width: 21.508%; height: 29.7969px;">Indica se houve tratativa mais recente</td><td style="width: 18.9122%; height: 29.7969px;">true/false</td></tr></tbody></table>

</div></div></div></div><div class="_tableContainer_80l1q_1" id="bkmrk--22"><div class="absolute end-0 flex items-end">---

</div></div>**Respostas possíveis**

<div class="_tableContainer_80l1q_1" id="bkmrk-c%C3%B3digo-http-descri%C3%A7%C3%A3-1"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2716" data-start="2285"><thead data-end="2345" data-start="2285"><tr data-end="2345" data-start="2285"><th data-col-size="sm" data-end="2299" data-start="2285">Código HTTP</th><th data-col-size="md" data-end="2345" data-start="2299">Descrição</th></tr></thead><tbody data-end="2716" data-start="2407"><tr data-end="2533" data-start="2473"><td data-col-size="sm" data-end="2487" data-start="2473">`401`</td><td data-col-size="md" data-end="2533" data-start="2487">Não autorizado (token inválido/expirado)</td></tr><tr data-end="2594" data-start="2534"><td data-col-size="sm" data-end="2548" data-start="2534">`403`</td><td data-col-size="md" data-end="2594" data-start="2548">Acesso negado</td></tr><tr data-end="2655" data-start="2595"><td data-col-size="sm" data-end="2609" data-start="2595">`404`</td><td data-col-size="md" data-end="2655" data-start="2609">Protocolo não encontrada</td></tr><tr data-end="2716" data-start="2656"><td data-col-size="sm" data-end="2670" data-start="2656">`500`</td><td data-col-size="md" data-end="2716" data-start="2670">Erro interno no servidor</td></tr></tbody></table>

</div></div></div></div>

<div class="_tableContainer_80l1q_1" id="bkmrk--26"><div class="absolute end-0 flex items-end"><div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1">  
</div></div></div></div>

# template-api-dados-robo

#### **Visão geral**

- **bot**: `sample-rpa`
- **crendecial**: `usuário/senha`
- **url**: `endereço que o robô acessa`

#### **Descrição do robô:**

Descrever o fluxo que o robô faz no sistema alvo.

#### **Execução do robô (1:1)**

- Este robô deve ser usado através da nossa [API de itens 1:1](https://wiki.oystr.com.br/books/api-antes-de-avancar/page/api-de-itens-11 "API de itens 1:1").

<table id="bkmrk-campo-obrigat%C3%B3rio-ti" style="width: 99.7531%;"><thead><tr><th style="width: 16.4808%;">Campo</th><th style="width: 13.6307%;">Obrigatório</th><th style="width: 7.93061%;">Tipo</th><th style="width: 9.54151%;">Default</th><th style="width: 52.4164%;">Descrição</th></tr></thead><tbody><tr><td class="align-center" style="width: 16.4808%;">`numeroDossie`</td><td class="align-center" style="width: 13.6307%;">**Sim**</td><td class="align-center" style="width: 7.93061%;">String</td><td class="align-center" style="width: 9.54151%;">—</td><td style="width: 52.4164%;">O número do processo o qual será coletado os dados.</td></tr></tbody></table>

- **`POST`**: `ASYNC` `/execute/single` **Content-Type: `JSON`**

```
{
    "dry": false,
    "bot": "id-do-robo",
    "version": "v3.0.0-dev",
    "credentials": {
        "username": "usuario",
        "password": "senha"
    },
    "data": 
    {
        "numeroDossie":"2023/8XXXX-X"   
    }
}

```

- Esta requisição é [assíncrona](https://wiki.oystr.com.br/link/265#bkmrk-respostas-ass%C3%ADncrona).

#### **Resultado da execução**

- Quando o resultado estiver pronto (**200**), a API retorna um objeto com metadados e o payload de saída:

```
{
    "bot": "exyon-bmg-info",
    "version": "v3.0.0-dev",
    "request": "20260309101539XXXXXXUUH1vlbNX8v33KnLgGyrF9sTX13ZVL0bR",
    "account": 1,
    "user": 0021,
    "cid": null,
    "started": "2026-03-09T10:15:46.271-03:00[America/Sao_Paulo]",
    "ended": "2026-03-09T10:16:06.58-03:00[America/Sao_Paulo]",
    "taskTime": "20309ms",
    "timeout": "300000ms",
    "retry": "UNKNOWN",
    "dry": false,
    "finishedAs": "Response",
    "result": {
        "status": "Coleta baixada com sucesso",
        "numeroProcesso": "52XXXX72025XXXXX21",
        "dataInicio": "14/08/2025",
        "pais": "BRASIL",
        "municipio": "PASSO FUNDO",
        "numeral": "04",
        "instancia": "PRIMEIRA",
        "area": "SUBSÍDIOS BMG EM CONTA",
        "acao": "AÇÃO INDENIZATÓRIA",
        "juizo": null,
        "uf": "RIO GRANDE DO SUL",
        "orgaoTribunal": "TRIBUNAL DE JUSTIÇA - RIO GRANDE DO SUL",
        "denominacaoVara": "VARA CÍVEL",
        "esfera": "JUSTIÇA ESTADUAL",
        "assunto": "BMG EM CONTA",
        "rito": "RITO ORDINÁRIO",
        "escrevente": "",
        "codigoPoloAtivo": "XXX75XXX3",
        "nomePoloAtivo": "SXXXXX AXXXXXXXO NXXXXS",
        "qualificacaoPoloAtivo": "PARTE AUTORA",
        "codigoPoloPassivo": "XX60325XXX",
        "nomePoloPassivo": "BANCO BMG",
        "qualificacaoPoloPassivo": "PARTE RÉU",
        "valorInicial": "8.150,28"
    }
}

```

Diferentes [tipos de erro](https://wiki.oystr.com.br/link/265#bkmrk-requisi%C3%A7%C3%B5es-duplicad) que você poderá encontrar.