Ruby

Criar rotas

Vamos adicionar três rotas HTTP ao server.rb arquivo, dois GET rotas e uma POST trajeto.

O primeiro GET A rota iniciará uma nova chamada telefônica assim que for acessada. A segunda GET A rota dará as boas-vindas ao destinatário com uma saudação. A POST A rota enviará as instruções de streaming de áudio para a Voice API assim que a chamada for atendida:

get '/new' do
  response = client.voice.create(
    to: [{ type: 'phone', number: ENV['VONAGE_NUMBER'] }],
    from: { type: 'phone', number: ENV['TO_NUMBER'] },
    answer_url: ["#{BASE_URL}/answer"],
    event_url: ["#{BASE_URL}/event"]
  )

  puts response.inspect
end

get '/answer' do
  content_type :json
  [
    {
      :action => 'stream',
      :streamUrl => ['https://raw.githubusercontent.com/nexmo-community/ncco-examples/gh-pages/assets/welcome_to_nexmo.mp3'],
      :loop => 0
    }
  ].to_json
end

post '/event' do
  data = JSON.parse(request.body.read)
  response = client.voice.stream.start(data['uuid'], stream_url: [AUDIO_URL]) if data['status'] == 'answered'
  puts response.inspect
end