2017-08-02 4 views
0

Ich versuche, die Twilio-Implementierung meines Arbeitsplatzes durch eine temporäre Lösung zu ersetzen, während wir von einer Plattform zur anderen wechseln, und ich dachte Webtask wäre eine großartige Lösung. Ich war sehr glücklich zu sehen, dass es ein Standard-Twilio-Template für Webtask gab und dachte, ich könnte sofort mit der Arbeit beginnen, aber aus irgendeinem Grund kann ich die Vorlage nicht mit der Standardfunktion arbeiten lassen.Mit Postman eine Twilio Webtask testen

Ich mache mir Sorgen, dass ich nicht posten, was zu der Webtask erwartet wird. Hier ist der Standard-Code, der auf meiner webtask sitzt:

'use latest'; 
 
import twilio from 'twilio'; 
 
module.exports = (context, cb) => { 
 
    // POST a json object with at least the following properties. 
 
    const { body, to_number, from_number } = context.data; 
 
    const { TWILIO_SID, TWILIO_AUTH_TOKEN } = context.secrets; 
 
    
 
    var client = new twilio.RestClient(TWILIO_SID, TWILIO_AUTH_TOKEN); 
 
    client.messages.create({ 
 
    body, 
 
    to_number, 
 
    from_number 
 
    }, (err, message) => { 
 
    message = message + " Goodbye World!"; 
 
    if (err) return cb(err); 
 
    cb(null, message); 
 
    }); 
 
};

Und hier ist, was mein Postbote aussieht (mit meiner Twilio Telefonnummer und persönliche Telefonnummer versorgt FROM_NUMBER und to_number in dem eigentlichen Code Vs.). Headers: postman-headers Körper: postman-body

ich meine Auth-Token und SID in der Geheimnisse Bereich gespeichert haben. Wenn ich diesen Beitrag zu machen, erhalte I:

{ 
 
    "code": 400, 
 
    "error": "Script returned an error.", 
 
    "details": { 
 
     "status": 400, 
 
     "message": "A 'From' phone number is required.", 
 
     "code": 21603, 
 
     "moreInfo": "https://www.twilio.com/docs/errors/21603" 
 
    }, 
 
    "message": "A 'From' phone number is required." 
 
}

Ich habe mehrere Dinge ausprobiert, wie der FROM_NUMBER in der Code-Einstellung wie diese const from_number = "+19999999999" außer mit einer reellen Zahl. Trotzdem bekomme ich die gleiche 400 Antwort (ich habe auch versucht, die SID als Benutzernamen und den Auth Token als Passwort hinzuzufügen, wie in this answer erwähnt - dasselbe Ergebnis). Ich möchte wirklich Webtask arbeiten lassen, wenn irgend möglich.

+0

Darf ich die Twilo-Endpunkt-URL sehen? –

+0

Versuchen Sie diesen Weg https://i.stack.imgur.com/k6mYu.gif –

Antwort

0

Twilio Entwickler Evangelist hier.

Wenn Sie Twilio anrufen, um die Nachricht zu senden, verwenden Sie die falschen Attributnamen. Statt

client.messages.create({ 
    body, 
    to_number, 
    from_number 
    }, (err, message) => { //... }); 

es sein sollte:

client.messages.create({ 
    body, 
    to: to_number, 
    from: from_number 
    }, (err, message) => { //... }); 

Twilio erwartet, dass die Attribute to und from nicht to_number und from_number genannt werden.

Lassen Sie mich wissen, ob dies hilft.

+0

Dies hat definitiv geholfen. Am Ende habe ich keine Webtask benutzt, aber das war ein Problem, das in beiden Fällen bestehen geblieben wäre. Vielen Dank! –

+0

Froh, dass du alles sortiert hast! Wenn Sie für die Zukunft eine eigenständige Lösung für das Hosting eines Endpunkts benötigen, der diese Art von Arbeit erledigt, sollten Sie auch [Twilio-Funktionen] (http://twilio.com/functions) aufrufen. – philnash

+0

Das könnte genau das sein, was ich brauche, danke für den Link. Ich schätze es sehr. –