⚗️
Consumindo APIs com Elixir
  • Introdução
  • Sobre o autor
  • O valor desse livro
  • Introdução
    • Por que elixir?
    • Como ler este livro
    • Sobre o conteúdo do livro
  • Configurando ambiente
    • Instalando o Elixir
    • Criando um projeto
  • Construindo um cliente usando Tesla
    • Iniciando
    • Tesla
      • O que é o Tesla
      • Instalando Tesla
    • Criando o Client
    • Estruturando resposta
    • Estratégia de teste para requisições
    • Instalando Bypass
    • Mockando requisições do cliente com Bypass
    • Tratando dados da resposta
  • Problemas de API externa
    • Erro genérico
    • O que é o rate limit
    • Rate Limite de curta duração
      • Reexecutando uma requisição
    • Rate Limit de longa duração
      • Agendando uma nova tentativa de requisição
      • Configurações necessárias
      • Adicionando Ecto ao projeto
      • O que é o Oban
      • Instalando Oban
      • Criando uma requisição assíncrona
      • Configurando quantidade de tentativas no Oban
  • Compondo integrações
    • Level up
    • Marvel API
      • Criando uma conta
      • Lendo o endpoint de Comics
      • Criando o cliente da Marvel
        • Melhorando a segurança
      • Lidando com a resposta
    • Aproveitando ao máximo o Rate Limit
  • Em breve
    • WIP - Supervisor
    • WIP - OAuth
    • WIP - Cacheando requisições
Fornecido por GitBook
Nesta página

Isto foi útil?

  1. Introdução

Sobre o conteúdo do livro

AnteriorComo ler este livroPróximoInstalando o Elixir

Atualizado há 1 ano

Isto foi útil?

Comentei na introdução que estamos em uma era onde a integração de serviços geram novos produtos. Peças de lego ilimitadas para criarmos novas experiencias.

Imagine misturar:

  • Dados de hospedagem baratas

  • Dados de passagem barata

  • Atividades ao ar livre

  • Clima do local da viagem

  • Agenda pessoal de viagem

Você pode usar esses dados para oferecer atividades em Florianópolis a um usuário que gosta de atividade no sol, fazendo o planejamento para ele com base nos dias que ele quer tirar férias e adicionando possíveis eventos por perto.

Seria um trabalho gigantesco implementar tudo isso, time gigante deve estar a postos e um infra ainda mais cara. Porém, você pode utilizar serviços já criados:

  • Booking

  • Google Travel

  • Google Callendar

  • Real-Time Events Search

Agora basta conectar tudo isso.

A proposta deste livro é entendermos como utilizar serviços externos e lidar com suas limitações, provendo qualidade ao nosso projeto. Um produto completo tem essa cara:

Isso quer dizer, podemos lidar com N integrações de serviços externos ao mesmo tempo que entregamos respostas para consumidores que querem utilizar nosso serviço.

Nesse livro lidaremos apenas com a parte de integração. Não mostrarei como criar um serviço REST nem como os contextos podem se comunicar. Existem livros e artigos que falam sobre isso. Para deixar mais claro, trabalharemos nessa camada:

Se você já realizou alguma integração, sabe de limitações que podem ser imposta pelo serviço conectado:

  • Autenticação

  • Rate Limit

  • Lentidão

  • Indisponibilidade

Como podemos criar um produto, se somos reféns da integração? Claro que tudo tem um limite, mas podemos nos defender e criar um serviço com boa qualidade, seguindo algumas regras e padrões.

Bem, vamos lá.