Integração de APIs: como integrar sua aplicação com APIs de terceiros
Published: 2023-02-03 13:20:50

---
title: Integração de APIs: como integrar sua aplicação com APIs de terceiros
published: true
description: 
tags: 
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qxjo9bbjqmjh5dvx9hs5.png
# Use a ratio of 100:42 for best results.
# published_at: 2023-01-02 12:51 +0000
---

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 <token>".

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)

```


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)

```

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)
  })
})

```

```
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' })
  })
})

```

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);
});

```
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.