# API CRO

## Introdução

Esta API permite consultar e buscar informações sobre profissionais e estabelecimentos registrados nos Conselhos Regionais de Odontologia (CRO) do Brasil.

## API Consultar CRO (Consultar pelo CRO)

Consulta detalhes de um registro específico.

### Endpoint

`GET https://consultar.io/api/v1/cro/consultar`

### Requisição

| Parâmetro         | Tipo  | Obrigatório | Descrição                                                          | Exemplo  |
| ----------------- | ----- | ----------- | ------------------------------------------------------------------ | -------- |
| `uf`              | Texto | Sim         | UF do registro                                                     | `SP`     |
| `numero_registro` | Texto | Sim         | Número do registro (até 7 dígitos, zeros à esquerda são removidos) | `123456` |
| `categoria`       | Texto | Sim         | Categoria do profissional/estabelecimento                          | `cd`     |

### Resposta

| Parâmetro           | Tipo  | Descrição                                            | Exemplo              |
| ------------------- | ----- | ---------------------------------------------------- | -------------------- |
| `uf`                | Texto | UF do registro                                       | `SP`                 |
| `numero_registro`   | Texto | Número do registro                                   | `123456`             |
| `categoria`         | Texto | Categoria do profissional/estabelecimento            | `CIRURGIÃO-DENTISTA` |
| `nome_razao_social` | Texto | Nome ou razão social do profissional/estabelecimento | `JOÃO SILVA`         |
| `situacao`          | Texto | Situação do registro                                 | `ATIVO`              |

### Exemplos

#### Exemplo de Requisição (cURL)

```bash
curl -X GET 'https://consultar.io/api/v1/cro/consultar?uf=sp&numero_registro=123456&categoria=cd' -H 'Authorization: Token <seu-token>'
```

#### Exemplo de Resposta de Sucesso (200)

```json
{
  "uf": "SP",
  "numero_registro": "123456",
  "categoria": "CIRURGIÃO-DENTISTA",
  "nome_razao_social": "JOÃO SILVA",
  "situacao": "ATIVO"
}
```

#### Exemplo de Resposta de Erro (404)

```json
{
  "error": "NAO_ENCONTRADO",
  "message": "Nenhum registro foi encontrado para os parâmetros informados."
}
```

## API Buscar CRO (Buscar pelo Nome)

Realiza busca de profissionais/estabelecimentos pelo nome.

### Endpoint

`GET https://consultar.io/api/v1/cro/buscar`

### Requisição

| Parâmetro         | Tipo  | Obrigatório | Descrição                                            | Exemplo      |
| ----------------- | ----- | ----------- | ---------------------------------------------------- | ------------ |
| nome_razao_social | Texto | Sim         | Nome ou razão social do profissional/estabelecimento | `joao silva` |
| categoria         | Texto | Sim         | Categoria do profissional/estabelecimento            | `cd`         |

### Resposta

| Parâmetro         | Tipo  | Descrição                                            | Exemplo              |
| ----------------- | ----- | ---------------------------------------------------- | -------------------- |
| uf                | Texto | UF do CRO                                            | `SP`                 |
| numero_registro   | Texto | Número do registro                                   | `123456`             |
| categoria         | Texto | Categoria do profissional/estabelecimento            | `CIRURGIÃO-DENTISTA` |
| nome_razao_social | Texto | Nome ou razão social do profissional/estabelecimento | `JOÃO SILVA`         |

### Exemplos

#### Exemplo de Requisição (cURL)

```bash
curl -X GET 'https://consultar.io/api/v1/cro/buscar?nome_razao_social=joao%20silva&categoria=cd' -H 'Authorization: Token <seu-token>'
```

#### Exemplo de Resposta de Sucesso (200 OK)

```json
[
  {
    "uf": "SP",
    "numero_registro": "123456",
    "categoria": "CIRURGIÃO-DENTISTA",
    "nome_razao_social": "JOÃO SILVA"
  },
  {
    "uf": "SP",
    "numero_registro": "123457",
    "categoria": "CIRURGIÃO-DENTISTA",
    "nome_razao_social": "JOÃO DOS SANTOS SILVA"
  }
]
```

#### Exemplo de Resposta de Erro (404 Not Found)

```json
{
  "error": "NAO_ENCONTRADO",
  "message": "Nenhum registro foi encontrado para os parâmetros informados."
}
```

## Categorias

| Código                | Descrição                                               |
| --------------------- | ------------------------------------------------------- |
| `cd`                  | Cirurgião Dentista                                      |
| `tsb`                 | Técnico em Saúde Bucal                                  |
| `tpd`                 | Técnico em Prótese Dentária                             |
| `asb`                 | Auxiliar em Saúde Bucal                                 |
| `apd`                 | Auxiliar de Prótese Dentária                            |
| `estagiario`          | Estagiário                                              |
| `clinica-assistencia` | Clínica/Entidade Prestadora de Assistência Odontológica |
| `laboratorio`         | Laboratório de Prótese Dentária                         |
| `comercio-industria`  | Comércio/Indústria de Produtos Odontológicos            |

## Códigos de Status HTTP

| Código | Erro (error)             | Descrição                                             |
| ------ | ------------------------ | ----------------------------------------------------- |
| `400`  | `REQUISICAO_INVALIDA`    | Veja a mensagem de erro (message) para mais detalhes. |
| `403`  | `PLANO_INATIVO`          | Plano inativo. Faça uma Recarga.                      |
| `403`  | `CREDITOS_INSUFICIENTES` | Créditos insuficientes. Faça uma Recarga.             |
| `404`  | `NAO_ENCONTRADO`         | Registro não encontrado.                              |
| `500`  | `ERRO`                   | Veja a mensagem de erro (message) para mais detalhes. |
| `500`  | `ERRO_INTERNO`           | Ocorreu um erro inesperado no nosso sistema.          |
| `503`  | `SERVICO_INDISPONIVEL`   | Veja a mensagem de erro (message) para mais detalhes. |

## Timeout

A nossa API não retorna timeout. Caso seja necessário configurar um timeout na implantação, recomendamos utilizar **300 segundos**.

Verifique o timeout padrão da sua implantação, pois ele pode ser menor do que o tempo de resposta da API.

## Considerações

- Cada requisição "Consultar CRO" consome R$ 0,20 dos créditos
- Cada requisição "Buscar CRO" consome R$ 0,20 dos créditos
- Somente as respostas com os códigos de status `200` e `404` consomem créditos
- Limite máximo de 100 resultados na "Buscar CRO"
- Todas as requisições são registradas no histórico de transações
- O token de autenticação deve ser mantido em segurança
- Em caso de comprometimento do token, entre em contato com o Suporte

## Termos de Uso

Consulte os Termos de Uso em: [Termos de Uso](https://consultar.io/termos/?utm_source=docs&utm_medium=referral&utm_campaign=cro)
