> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.erp.olist.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pesquisar Assuntos do CRM

> Serviço destinado a fazer consulta de assuntos do CRM.

## Endpoint

```
POST https://api.tiny.com.br/api2/crm.pesquisa.php
```

## Parâmetros

| Parâmetro       | Tipo   | Ocorrência  | Descrição                                                          |
| --------------- | ------ | ----------- | ------------------------------------------------------------------ |
| token           | string | obrigatório | Chave gerada para identificar sua empresa                          |
| formato         | string | obrigatório | Formato do retorno (json)                                          |
| pesquisa        | string | opcional    | Campo de pesquisa (busca por nome do cliente, assunto ou ação) (1) |
| estagioCliente  | string | opcional    | Estágio do cliente no CRM (1)                                      |
| estagioAssunto  | string | opcional    | Estágio do assunto no CRM (1)                                      |
| situacaoAssunto | string | opcional    | Situação do assunto no CRM (1)                                     |
| filtroPor       | string | opcional    | Opção de filtro por período (1)                                    |
| dataInicial     | string | opcional    | Data inicial no formato dd/mm/yyyy                                 |
| dataFinal       | string | opcional    | Data final no formato dd/mm/yyyy                                   |
| idVendedor      | string | opcional    | Número de identificação do vendedor (1)                            |
| nomeVendedor    | string | opcional    | Nome do vendedor na Olist (1)                                      |
| pagina          | int    | opcional    | Número da página                                                   |

> (1) Ao menos um dos parâmetros (pesquisa, estagioCliente, estagioAssunto, situacaoAssunto, filtroPor, idVendedor, nomeVendedor) deve ser informado.

## Retorno

| Campo                                         | Tipo   | Tamanho | Ocorrência  | Descrição                                 |
| --------------------------------------------- | ------ | ------- | ----------- | ----------------------------------------- |
| retorno                                       | object | -       | obrigatório | Elemento raiz do retorno                  |
| retorno.status\_processamento                 | int    | -       | obrigatório | Conforme tabela "Status de Processamento" |
| retorno.status                                | string | -       | obrigatório | "OK" ou "Erro"                            |
| retorno.codigo\_erro                          | int    | -       | condicional | Conforme tabela "Códigos de erro"         |
| retorno.erros\[]                              | list   | -       | condicional | Lista dos erros encontrados \[0..n]       |
| retorno.erros\[].erro                         | string | -       | condicional | Descrição do erro                         |
| retorno.pagina                                | int    | -       | obrigatório | Número da página retornada                |
| retorno.numero\_paginas                       | int    | -       | obrigatório | Número total de páginas                   |
| retorno.assuntos\[]                           | list   | -       | condicional | Lista de resultados da pesquisa           |
| retorno.assuntos\[].assunto.id                | int    | -       | condicional | ID do assunto na Olist                    |
| retorno.assuntos\[].assunto.cliente           | string | 50      | condicional | Nome do cliente                           |
| retorno.assuntos\[].assunto.estagio\_cliente  | string | 50      | condicional | Estágio do cliente no CRM                 |
| retorno.assuntos\[].assunto.texto\_assunto    | string | -       | condicional | Texto do assunto                          |
| retorno.assuntos\[].assunto.proxima\_acao     | string | -       | condicional | Próxima ação do assunto                   |
| retorno.assuntos\[].assunto.tipo\_data\_acao  | string | 1       | condicional | Tipo de data da ação                      |
| retorno.assuntos\[].assunto.data\_acao        | date   | 20      | condicional | Data da ação (dd/mm/yyyy) (2)             |
| retorno.assuntos\[].assunto.estagio\_assunto  | string | 1       | condicional | Estágio do assunto                        |
| retorno.assuntos\[].assunto.situacao\_assunto | string | 1       | condicional | Situação do assunto                       |

> (2) Campo data\_acao contém valor apenas quando tipo\_data\_acao é "D" (formato dd/mm/yyyy)

## Observações

* O parâmetro `nomeVendedor` é desconsiderado se `idVendedor` for informado
* Se o vendedor não for localizado, a consulta não retorna registros
* Caso `filtroPor` não contenha valores "C" ou "P", os parâmetros `dataInicial` e `dataFinal` serão ignorados
* Por padrão, são listados 100 registros por página
* Se `pagina` não for informado, o valor padrão é 1

## Exemplo de chamada

```bash theme={null}
curl -X POST https://api.tiny.com.br/api2/crm.pesquisa.php \
  -d "token=SEU_TOKEN&formato=json&pesquisa=cliente"
```

## Exemplos de retorno

### Erro - Token inválido

```json theme={null}
{
  "retorno": {
    "status_processamento": 1,
    "status": "Erro",
    "codigo_erro": 2,
    "erros": [
      {
        "erro": "token invalido"
      }
    ]
  }
}
```

### Erro - Sem resultados

```json theme={null}
{
  "retorno": {
    "status_processamento": 2,
    "status": "Erro",
    "codigo_erro": 20,
    "erros": [
      {
        "erro": "A Consulta não retornou registros"
      }
    ]
  }
}
```

### Sucesso

```json theme={null}
{
  "retorno": {
    "status_processamento": 3,
    "status": "OK",
    "pagina": "1",
    "numero_paginas": "1",
    "assuntos": [
      {
        "assunto": {
          "id": 123456,
          "cliente": "Cliente Teste",
          "estagio_cliente": "C",
          "texto_assunto": "Teste",
          "proxima_acao": "Ligar",
          "tipo_data_acao": "D",
          "data_acao": "10/01/2015",
          "estagio_assunto": "2",
          "situacao_assunto": "A"
        }
      },
      {
        "assunto": {
          "id": 123456,
          "cliente": "Cliente Teste",
          "estagio_cliente": "C",
          "texto_assunto": "Teste",
          "proxima_acao": "Ligar",
          "tipo_data_acao": "Q",
          "data_acao": "",
          "estagio_assunto": "2",
          "situacao_assunto": "A"
        }
      }
    ]
  }
}
```
