Informações Gerais

A interface de programação/integração disponível no aplicativo IndexMed é uma API Restful. Abaixo você pode entender um pouco mais sobre este conceito e analisar como o aplicamos.

API

O acrônimo API que provém do inglês Application Programming Interface (Em português, significa Interface de Programação de Aplicações), trata-se de um conjunto de rotinas e padrões estabelecidos e documentados por uma aplicação A, para que outras aplicações consigam utilizar as funcionalidades desta aplicação A, sem precisar conhecer detalhes da implementação do software.

Desta forma, entendemos que as APIs permitem uma interoperabilidade entre aplicações. Em outras palavras, a comunicação entre aplicações e entre os usuários.

Arquitetura REST

A Representational State Transfer (REST), em português Transferência de Estado Representacional, é um estilo de arquitetura que define um conjunto de restrições e propriedades baseados em HTTP. Web Services que obedecem ao estilo arquitetural REST, ou web services RESTful, fornecem interoperabilidade entre sistemas de computadores na Internet. Os web services compatíveis com REST permitem que os sistemas solicitantes acessem e manipulem representações textuais de recursos da Web usando um conjunto uniforme e predefinido de operações sem estado. Estas operações são comumente conhecidas como Verbos/Métodos. Veja abaixo o conjunto de operações disponíveis em nossa API.

 

Métodos HTTP

Quando você vai fazer uma requisição, é preciso que você especifique qual o método será utilizado. Os métodos HTTP, identificam qual a ação que deve ser executada em um determinado recurso. Em nossa API disponibilizamos os seguintes 4 métodos:

  • GET Solicita a representação de um determinado recurso. É definido como um método seguro e não deve ser usado para disparar uma ação (remover um usuário, por exemplo).
  • POST As informações enviadas no corpo (body) da requisição são utilizadas para criar um novo recurso. Também é responsável por fazer processamentos que não são diretamente relacionados a um recurso.
  • DELETE Remove um recurso. Deve retornar o status 204 caso não exista nenhum recurso para a URI especificada.
  • PUT Atualiza um recurso na URI especificada. Caso o recurso não exista, ele pode criar um. A principal diferenteça entre POST e PUT é que o primeiro pode lidar não somente com recursos, mas pode fazer processamento de informações, por exemplo.

 

Status

Toda requisição recebe um código de resposta conhecido como status. Com o status é possível saber se uma operação foi realizada com sucesso (200), se ele foi movida e agora existe em outro lugar (301) ou se não existe mais (404).

Existem muitos status divididos em diversas categorias. Abaixo, seguem os códigos que utilizamos em nossa API:

  • 200 OK A requisição foi bem sucedida.
  • 301 Moved Permanently O recurso foi movido permanentemente para outra URI.
  • 302 Found O recurso foi movido temporariamente para outra URI.
  • 304 Not Modified O recurso não foi alterado.
  • 401 Unauthorized A URI especificada exige autenticação do cliente. O cliente pode tentar fazer novas requisições.
  • 403 Forbidden O servidor entende a requisição, mas se recusa em atendê-la. O cliente não deve tentar fazer uma nova requisição.
  • 404 Not Found O servidor não encontrou nenhuma URI correspondente.
  • 405 Method Not Allowed O método especificado na requisição não é válido na URI. A resposta deve incluir um cabeçalho Allow com uma lista dos métodos aceitos.
  • 410 Gone O recurso solicitado está indisponível mas seu endereço atual não é conhecido.
  • 500 Internal Server Error O servidor não foi capaz de concluir a requisição devido a um erro inesperado.
  • 502 Bad Gateway O servidor, enquanto agindo como proxy ou gateway, recebeu uma resposta inválida do servidor upstream a que fez uma requisição.
  • 503 Service Unavailable O servidor não é capaz de processar a requisição pois está temporariamente indisponível.

 

Regras de acesso

Abaixo seguem as regras de acesso à API IndexMed:

  • ✓ Chamadas apenas através do protocolo HTTPS
  • ✓ Dados de acesso válidos e enviados corretamente
  • ✓ Respeitar os limites de chamadas da cada Endpoint x Endereço IP x Chave API (por Segundo: 1, Minuto: 2, Hora: 5, Dia: 10, Semana: 1000)
  • ✓ Estar ciente que as ações via interface refletem automaticamente no aplicativo. Qualquer inclusão/atualização/exclusão de dados é definitiva

Autenticação

O Basic Authentication é o sistema de autenticação mais comum do protocolo HTTP. Ele é incluído no header da requisição HTTP dessa maneira:

Authorization: Basic {credenciais em base 64 no formato usuário:senha}

Estes dados de acesso a API são individuais por usuário e estão disponíveis na área Meu Perfil do App IndexMed. Atenção: Estes dados são sigilosos e dão acesso à toda informação disponível na sua assinatura, mantenha os em um lugar seguro. E caso acredite que tenha exposto indevidamente estes dados, entre em contato com nosso suporte (https://www.indexmed.com.br/central-de-ajuda) para solicitar a troca da sua Chave API.

Para saber mais sobre autenticação acesse: