Skip to content

monde-sistemas/monde-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 

Repository files navigation

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 é 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": "admin@mondesistemas.monde.com.br","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": "pasquale_ward@schaefer.com",
        "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