Ruby

Créer des itinéraires

Nous allons ajouter trois routes HTTP à l'interface server.rb dossier, deux GET et un POST l'itinéraire.

Le premier GET L'itinéraire commencera un nouvel appel téléphonique une fois qu'il aura été consulté. Le deuxième itinéraire GET route accueillera le destinataire avec un message d'accueil. L'itinéraire POST La route enverra les instructions audio en continu à la Voice API une fois que l'appel aura été pris :

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