2014-05-02 2 views
3

Le API states status_callback est: "Une URL que Twilio demandera lorsque l'appel se termine pour avertir votre application." Ok, donc ... est-ce que cette URL exécute TwiML ou non?quel est le point du paramètre StatusCallback de twilio?

Je suis vraiment confus.

require 'twilio-ruby' 

account_sid = '##' 
auth_token = '##' 

@client = Twilio::REST::Client.new account_sid, auth_token 

@client.account.calls.create({ 
    :from => '+18005550199', 
    :to => '+10000000000', 
    :url => 'http://thisurl.com/blahblah/outbound.xml', #plays a message to :to 
    :status_callback => "http://i don't know what to do here or if this url is supposed to execute TwiML" 
}) 
+1

Je vous suggère de poster la partie de code et d'expliquer comment vous vous attendez à ce que cela fonctionne et à la façon dont il ne répond pas à vos attentes. En l'état la question ne me donne aucun indice de ce que vous essayez de faire, s'il vous plaît ne nous laissez pas google tout. – Patru

+0

Terminé. Je suis confus par l'explication de l'API doc du paramètre, donc je n'ai vraiment aucune idée de comment l'utiliser. Le paramètre: url exécute TwiML, et je m'attendrais à ce que: status_callback fasse la même chose - n'eut été du fait qu'il n'y a pas de commandes TwiML pour gérer les données dont le paramètre est censé s'occuper. – sabaeus

+1

Étant donné que vous avez tagué cette question avec 'ruby' (que je suis), vous devriez fournir un contexte de ce que vous voulez réaliser avec' twillio', il semble que ce soit un système pour "faire et recevoir des appels téléphoniques". Vous devriez au moins fournir un lien vers le site Web approprié. – Patru

Répondre

3

Une demande de faire un appel téléphonique peut prendre un certain temps « long » (en termes de requêtes Web qui signifie « quelques secondes »). Par conséquent, l'API ne peut pas répondre avec un seul code de retour, mais elle met à jour votre statut après un certain temps en utilisant une URL de post-retour. Essayez de fournir une URL à votre propre application et voyez ce qui revient.

Le problème est pour ce faire, vous aurez probablement besoin d'une application déployée que vous avez besoin d'une URL accessible au public de le faire (et localhost se pas faire :-). Vous devrez donc configurer un domaine de test, mais très probablement, vous pourrez utiliser un sous-domaine, comme beta.mydomain.com afin de déterminer ce que vous obtiendrez.

La plupart des exemples qu'ils montrent sur leur site Web semblent être en PHP, mais les rappels qu'ils fournissent après un appel semblent s'attendre à être appelés après "un certain temps" si une connexion peut être établie.

L'API-Link vous ont permis aux États assez clairement

Après appel se termine, Twilio fera une requête HTTP asynchrone l'URL StatusCallback si vous avez fourni un dans votre POST. Cela se produira quel que soit l'état de l'appel.

de sorte que ce que vous devez vous attendre, un asynchronous HTTP request à la liaison de rappel que vous fournissez. Ceci est fait de manière asynchrone car Twillio ne peut pas maintenir une connexion http pour la durée (indéfinie) de votre appel. Donc, vous devez fournir avec un URL tel que

http://beta.mydomain.com/call-me-back-here 

et le fil à une voie appropriée (le plus probablement un POST -request).

+0

Je me sens même stupide de poser cette question, mais ... quelle URL est supposée être utilisée pour: status_callback? Le paramètre: url est supposé exécuter TwiML, et j'ai cette partie tout en place. Ma confusion vient du fait que ça ne semble pas: status_callback est censé faire la même chose. – sabaeus

+1

En utilisant l'URL que vous fournissez dans 'status_callback', twillio publiera une requête HTTP sur votre application web une fois l'appel terminé.Il y a un ensemble de paramètres spécifiés dans les API-docs qui finiront dans le 'params' Hash (dans Rails speak) et vous informeront de l'appel. Dans les API-docs, vous pouvez trouver que ': status_callback' est facultatif et même ignoré si vous fournissez' ApplicationSid'. Il ne sera certainement * pas * utilisé pour exécuter TwiML. P.S .: Ne vous sentez jamais mal de poser une question. – Patru

Questions connexes