DEV Community

Cover image for Integração de APIs: como integrar sua aplicação com APIs de terceiros
Matheus Chaves
Matheus Chaves

Posted on

Integração de APIs: como integrar sua aplicação com APIs de terceiros

Aqui estão alguns passos gerais para integrar sua aplicação com APIs de terceiros:

1.Encontre a API desejada: primeiro, você precisa encontrar a API que deseja integrar com sua aplicação. Existem vários sites que listam APIs disponíveis, como o RapidAPI ou o ProgrammableWeb, como também fornecedores "privados" que limitam o acesso as APIs, aqui segue um modelo de contato que pode ser enviado ao responsável por disponibilidade esse acesso:

Prezado(a) [nome do fornecedor],

Eu gostaria de solicitar o acesso às APIs da sua empresa e às credenciais de autenticação necessárias para integrá-las em minha aplicação. Estou muito interessado em usar as APIs em meu projeto e acredito que elas poderão trazer muitos benefícios.

Além disso, gostaria de saber se seria possível marcar uma video chamada para esclarecer qualquer dúvida e mostrar os primeiros passos na integração das APIs. Acho que isso seria muito útil e agilizaria o processo.

Obrigado pela atenção e estou à disposição para fornecer quaisquer outras informações que possam ser necessárias.

Atenciosamente,
[seu nome]

2.Obtenha as credenciais de autenticação: muitas APIs exigem que você tenha uma chave de API ou outras credenciais de autenticação para acessá-las. Você pode encontrar essas credenciais na documentação da API ou fazer o registro para obtê-las.

Existem vários tipos de autenticação de APIs, incluindo:

  • Autenticação baseada em chave: onde a API é acessada com uma chave única fornecida pela API.
  • Autenticação OAuth: onde o usuário fornece as credenciais para acessar a API através de um provedor de serviços de terceiros.
  • Autenticação baseada em token JWT: onde um token codificado é usado para autenticar e autorizar o acesso à API.
  • Autenticação HTTP básica: onde as credenciais são enviadas com a solicitação em uma string codificada base64.
  • Autenticação personalizada: onde uma empresa pode ter sua própria forma de autenticação específica.
  • Autenticação baseada em token básico: onde as credenciais são enviadas com a solicitação em uma string codificada base64.
  • Autenticação baseada em token bearer: onde um token codificado é enviado com a solicitação na cabeçalho HTTP como "Authorization: Bearer ".

Aqui estão exemplos de implementação dessas autenticações em Node.js:

Autenticação baseada em token básico:

var express = require('express')
var app = express()

var auth = function (req, res, next) {
  var authHeader = req.headers.authorization
  if (!authHeader) {
    res.status(401).send('Unauthorized')
    return
  }

  var token = authHeader.split(' ')[1]
  if (token !== 'secret_token') {
    res.status(401).send('Unauthorized')
    return
  }

  next()
}

app.use(auth)

app.get('/', function (req, res) {
  res.send('Welcome to the API')
})

app.listen(3000)

Enter fullscreen mode Exit fullscreen mode

Autenticação baseada em token bearer:

var express = require('express')
var app = express()

var auth = function (req, res, next) {
  var authHeader = req.headers.authorization
  if (!authHeader) {
    res.status(401).send('Unauthorized')
    return
  }

  var bearerToken = authHeader.split(' ')
  if (bearerToken[0].toLowerCase() !== 'bearer' || bearerToken[1] !== 'secret_token') {
    res.status(401).send('Unauthorized')
    return
  }

  next()
}

app.use(auth)

app.get('/', function (req, res) {
  res.send('Welcome to the API')
})

app.listen(3000)

Enter fullscreen mode Exit fullscreen mode

Observe que esses exemplos são apenas para fins didáticos e não são recomendados para uso em produção devido à falta de segurança na armazenagem de credenciais.

3.Teste a API: antes de começar a integrar a API com sua aplicação, é uma boa ideia testá-la para garantir que você entenda como ela funciona. Muitas APIs fornecem ferramentas de teste ou uma interface do usuário para fazer isso.
Existem muitas ferramentas e frameworks de teste para APIs, incluindo:

  • Postman: uma ferramenta de API popular que permite testar e documentar APIs.
  • Insomnia: uma ferramenta semelhante ao Postman, que fornece uma interface visual fácil de usar para testar APIs.
  • Jest: um framework de teste popular para JavaScript que pode ser usado para testar APIs.
  • Mocha: um framework de teste JavaScript que é amplamente utilizado para testes de unidade e integração.
  • Chai: uma biblioteca de assertividade que pode ser usada com qualquer framework de teste para escrever testes declarativos.
  • Supertest: uma biblioteca que facilita o teste de APIs HTTP em Node.js. Aqui estão alguns exemplos de código de teste de API usando o Jest e o Supertest:
const request = require('supertest')
const app = require('./app')

describe('GET /', () => {
  it('responds with a welcome message', (done) => {
    request(app)
      .get('/')
      .expect(200, 'Welcome to the API')
      .end(done)
  })
})

Enter fullscreen mode Exit fullscreen mode
const request = require('supertest')
const app = require('./app')

describe('API endpoints', () => {
  it('GET / should return a welcome message', async () => {
    const response = await request(app).get('/')
    expect(response.statusCode).toBe(200)
    expect(response.body).toEqual({ message: 'Welcome to the API' })
  })
})

Enter fullscreen mode Exit fullscreen mode

Esses exemplos mostram como usar o Supertest para fazer solicitações GET à API e verificar se a resposta é a esperada. Esses exemplos são apenas um ponto de partida para escrever testes de API, e você pode personalizá-los de acordo com as suas necessidades específicas.

4.Integre a API em sua aplicação: agora você está pronto para começar a integrar a API em sua aplicação. Isso pode envolver a escrita de código para fazer chamadas HTTP para a API e manipular a resposta.
Aqui está um exemplo de código para fazer uma consulta de API de previsão do tempo usando JavaScript com a biblioteca Axios e manipulação da resposta:

// Import Axios library
const axios = require('axios');

// Define API endpoint and parameters
const apiEndpoint = 'https://api.openweathermap.org/data/2.5/weather';
const city = 'London';
const apiKey = 'your_api_key';

// Make the API request
axios.get(apiEndpoint, {
    params: {
        q: city,
        appid: apiKey
    }
})
.then(function (response) {
    // Handle the successful response
    const weatherData = response.data;
    const temperature = weatherData.main.temp;
    const description = weatherData.weather[0].description;
    console.log(`The current temperature in ${city} is ${temperature}°C and the weather is ${description}.`);
})
.catch(function (error) {
    // Handle the error
    console.error(error);
});

Enter fullscreen mode Exit fullscreen mode

Observe que neste exemplo estamos usando a API OpenWeatherMap, mas você pode substituir o endpoint e os parâmetros pela API de previsão do tempo de sua escolha. Além disso, você precisa inserir sua própria chave de API para que o código funcione.

5.Teste a integração: depois de integrar a API em sua aplicação, é importante testar a integração para garantir que tudo esteja funcionando corretamente.

6.Documente a integração: finalmente, não se esqueça de documentar como você integrou a API em sua aplicação. Isso pode ser útil para você ou para outros desenvolvedores que precisam trabalhar com a integração no futuro.
Existem várias ferramentas de documentação de API disponíveis, aqui estão algumas das mais populares:

  • Swagger: é uma ferramenta de documentação de API que permite aos desenvolvedores descrever, produzir, consumir e visualizar API RESTful.

  • Postman: é uma plataforma de testes e documentação de API que permite aos desenvolvedores testar, documentar e compartilhar facilmente suas APIs.

  • API Blueprint: é uma linguagem de marcação de documentação de API que permite aos desenvolvedores descrever suas APIs de maneira clara e concisa.

  • RAML (RESTful API Modeling Language): é uma linguagem de marcação para descrever APIs RESTful, que permite aos desenvolvedores criar modelos de API facilmente compreendidos.

  • OpenAPI: é uma especificação de API aberta que permite aos desenvolvedores descrever suas APIs de maneira clara e consistente, independentemente da linguagem de programação ou plataforma.

Estas são apenas algumas das ferramentas de documentação de API disponíveis, e a escolha depende das necessidades e preferências de cada equipe de desenvolvimento.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay