# Requisições

### Fazendo um Pedido

#### Anfitrião

O anfitrião para pedidos da Web API v1 é sempre `https://api.iafcertsearch.org/api/client/v1`

{% hint style="info" %}
Todos os pedidos devem ser feitos via HTTPS. A API não suporta HTTP.
{% endhint %}

#### Cabeçalho de Autorização

Você deve fornecer um cabeçalho de autorização conforme descrito em [Autenticação ](https://github.com/QualityTrade/iaf-docs-api-developer-guide-pt/blob/main/api-integration/broken-reference/README.md).

#### Verbos HTTP

* `GET` Obter um recurso ou grupo de recursos
* `POST` Criar um novo recurso
* `PUT` Atualizar um recurso existente
* `DELETE` Excluir um recurso existente
* `OPTIONS` Ver os verbos permitidos em relação a um recurso específico

#### Cabeçalho de Aceitação

A API fornece respostas JSON. Atualmente não requer o cabeçalho de aceitação, mas pode exigir no futuro. Se não estiver definido, a API usará `application/json`.

```http
GET https://api.iafcertsearch.org/api/client/v1/endpoint HTTP/1.1
Accept: application/json
```

#### Arrays de Dados

Quando você envia um array de dados em uma solicitação `GET`, você incluirá o parâmetro várias vezes no URL. O nome do parâmetro não requer colchetes.

```http
GET https://api.iafcertsearch.org/api/client/v1/endpoint?parameter=data1&parameter=data2 HTTP/1.1
```

### Formatando seu Pedido

#### Corpo do Pedido

Ao enviar dados para um recurso via `POST` ou `PUT`, você deve enviar seu payload em JSON.

```http
POST https://api.iafcertsearch.org/api/client/v1/example/ HTTP/1.1
Content-Type: application/json
```

```json
{
  "name": "novo nome de exemplo"
}
```

#### Paginação

Alguns recursos `GET` permitem a recuperação de informações por lotes. Forneceremos os parâmetros de consulta na documentação do recurso, quando aplicável.

Ao solicitar vários itens, definiremos o limite padrão da solicitação como `20` itens. Você pode especificar um limite diferente usando o parâmetro `limit` quando necessário. O valor máximo para o parâmetro `limit` que aceitamos é `100`.

Abaixo você pode ver um exemplo de uma solicitação de API que recupera os primeiros 100 registros especificados pelos parâmetros `limit=100` e `offset=0`.

Para recuperar o próximo lote de registros, incremente o parâmetro de deslocamento em `1`.

```http
GET https://api.iafcertsearch.org/api/client/v1/resource?limit=100&offset=0 HTTP/1.1
```

### Pedidos com Sucesso

| **Verbo** | **Objeto de recurso retornado**                                        |
| --------- | ---------------------------------------------------------------------- |
| GET       | Retorna um único objeto de recurso ou uma matriz de objetos de recurso |
| PATCH     | Retorna o objeto de recurso atualizado                                 |
| PUT       | Retorna o objeto de recurso atualizado                                 |
| DELETE    | Nenhum conteúdo é retornado                                            |
| POST      | Retorna o objeto de recurso recém-criado                               |
