Support client SMS
La disponibilité générale des SMS en fait une solution polyvalente pour l'assistance à la clientèle. Les numéros de téléphone peuvent être imprimés, lus et placés sur des sites web, ce qui permet à toute personne en ligne ou hors ligne d'entrer en contact avec votre entreprise.
Fournir une assistance à la clientèle par SMS est un moyen d'offrir un système de communication bidirectionnel complet à toute personne disposant d'un téléphone connecté à un réseau mobile.
Dans ce tutoriel
Vous construirez un système d'assistance à la clientèle par SMS en utilisant les API et les bibliothèques de Vonage.
Pour ce faire :
- Créer une application web de base - créer une application web de base avec un lien permettant d'ouvrir un ticket d'assistance.
- Acheter un numéro - acheter un numéro de téléphone Vonage pour envoyer des SMS et recevoir des SMS entrants
- Traiter un SMS entrant - accepter et traiter les SMS entrants reçus du client
- Envoyer un SMS de réponse avec un numéro de ticket - répondre avec un nouveau numéro de ticket lorsqu'un ticket est ouvert
Conditions préalables
Pour que ce tutoriel fonctionne, vous aurez besoin de :
- A Account Vonage
- Un serveur Web accessible au public pour que Vonage puisse faire des demandes de crochets Web à votre application. Si vous développez localement, vous devez utiliser un outil tel que ngrok
- Le code source de ce tutoriel provient de https://github.com/Nexmo/ruby-sms-customer-support/
- Tous les clients basés aux États-Unis doivent enregistrer une marque et une campagne afin de se conformer à la législation européenne. 10 lignes directrices DLC.
Une application Web de base
Pour ce tutoriel, commencez par une application web avec une seule page. L'utilisateur pourra cliquer sur un lien pour ouvrir son application SMS et demander de l'aide. Votre application collectera les SMS entrants et ouvrira un nouveau ticket. Enfin, l'application répondra par un nouveau SMS à l'utilisateur en confirmant son numéro de ticket.
Commencez par créer une application de base.
La page sera à la racine de notre application et fournira un lien vers votre application SMS avec un texte pré-rempli.
Ajouter une première page
app/views/pages/index.html.erb
<h1>ACME Support</h1>
<p>
<a href="sms://<%= ENV['VONAGE_NUMBER'] %>?body=Hi ACME, I'd like some help with: " class='button'>
Get support via SMS
</a>
</p>
Une fois ces éléments en place, le serveur peut être démarré.
Démarrage du serveur
Acheter un numéro de téléphone
Avant que l'application puisse recevoir un SMS, un numéro de téléphone Vonage doit être loué. Les numéros de téléphone peuvent être achetés à partir de la page d'accueil de tableau de bord ou directement à partir de la ligne de commande avec l'option CLI Vonage.
Enfin, Vonage doit être informé du point de terminaison du webhook auquel adresser une requête HTTP lorsqu'un SMS entrant est reçu. Cela peut se faire à l'aide de l'option tableau de bord ou le CLI Vonage.
Note: Assurez-vous que votre serveur fonctionne et qu'il est publiquement disponible avant d'essayer de configurer une nouvelle URL de rappel pour les webhooks. Lorsque vous configurez un nouveau webhook, Vonage appelle votre serveur pour confirmer qu'il est disponible.
Traiter un SMS entrant
Lorsque le client envoie son SMS, celui-ci est reçu par Vonage via le réseau de l'opérateur mobile. Vonage créera ensuite un webhook vers votre application.
Ce webhook contiendra le texte original envoyé, le numéro de téléphone d'où provient le message et quelques autres paramètres. Pour plus de détails, voir la page Message entrant documentation.
Votre application doit traiter le webhook entrant, extraire le texte et le numéro, ouvrir un nouveau ticket ou mettre à jour un ticket existant. S'il s'agit de la première demande d'un client, l'application doit lui envoyer un message de confirmation avec son numéro de ticket.
Pour ce faire, le message entrant est enregistré et un nouveau ticket est ouvert si le numéro n'a pas déjà un ticket ouvert.
Ajouter un ticket et un modèle de message
app/controllers/support_controller.rb
class SupportController < ApplicationController
def index
save_message
send_response
render nothing: true
end
private
def ticket
@ticket ||= Ticket.where(
number: params[:msisdn]
).first_or_create
end
def save_message
message = Message.create(
text: params[:text],
ticket: ticket
)
end
Envoyer un SMS de réponse avec un numéro de ticket
Pour envoyer la confirmation au SMS du client, ajoutez le SDK du serveur Vonage à votre projet.
Fichier de gemmes
gem 'vonage'
gem 'dotenv-rails'
Note: Pour initialiser le SDK Serveur, vous devez lui transmettre votre fichier Clé et secret de l'API. Nous vous recommandons vivement de ne pas stocker vos identifiants d'API dans votre code, mais d'utiliser des variables d'environnement.
Une fois la bibliothèque initialisée, l'application peut maintenant envoyer un SMS. N'envoyez une réponse que s'il s'agit du premier message sur ce ticket.
def send_response
return if ticket.messages.count > 1
client = Vonage::Client.new
result = client.sms.send(
from: ENV['VONAGE_NUMBER'],
to: ticket.number,
text: "Dear customer, your support" \
"request has been registered. " \
"Your ticket number is #{ticket.id}. " \
"We intend to get back to any " \
"support requests within 24h."
)
end
Conclusion
Dans ce tutoriel, vous avez appris à recevoir un SMS du téléphone d'un client et à lui envoyer un SMS de réponse. Grâce à ces extraits de code, vous disposez maintenant d'une solution d'assistance clientèle par SMS utilisant l'API SMS de Vonage.
Obtenir le code
Tout le code pour ce tutoriel et plus encore est disponible sur GitHub.