2017-10-11 3 views
0

J'essaie twilio services et l'envoi de notification fonctionne bien, mais je ne peux pas mettre en place le repli de sms correctement car ce n'est pas vraiment documenté.Comment remplir les données SMS dans la notification

HashMap<String, Object> smsNumbers = new HashMap<>(); 
smsNumbers.put("?", "?"); 
LOGGER.debug("Adding SMS fallback to: {}", smsNumbers); 

LOGGER.debug("Calling sendNotification to {}", identity); 
Notification notification = Notification 
    .creator(twilioServiceSid) 
    .setBody(message) 
    .setData(data) 
    .setIdentity(identity) 
    .setSms(smsNumbers) 
    .create(restClient); 

Je reçois l'erreur suivante:

com.twilio.exception.ApiException: Parameter 'Sms' contains unrecognized property. 
at com.twilio.rest.notify.v1.service.NotificationCreator.create(NotificationCreator.java:316) [twilio-7.15.1.jar:] 

Comment remplir le HashMap?

+0

Vous pouvez passer null à setSms. Cela fonctionnera –

+0

Vérifiez cette page https://www.twilio.com/docs/api/notify/rest/notifications –

Répondre

0

Twilio développeur évangéliste ici.

Lors de la définition des données qui seront envoyées sur des canaux SMS à partir d'une notification, vous pouvez définir l'une des touches suivantes pour passer outre la notification générale: body, media_urls, status_callback et max_price.

Donc, si vous voulez envoyer un corps alternatif par SMS, utilisez le code suivant:

HashMap<String, Object> smsNumbers = new HashMap<>(); 

smsNumbers.put("body", "This is just for the SMS notifications"); 

LOGGER.debug("Adding SMS fallback to: {}", smsNumbers); 


LOGGER.debug("Calling sendNotification to {}", identity); 
Notification notification = Notification 
    .creator(twilioServiceSid) 
    .setBody(message) 
    .setData(data) 
    .setIdentity(identity) 
    .setSms(smsNumbers) 
    .create(restClient); 

Laissez-moi savoir si cela aide.

+0

Ok pour être sûr que je le comprends clairement. Dans le cas où la notification push échoue, la notification sera envoyée par SMS en utilisant le corps optionnel mis dans le HashMap? À quel numéro de téléphone le SMS sera-t-il envoyé? – Mektoub

+0

Ce n'est pas ce qui va se passer dans ce cas, non. Vous choisissez une identité à laquelle envoyer des messages. Actuellement, pendant la version bêta publique, Notify prend en charge la [fan-out orchestration] (https://www.twilio.com/docs/api/notify#orchestrations) qui enverra la notification à chaque liaison que vous avez associée à cette identité. . [Plus d'orchestrations, y compris les tentatives et le repli] (https://www.twilio.com/docs/api/notify#orchestrations) seront lancés au fur et à mesure que le produit arrivera à maturité. Ce code vous permet d'envoyer un message différent aux liaisons avec des numéros de téléphone à d'autres notifications. – philnash