## Mapeamento de endpoints
- listagem de ofertas ✅-
- verificar se o cliente ja tem merchant cadastrado ✅ - `/merchants?legal_document_number`
- cadastro inicial de merchant ✅
- atualização de dados de merchant( endereço,etc ) ✅
- iniciar qualificação ✅
- validar qualificação ✅
- criar pedido ✅
- criar processo de validação do pedido ✅
- checar status pedido ✅
- listar POS por merchant? aguardando para saber se é possivel :x:
## Integração Getnet
- [Documentação referência](https://api-homologacao.getnet.com.br/api-doc/#)
### Variáveis para ambiente de testes
| Variável | Valor |
| ----------- | ----------- |
| **BASE_URL** |https://api-homologacao.getnet.com.br/v1
## Endpoints
## 1.Listagem ofertas e de modelos de maquininhas
- método: `GET`
- endpoint: `/offerings/`
### Contexto:
Os modelos de dos POSs disponíveis para cada oferta, estarão dentro de uma lista retornado na resposta da chamada ao endpoint acima, e dentro de cada oferta da lista, haverá um campo chamado `items`, que conterá uma lista de modelos de POSs disponíveis naquela oferta.
- As taxas referente a cada maquininha são encontradas dentro de cada item no exemplo listado mais abaixo.
`product(service).pricing_model(discount fee).percentage`, referencia [aqui](https://api-homologacao.getnet.com.br/api-doc#)
Request exemplo:
```curl
curl -X GET 'https://api-homologacao.getnet.com.br/v1/offerings?channel=santander_front&fiscal_type=natural_person&country=BR' -H 'Content-Type: application/json' -H 'Authorization: eyAiYWxnIjogIkhTMjU2IiwidHlwIjogIkpXVCIgfQ.ew0KCSJpc3MiOiIxMC4xMzMuMzIuMTk3IiwJDQoJImV4cGlyZXNfaW4iOiIzMDAiLA0KCSJhY2Nlc3NfdG9rZW4iOiJjMzFmNTJkZi03MTdmLTRiYzQtYTM3My1lYzEwNjFhOGE2ODIiLAkNCgkiY2hhbm5lbCI6InNhbnRhbmRlcl9mcm9udCIsDQoJImJyYW5jaCI6IjIyMDY4MSIsDQoJImxvZ2luIjoiZmxhdmlvZiIsDQoJIm5hbWUiOiJGbGF2aW8gRmFndW5kZXMiLA0KCSJlbnJvbGxtZW50X251bWJlciI6IjYwNzEwMDgiDQp9.0uLtmsNKsgeAxzOQxTTdFhloFtqcBDOqE3Ksy1Lny5Q'
```
#### Query params necessários para diferenciar ofertas de pessoas juridicas e físicas na consulta:
### Para pessoa jurídica
| Parametro | Valor | Tipo merchant |
| ------------------------------- | ------- | --------------- |
| fiscal_type | company | Pessoa jurídica |
| acquirer_merchant_category_code | 7008 | Pessoa jurídica |
- Exemplo:
```
offerings/?country=BR&channel=santander_front&fiscal_type=company&acquirer_merchant_category_code=7008
```
### Para pessoa física
| Parametro | Valor | Tipo merchant |
| ------------------------------- | --------------- | --------------- |
| acquirer_merchant_category_code | 5014 | Pessoa física |
| fiscal_type | natural_person | Pessoa física |
| settlement_period | installments_31 | Pessoa física |
- Exemplo:
```
/offerings?country=BR&channel=santander_front&fiscal_type=natural_person&acquirer_merchant_category_code=5014&settlement_period=installments_31
```
## 2. Verificação de proposta para o merchant por cnpj (validação de cadastro):
- método: `GET`
- endpoint: `/merchants?legal_document_number`
```curl
curl --location -g --request GET 'https://api-homologacao.getnet.com.br/v1/merchants?legal_document_number=59671348000153'
```
## 3. Cadastro de merchant
- método: `POST`
- endpoint: `/merchants`
**Importante**: Após gerar um novo merchant, será necessário iniciar o processo de qualificação.
## 4. Atualização de merchant( caso não tenha adicionado endereços)
- método: `POST`
- endpoint: `/merchants`
**Importante**: Após gerar um novo merchant, será necessário iniciar o processo de qualificação.
## 5. Verificação de um merchant por id:
- método: `GET`
- endpoint: `/merchants/{merchant_id}`
Request exemplo:
```curl
curl --location -g --request GET 'https://api-homologacao.getnet.com.br/v1/merchants/500924a8-3f5e-4c00-beb8-2efcde988aea'
```
**Nota**: É possível verificar se um merchant está cadastrado com sucesso, através do campo **situation.status**.
| Status possíveis |
| ---------------- |
| created |
| accepted |
| rejected |
| approved |
| reproved |
| canceled |
## 6. Iniciar qualificação de um merchant
- método: `POST`
- endpoint: `/merchants/{merchant_id}/qualification`
Após o situation.status do merchant estar aprovado, será possível solicitar a maquininha
## 7. Consultar status de qualificação de um merchant
- método: `GET`
- endpoint: `/merchants/{merchant_id}/qualification`
## 8. Solicitação de um POS
- método: `POST`
- endpoint: `/orders`
Após criar um merchant e ter sua qualificação aprovada, será possível chamar essa rota para iniciar a solicitação de um pedido.
## 9. Processo de validação de pedido
- método: `POST`
- endpoint:`orders/{order_id}/validation`
## 10. Consultar status de uma solicitação de maquininha
- método: `GET`
- endpoint: `/orders/{order_id}`
Dentro do campo `situation.status` será possível identificar o status de um pedido. A lista de status é a seguinte, referencia [aqui](https://api-homologacao.getnet.com.br/api-doc/) acessando a aba de **orders**→**listar pedido por id**:
| Status de um pedido |
| ------------------- |
| created |
| submittedrejected |
| approved |
| cancelled |
| payment_pending |
| fulfillment_pending |
| cancel_time |
| closed |
## 11. Listagem de maquininhas de uma conta e seus status
- Não identificado na documentação, confirmar com parceiro
## 12. Solicitação de POS para um usuário já cadastrado e qualificado
Apenas realizar o processo da [etapa 4](https://hackmd.io/UPj2v_ZzRMCQcG4Mle-5mw?view#5-Solicita%C3%A7%C3%A3o-de-um-POS), se um merchant tiver status `approved`.
## 13. Tracking de entrega
- método: `GET`
- endpoint: `/tracking?merchant_id=`
Listará todos os pedidos e seus dados de tracking.