Pour vérifier si l'appareil d'un utilisateur est compatible avec les RCS et peut communiquer avec un agent RBM, vous pouvez demander les fonctionnalités de l'appareil. Identifier les fonctionnalités un appareil compatible, le cas échéant, permet à votre agent d'adapter la conversation fonctionnalités de l'appareil et éviter de présenter des interactions difficiles, voire impossibles à effectuer pour l'utilisateur.
Si l'appareil d'un utilisateur n'est pas du tout en mesure de recevoir les messages RCS, vous pouvez communiquer avec l'utilisateur par le biais d'autres services, tels que les SMS.
Envoyer une vérification des capacités
Le code suivant envoie une vérification des capacités et attend une réponse. Pour
de mise en forme et de valeur, consultez
getCapabilities
cURL
curl -X GET "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/capabilities?requestId=REQUEST_ID&agentId=AGENT_ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Send a capability check to the device rbmApiHelper.checkCapability('+12223334444', function(response) { // Print capabilities of the device console.log(response); });
Java
import com.google.rbm.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Check the capabilities of the device boolean capability = rbmApiHelper.getCapability("+12223334444");
Python
# Reference to RBM Python client helper from rcs_business_messaging import rbm_service # Send the tester invite to a device response = rbm_service.make_cap_request('+12223334444')
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Register the device as a tester Capabilities capabilities = rbmApiHelper.GetCapability("+12223334444");
Réponse de capacité
Après avoir exécuté une vérification des capacités, la plate-forme RBM renvoie une liste au format JSON prises en charge par l'appareil spécifié.
{ "features": [ "REVOCATION", "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION", ] }
Si vous envoyez une vérification des capacités à un utilisateur qui n'est pas joignable par RBM, par exemple,
si son appareil n'est pas compatible avec le RCS, la plate-forme RBM renvoie une erreur 404
.
Si vous envoyez une vérification de capacité à un utilisateur RCS sur un réseau sur lequel
votre agent n'est pas encore lancé, la plate-forme RBM renvoie une erreur 403
.
Vérifications groupées des fonctionnalités
Pour estimer le nombre d'utilisateurs joignables par RBM, effectuez une vérification groupée des capacités. Groupée les vérifications indiquent si un numéro de téléphone est joignable, mais pas les fonctionnalités dont un assistance téléphonique.
Vous pouvez indiquer jusqu'à 10 000 numéros de téléphone par contrôle de capacité groupée. Pour vérifier plus de chiffres, effectuez plusieurs vérifications. Utilisez la fonctionnalité de vérification groupée des capacités Script pour utiliser des fichiers CSV comme format de saisie.
Les vérifications de capacité groupées autorisent un maximum de 600 requêtes par minute (RPM).
Les vérifications groupées des fonctionnalités renvoient une liste des numéros sur lesquels votre agent peut atteindre des opérateurs sur lesquels elle est disponible, ainsi que des estimations du nombre total que vous puissiez toucher les utilisateurs, quel que soit l'opérateur. Consultez la section Réponse de la vérification des capacités groupées.
Estimer le nombre total d'utilisateurs atteignables
Alors que les réponses de la vérification groupée incluent une liste de numéros de téléphone
accessibles immédiatement par les opérateurs lancés par votre agent.
(reachableUsers
), les réponses incluent également deux valeurs qui peuvent vous aider à estimer
le nombre total d'utilisateurs atteignables (tous opérateurs confondus).
Lorsque votre agent effectue une vérification groupée
de plus de 500 numéros de téléphone,
RBM échantillonne aléatoirement environ 75% de ces numéros pour vérifier tous les opérateurs
(signalé dans totalRandomSampleUserCount
). RBM renvoie également le nombre de
Nombres joignables par RBM issus de l'échantillon aléatoire, quel que soit le lancement par l'opérateur
(reachableRandomSampleUserCount
). En divisant
reachableRandomSampleUserCount
d'ici le totalRandomSampleUserCount
, vous pouvez
Estimer le pourcentage d'utilisateurs que votre agent pourrait atteindre s'il était lancé
tous les opérateurs.
Par exemple, si vous spécifiez 5 000 numéros de téléphone dans la vérification des capacités groupées,
et RBM échantillonnent aléatoirement environ 75% des nombres spécifiés.
totalRandomSampleUserCount
peut être 3750
. Si reachableRandomSampleUserCount
est 3000
, cela signifie que 80% des nombres échantillonnés étaient accessibles.
Le test d'échantillons aléatoires peut entraîner des écarts en pourcentage. Pour prendre en compte de l'échantillonnage aléatoire, effectuez des vérifications de capacité groupées avec de plus grandes quantités numéros de téléphone. Vous pouvez également effectuer des vérifications avec les mêmes lots de numéros plusieurs fois, puis calculer la moyenne des résultats pour normaliser l'échantillonnage aléatoire. comportemental.
Envoyer une vérification des capacités groupées
Le code suivant envoie une vérification des capacités groupées et attend une réponse. Pour
de mise en forme et de valeur, consultez
users.batchGet
Les numéros de téléphone doivent être au format E.164. Exemple : "+12223334444".
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/users:batchGet?agentId=AGENT_ID \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \ -d '{ "users": [ "PHONE_NUMBER", ] }'
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Specify phone numbers let phoneNumbers = ['+12223334444', '+12223334444']; // Perform a bulk capability check rbmApiHelper.getUsers(phone_numbers, function(response) { // Print the bulk capability check response console.log(response); });
Java
import com.google.rbm.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Perform a bulk capability check BatchGetUsersResponse batchGetUsersResponse = rbmApiHelper.getUsers(Arrays.asList("+12223334444", "+12223334444"));
Python
# Reference to RBM Python client helper from rcs_business_messaging import rbm_service # Perform a bulk capability check response = rbm_service.make_batch_cap_request(['+12223334444', '+12223334444'])
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Perform a bulk capability check BatchGetUsersResponse batchGetUsersResponse = rbmApiHelper.GetUsers(new List({"+12223334444", "+12223334444"}));
Réponse de la vérification des capacités groupées
Après avoir exécuté une vérification des capacités groupées, RBM renvoie une réponse au format JSON.
{ "reachableUsers": [ "PHONE_NUMBER" ], "totalRandomSampleUserCount": "COUNT_OF_SAMPLE", "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE" }
Champ | Description |
---|---|
reachableUsers
|
La liste des utilisateurs accessibles sur le réseau les opérateurs lancés. |
totalRandomSampleUserCount
|
Nombre d'un échantillon aléatoire des de chiffres. Généralement environ 75% des nombres spécifiés. |
reachableRandomSampleUserCount
|
Nombre de nombres aléatoires qui soient accessibles par RBM via tous les opérateurs, quel que soit les opérateurs avec lesquels l'agent est lancé. |
Outil: script de vérification groupée des fonctionnalités
La Script de vérification des capacités Buck (Connectez-vous à télécharger) effectue des vérifications groupées des capacités à l'aide de fichiers CSV comme formats d'entrée et de sortie. Le script analyse le fichier CSV des fichiers MSISDN et utilise le RBM SDK pour vérifier les fonctionnalités de chaque appareil listé.
Machine virtuelle dotée de deux processeurs et de 4 Go de RAM exécutant le script avec 500 threads peut atteindre environ 1 000 RPS, mais le nombre total de RPS dépend de la machine utilisée, du le pays des appareils, la configuration régionale de votre agent et l'API point de terminaison utilisé.
Prérequis
Avant d'utiliser l'outil pour effectuer une vérification des capacités groupées, procurez-vous les éléments suivants:
- Chemin d'accès à un fichier CSV avec des MSISDN pour effectuer des vérifications de capacité sur
- Chemin d'accès à la clé du compte de service de votre agent sur votre ordinateur de développement
De plus, les logiciels suivants doivent être installés sur votre machine:
- Apache Maven version 3.3.9 ou ultérieure
- Java 8.
Configurer
- Sur votre ordinateur de développement, téléchargez et extrayez le fichier Script de vérification groupée des fonctionnalités (Connectez-vous à télécharger).
- Suivez la procédure décrite dans le fichier README.
Effectuer une vérification groupée
- Dans un terminal, accédez au répertoire racine du script.
Exécutez les commandes suivantes :
export MAVEN_OPTS="-Xms1024m -Xmx3000m"
mvn compile && mvn exec:java -Dexec.args="AGENT_ID INPUT_FILE OUTPUT_FILE NUM_OF_THREADS START_INDEX END_INDEX"
Remplacez les variables par les valeurs que vous avez identifiées.
Remplacer Par Exemple AGENT_ID ID de l'agent RCS Business Messaging welcome-bot
INPUT_FILE Chemin d'accès au fichier CSV d'entrée. input.csv
OUTPUT_FILE Chemin d'accès au fichier CSV de sortie. output.csv
NUM_OF_THREADS Nombre de threads à dédier des capacités. 500
START_INDEX Facultatif. La valeur du fichier CSV à commencer à effectuer des vérifications. 5
END_INDEX Facultatif. La valeur du fichier CSV à et terminer les vérifications après. 500
Une fois l'exécution du script terminée, ouvrez le fichier CSV de sortie pour afficher les résultats.