---
# System prepended metadata

title: Services API - Affiliates

---

# Services API - Affiliates

> Todas os endpoints são autenticados pelo token JWT que deve ser enviado no header da requisição:

```json
Authorization: Bearer eyJh.......WertyPrV
```
> O token a ser enviado no header, é adquirido no endpoint de authorize

> Todas as requisições deve ter o `Content-Type: application/json` para serem válidas.

---

### https://services-api-stg.pravaler.com.br/affiliates/auth - `POST`

##### Payload `JSON`
```json
{
  public_key: md5
}
```

> HASH MD5: `24a5b7b0080e781ba2397ecccba6aac1`

> Optamos por manter a criação do JWT atrás desse MD5, por se tratar de uma ferramenta interna e de uso prioritário de sistema para sistema.

##### Response - `200`
```json
{
  token: eyJh.......WertyPrV
}
```
> O token gerado tem expiração em 24h a partir do momento que é gerado

##### Error - `401`
```json
{
  message: 'Public key not authorized or not provided'
}
```

---

### https://services-api-stg.pravaler.com.br/affiliates/verify - `POST`

##### Payload `JSON`
```json
{
  cpf: varchar(100)
}
```
> Campo de CPF a ser consultado para o estado da matrícula, entradas permitidas:
> `"12345678900"`
> `"123.456.789-00"`
> entradas não permitidas:
> `12345678900`



##### Response - `200`
```json
{
  veteran: bool, 
  active: bool
}
```
##### Error - `401` - Erro padrão caso o token não seja enviado no header
```json
{
  status: 401
  message: "The provided token is not authorized"
}
```
##### Error - `400` 
```json
{
  status: 400
  message: [Context specific error message]
}
```

---


### https://services-api-stg.pravaler.com.br/affiliates/converted - `POST`

##### Payload `JSON`
```json
{
  date: date,
  limit: int,
  indicateds: [
    varchar(100),
	...
  ]
}
```
> **date**: DD-MM-YYYY (if this property has sent, indicateds is ignored),
**limit** (optional): 1-9999, if not sended, or sended 0 or null, limit is seted to 1000;
**indicateds**: one or mores CPF to consulting specific indicateds (if this property has sent, date is ignored)
*if 'date' and 'indicateds' are sended, date have priority on request*



##### Response - `200`
```json
[
  {
    cpf: varchar(50),
    email: varchar(200),
    status: bool
  },
  {
    cpf: varchar(50),
    email: varchar(200),
    status: bool
  },
  ...
]
```
> Retorno da lista de convertidos dentro dos parametros definidos com cpf, email e status do afiliado em nossa base

> cpf: lista o afiliado da nossa base,email: email do afiliado na nossa base,status: retorna true se o status na nossa base for correspondente a convertido, se não, retorna false.

> Disclaimer of internal status on pravaler base:
    - Em preenchimento de cadastro ( 0.0 e 40.12 );
    - Envio de documentos ( 40.13 e 50.0 )
    - Convertido ( 51.0 e 51.1 )

##### Error - `401` - Erro padrão caso o token não seja enviado no header
```json
{
  status: 401
  message: "The provided token is not authorized"
}
```
##### Error - `400` 
```json
{
  status: 400
  message: [Context specific error message]
}
```

---


### https://services-api-stg.pravaler.com.br/affiliates/register - `POST`

##### Payload `JSON`
```json
{
  cpf: varchar(100),
  name: varchar(255), 
  email: varchar(100),
  phone: int,
  how_know: varchar(10)
}
```
> cpf: "12345678900"
> name: "Fulano da Silva",
> email: "fulanodasilva@dominio.com.br,
> phone: 13991191919,
> how_know: "Saber em Rede"



##### Response - `200`
```json
{
  token: varchar(255)
}
```
> Retorna token de validação de início de cadastro do indicado, no Pravaler, a ser utilizado para o seguimento do processo de cadastro, exemplo:https://cadastro.pravaler.com.br/?origin={saber_em_rede_origin}&token={token_recebido_no_response_da_requisição}?utm_source=saberemrede&utm_medium=afiliados&utm_campaign=cadastroprv 

##### Error - `401` - `Erro padrão caso o token não seja enviado no header`
```json
{
  status: 401
  message: "The provided token is not authorized"
}
```
##### Error - `400`
```json
{
  status: 400
  message: [Context specific error message]
}
```