Ruby

Crear rutas

Añadiremos tres rutas HTTP al directorio server.rb archivo, dos GET rutas y una POST ruta.

La primera GET iniciará una nueva llamada telefónica tras acceder a ella. La segunda GET dará la bienvenida al destinatario con un saludo. La dirección POST enviará las instrucciones de transmisión de audio a la Voice API una vez que se haya respondido a la llamada:

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