Skip to content

Latest commit

 

History

History
188 lines (150 loc) · 7.71 KB

README.md

File metadata and controls

188 lines (150 loc) · 7.71 KB

API do Monde

Se precisar de ajuda, entre em contato pelo canal de suporte.

Sobre a API Versão 2

A API segue 100% a especificação JSON:API. Algumas informações rápidas para facilitar:

  • Todas as requisições devem ser feitas para https://web.monde.com.br/api/v2
  • Atualmente a autenticação é realizada por token (JWT), seguindo a RFC 7591.
  • Toda requisição deve ser HTTPS e ter Content-Type: application/vnd.api+json adicionado ao Header.

Fazendo uma requisição

O processo se dá em dois passos: Autenticação e Requisição. Sendo que a Autenticação não precisa ser realizada todo momento, e pode ser realizado apenas quando o token expirar(a cada 1 hora).

Passo 1 - Autenticação:

Já que o endpoint da autenticação é POST api/v2/tokens Em cURL (para você tentar na sua shell), podemos fazer assim:

curl "https://web.monde.com.br/api/v2/tokens" -d '{ "data": {"type": "tokens", "attributes": {"login": "[email protected]","password": "u4K2EJwGFL" } } }' -X POST \
	-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiI4MzJkMjFmMS02ZDU0LTQzMjItYWUyNS05M2NkNGJhNzQ5ZmYiLCJpc3N1ZXIiOiJNb25kZSIsInNjaGVtYSI6Im1vbmRlc2lzdGVtYXMiLCJleHAiOjE2MzU0NTM0MzR9.HVW91M7lSA07syCxPPdVJOSi8M7Z9nGQ5ZxPz-JyriA" \
	-H "Accept: application/vnd.api+json" \
	-H "Content-Type: application/vnd.api+json"

A resposta da requisição vai parecer com o que está abaixo:

{
  "data": {
    "id": "832d21f1-6d54-4322-ae25-93cd4ba749ff",
    "type": "tokens",
    "links": {
      "self": "http://web.monde.com.br/api/v2/tokens/832d21f1-6d54-4322-ae25-93cd4ba749ff"
    },
    "attributes": {
      "login": "admin",
      "token": "TOKEN_DE_ACESSO"
    }
  }
}

PS: Tome nota da chave que está em TOKEN_DE_ACESSO

Passo 2 - Requisição:

No nosso exemplo vamos listar todas as pessoas da nossa base. Sabemos que o endpoint da API para fazer isso é o GET api/v2/people (ver todos os endpoints) e já temos nosso TOKEN_DE_ACESSO

export TOKEN_DE_ACESSO="SEU_TOKEN_DE_ACESSO"

curl -g "https://web.monde.com.br/api/v2/people" -X GET \
     -H "Authorization: Bearer $TOKEN_DE_ACESSO" \
     -H "Accept: application/vnd.api+json" \
     -H "Content-Type: application/vnd.api+json"

A resposta da requisição vai parecer com o que está abaixo:

{
  "data": [
    {
      "id": "ac4a4562-b7be-460d-b92e-5edb3aec9408",
      "type": "people",
      "links": {
        "self": "http://web.monde.com.br/api/v2/people/ac4a4562-b7be-460d-b92e-5edb3aec9408"
      },
      "attributes": {
        "name": "Ordonhes e Associados",
        "company-name": "Lima S.A.",
        "address": "1st Street",
        "number": "899",
        "complement": "Casa",
        "district": "St. John",
        "zip": "89999000",
        "birth-date": "1986-11-22",
        "cpf": "40414847318",
        "rg": "1234456",
        "passport-number": "86761376254815494020",
        "passport-expiration": "2031-10-28",
        "gender": null,
        "cnpj": null,
        "city-inscription": "1234567890",
        "state-inscription": "1234567890",
        "observations": "nothing to note",
        "registered-at": "2021-10-28T16:37:16.683-03:00",
        "business-phone": "",
        "mobile-phone": "",
        "phone": "4991782812",
        "email": "[email protected]",
        "website": "https://www.site.com.br",
        "code": 118048,
        "kind": "individual"
      },
      "relationships": {
        "city": {
          "links": {
            "self": "http://web.monde.com.br/api/v2/people/ac4a4562-b7be-460d-b92e-5edb3aec9408/relationships/city",
            "related": "http://web.monde.com.br/api/v2/people/ac4a4562-b7be-460d-b92e-5edb3aec9408/city"
          }
        },
        "creator": {
          "links": {
            "self": "http://web.monde.com.br/api/v2/people/ac4a4562-b7be-460d-b92e-5edb3aec9408/relationships/creator",
            "related": "http://web.monde.com.br/api/v2/people/ac4a4562-b7be-460d-b92e-5edb3aec9408/creator"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://web.monde.com.br/api/v2/people?page%5Bnumber%5D=1&page%5Bsize%5D=50",
    "last": "http://web.monde.com.br/api/v2/people?page%5Bnumber%5D=1&page%5Bsize%5D=50"
  }
}

Erros e Códigos de resposta HTTP

Para análise dos erros da API veja o código de resposta HTTP, abaixo alguns códigos mais comuns e possíveis soluções:

  • 200: Tudo está correto.
  • 201: Registro criado com sucesso
  • 301: Redirecionamento (veja se o caminho está correto ou analise a documentação para saber se o seu endpoint não foi alterado)
  • 401: Não autorizado (seu usuário ou senha estão errados ou seu token pode ter expirado)
  • 403: Não permitida essa ação
  • 404: Não encontrado (possivelmente você errou o endpoint, ou algum header do endpoit, ou o registro no eciste)
  • 422: Erro na validação dos dados
  • 500: Algum problema pode estar acontecendo nos nossos servidores, nos avise que tentaremos resolver o mais rápido possível.

Formatos

Endpoints da API

Autenticação

Pessoas

Tarefas

Categorias de Tarefa

Histórico de Tarefas

Cidades