Ich habe Twilio über twilio-ruby mit meiner Rails App integriert. Die grundlegenden SMS- und Sprachfunktionen funktionieren wie erwartet, aber jetzt möchte ich meine Funktionalität erweitern. Ich möchte in der Lage sein, TwiML in meinem Controller dynamisch zu generieren, irgendwo (lokal oder in einem Dienst) zu speichern und Twilio dann auf dieses XML zugreifen zu lassen. Zum Beispiel, ein Kunde macht eine Bestellung über meine App, TwiML wird generiert und gespeichert, und dann macht Twilio einen Sprachanruf an meinen Lieferanten mit den neuen Bestelldaten. Wie sieht die Lösung bei gleichzeitigen Bestellungen aus? Was ist die beste Lösung, TwiML/XML zu speichern und Twilio dann darauf zugreifen zu lassen? Vielen Dank.Wie erzeuge ich TwiML dynamisch aus meiner Rails App?
Antwort
Die dynamische Generierung des TwiML während des Aufrufs scheint die bevorzugte Methode zu sein.
Ein Beispiel zur Erzeugung von TwimL Inhalt dynamisch aus der docs, wo wir einen Anrufer mit Namen begrüßen:
https://www.twilio.com/docs/quickstart/ruby/twiml/greet-caller-by-name#twiml-quickstartrb
require 'rubygems'
require 'sinatra'
require 'twilio-ruby'
get '/hello-monkey' do
people = {
'+14158675309' => 'Curious George',
'+14158675310' => 'Boots',
'+14158675311' => 'Virgil',
'+14158675312' => 'Marcel',
}
name = people[params['From']] || 'Monkey'
Twilio::TwiML::Response.new do |r|
r.Say "Hello #{name}"
end.text
end
Statt einen people
Array Ihrer Anwendung eingehende Nachricht Körper analysieren müßte (wenn SMS) für die Bestellung verwenden und dann den entsprechenden Anruf beim Lieferanten tätigen.
Wenn Ihr Use Case tatsächlich die Erstellung von gehostetem TwiML im laufenden Betrieb erfordert, können Sie dies in Kürze mit TwiML Bins in the Twilio Console durch Interpolation tun.
Das bedeutet, würden Sie in der Lage sein, etwas zu tun:
curl -X POST api.twilio.com/..../Calls -d 'Url=https://hander.twilio.com/EHxxx?message=hello+world' -u Cxxx:yyyy
Und Ihre TwiML Ist die notwendige TwiML enthalten würde:
zu machen <Response><Say>{{message}}</Say></Response>
Auf diese Weise würden Sie nicht brauchen, um zwei Ruheanrufe und würden nicht Tausende (oder mehr) redundanter Behälter ansammeln, die schwer zu warten oder aufzuräumen sind.
Danke für den Kommentar. Leider hat das Generieren während des Anrufs nicht zu meiner Implementierung geführt. Ich entschied mich, TwiML in Amazon S3 zu schreiben und Twilio dann darauf zugreifen zu lassen. Alles funktioniert wie geplant. Vielen Dank. –
Ah Gotcha, nachdem ich gestern gepostet habe, fing ich an zu überlegen, wie man das mit TwiML Bins machen könnte (zB http://stackoverflow.com/questions/24494782/is-there-a-way-to-programmatic-create-a) -twimlbin). Diese werden jetzt von Twilio in der Konsole gehostet und ich habe mich mit dem Team angemeldet, um herauszufinden, dass sie eine Interpolation hinzufügen möchten. Ich werde meine Antwort mit diesen Tipps für die Zukunft aktualisieren. Trotzdem bin ich froh, dass Ihre Lösung mit Amazon S3 Ihren Bedürfnissen entspricht. Ich hatte nicht daran gedacht. –
- 1. Wie frage ich eine Datenbank aus meiner Rails App?
- 2. Wie erzeuge ich dynamische Elemente dynamisch?
- 3. Wie erzeuge ich RDOC für (alle) Rails?
- 4. Wie erzeuge ich Zufallszahlen aus [0,1]?
- 5. Wie kann ich alle Modelle in meiner Rails-App durchlaufen?
- 6. Wie erzeuge ich Slug aus chinesischem Text?
- 7. modinfo srcversion: Wie erzeuge ich das von meiner Quelle?
- 8. Wie definiere ich Zeilenhöhe mit Prawn, wenn ich eine PDF in Rails App erzeuge?
- 9. Wie erzeuge ich dynamisch Spalten in einem WPF DataGrid?
- 10. Wie kann ich Watir die Werte aus dieser Tabelle in Instanzvariablen in meiner Rails App scrappen?
- 11. Wie lösche ich alle Caches für ausgehende API-Anfragen aus meiner Rails-App?
- 12. Wie kann ich in meiner Rails 2.3-App statische Assets aus einem gebündelten Juwel synchronisieren?
- 13. Wie erzeuge ich eine Wolken-URL vom Rails-Controller
- 14. Wie erzeuge ich eine inline clientseitige Warnung in Rails 4
- 15. Erzeuge DTOs aus Objekt
- 16. Stripe und tax_percent in meiner Rails App
- 17. Wie erzeuge ich Zufallsidenticons?
- 18. Wie erzeuge ich Bildrauschen?
- 19. Wie kann ich Crashlytics aus meiner iOS App entfernen?
- 20. Wie gebe ich kostenlose Testkopien meiner kostenpflichtigen Android App aus?
- 21. Wie öffne ich eine externe URL aus meiner App?
- 22. Hinzufügen von App-Widget aus meiner App
- 23. Pakete aus meiner App identifizieren
- 24. rails s funktioniert nicht mit meiner app
- 25. Wie erzeuge ich einen gemeinsamen Hash aus mehreren Passwörtern?
- 26. Bootstrap funktioniert nicht wie es sollte auf meiner Rails App
- 27. Wie füge ich react-router support zu meiner rails 5 app mit react-rails hinzu
- 28. wie zu dienen Twiml Nodejs
- 29. Wie erzeuge ich Mehrwortbegriffe rekursiv?
- 30. Wie erzeuge ich folgende Matrix?
Gibt es einen Grund, es vorübergehend zu speichern, anstatt das TwiML während eines Anrufs dynamisch zu generieren? –