https://a.storyblok.com/f/270183/277065/ece00fd1c5/nodejs-sdk-update-2400x1200-1.png

O SDK para servidor Node.js da Nexmo passou a oferecer suporte à substituição do host

Publicado em April 27, 2021

Tempo de leitura: 1 minuto

Recentemente, lançamos a versão 2.6.0 do nosso SDK para Node.js e adicionamos a possibilidade de alterar o host usado para fazer as solicitações HTTP.

Por quê?

Esse recurso permite que você substitua os hosts padrão, api.nexmo.com e rest.nexmo.com, no SDK. Um dos casos de uso mais comuns para esse recurso é contornar o balanceador de carga e direcionar as solicitações HTTP para um de nossos data centers específicos por localização, por exemplo, api-sg-1.nexmo.com.

Vamos dar uma olhada no nosso "Fazer uma chamada de saída com um NCCO" e alterá-lo para usar o Data Center de Cingapura ao fazer a ligação.

const Nexmo = require('nexmo')

const nexmo = new Nexmo({
  apiKey: NEXMO_API_KEY,
  apiSecret: NEXMO_API_SECRET,
  applicationId: NEXMO_APPLICATION_ID,
  privateKey: NEXMO_APPLICATION_PRIVATE_KEY_PATH
}, {
  apiHost: 'api-sg-1.nexmo.com'
})

nexmo.calls.create({
  to: [{
    type: 'phone',
    number: TO_NUMBER
  }],
  from: {
    type: 'phone',
    number: NEXMO_NUMBER
  },
  ncco: [{
    "action": "talk",
    "text": "This is a text to speech call from Nexmo"
  }]
});

Olhando com atenção, a única alteração que fizemos no trecho de código foi adicionar um objeto de opções na Nexmo instância, com uma apiHost propriedade.

Outro caso de uso comum para esse recurso é utilizar um proxy ou gateway para inspecionar suas solicitações antes que elas sejam encaminhadas para a API da Nexmo. Vamos usar o curlhub para inspecionar todo o nosso tráfego de API.

curlhub interfacecurlhub interface

Depois que você se cadastrar, o curlhub fornece um Bucket Id. Por exemplo, n43s3qc13thd. Isso é acrescentado a qualquer host que você queira redirecionar. Portanto, se quisermos redirecionar api.nexmo.com, o host correspondente do curlhub é api-nexmo-com-n43s3qc13thd.curlhub.io. A mesma lógica se aplica a rest.nexmo.com, e o host correspondente do curlhub é rest-nexmo-com-n43s3qc13thd.curlhub.io.

Para utilizá-los como proxies para as solicitações feitas pelo nosso SDK, teremos que adicionar o apiHost e restHost propriedades à nossa new Nexmo instância.

const Nexmo = require('nexmo')

const nexmo = new Nexmo({
  apiKey: NEXMO_API_KEY,
  apiSecret: NEXMO_API_SECRET,
  applicationId: NEXMO_APPLICATION_ID,
  privateKey: NEXMO_APPLICATION_PRIVATE_KEY_PATH
}, {
  apiHost: 'api-nexmo-com-n43s3qc13thd.curlhub.io',
  restHost: 'rest-nexmo-com-n43s3qc13thd.curlhub.io'
})

O que vem a seguir

Estamos trabalhando para aprimorar nosso SDK do Node.js, e você pode acompanhar nosso progresso em https://github.com/nexmo/nexmo-node. Se você tiver alguma sugestão ou problema, sinta-se à vontade para relatá-los no GitHub ou em nossa Slack da comunidade.

Compartilhar:

https://a.storyblok.com/f/270183/384x384/dabe7c5397/laka.png
Alex LakatosEx-funcionários da Vonage

Alex Lakatos é um Developer Advocate de JavaScript na Nexmo. Em seu tempo livre, ele atua como voluntário na Mozilla como palestrante técnico e mentor do programa Reps. Como desenvolvedor de JavaScript que trabalha na web aberta, ele vem ampliando seus limites a cada dia. Quando não está programando em Londres, ele gosta de viajar pelo mundo; por isso, é provável que você o encontre em um lounge de aeroporto.