Testy możliwości

Aby sprawdzić, czy urządzenie użytkownika obsługuje protokół RCS i może komunikować się z agenta RBM, możesz zapytać o możliwości urządzenia. Identyfikowanie funkcji urządzenie obsługuje, o ile w ogóle ma to miejsce, umożliwiając agentowi dostosowanie rozmowy. do możliwości urządzenia i unikaj prezentacji interakcji, które jest trudny lub niemożliwy do wykonania.

Jeśli urządzenie użytkownika w ogóle nie może odbierać wiadomości RCS, możesz komunikować się z użytkownikiem za pomocą innych usług, takich jak SMS-y.

Wyślij sprawdzenie możliwości

Poniższy kod umożliwia sprawdzenie możliwości i oczekiwanie na odpowiedź. Dla: opcji formatowania i wartości, patrz 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);
});
Ten kod pochodzi z przykładowego agenta RBM.

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");
Ten kod pochodzi z przykładowego agenta RBM.

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')
Ten kod pochodzi z przykładowego agenta RBM.

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");
Ten kod pochodzi z przykładowego agenta RBM.

Odpowiedź dotycząca możliwości

Po sprawdzeniu możliwości platforma RBM zwraca listę w formacie JSON. funkcji obsługiwanych przez dane urządzenie.

{
  "features": [
    "REVOCATION",
    "RICHCARD_STANDALONE",
    "RICHCARD_CAROUSEL",
    "ACTION_CREATE_CALENDAR_EVENT",
    "ACTION_DIAL",
    "ACTION_OPEN_URL",
    "ACTION_SHARE_LOCATION",
    "ACTION_VIEW_LOCATION",
  ]
}

Jeśli wyślesz prośbę o sprawdzenie możliwości do użytkownika, który jest nieosiągalny przez RBM, na przykład jeśli urządzenie nie obsługuje RCS, platforma RBM zwraca błąd 404.

Jeśli wysyłasz użytkownikowi RCS w sieci, w której agent nie został jeszcze uruchomiony, platforma RBM zwraca błąd 403.

Zbiorcze sprawdzanie możliwości

Aby oszacować liczbę użytkowników, do których można dotrzeć w ramach RBM, przeprowadź zbiorcze sprawdzanie możliwości. Zbiorczy wskazuje, czy numer telefonu jest osiągalny, ale nie zawiera który obsługuje numer telefonu.

Możesz określić do 10 000 numerów telefonów na zbiorcze sprawdzenie możliwości. Aby sprawdzić więcej numerów, przeprowadź kilka testów. Korzystanie ze zbiorczego sprawdzenia możliwości Script, by użyć plików CSV jako formatu wejściowego.

Zbiorcze kontrole możliwości mogą obejmować maksymalnie 600 zapytań na minutę (QPM).

Zbiorcze kontrole możliwości zwracają listę numerów, na które pracownik obsługi klienta może się kontaktować u wszystkich operatorów, w których jest dostępny, oraz szacunkowe dane dotyczące łącznej liczby osiągalnych rozwiązań dla wszystkich operatorów. Zapoznaj się z sekcją Zbiorcza kontrola możliwości – odpowiedź.

Oszacuj łączną liczbę osiągalnych użytkowników

Odpowiedzi na sprawdzanie zbiorcze obejmują listę numerów telefonów które są natychmiast dostępne u operatorów, którzy uruchomili agenta. (reachableUsers) odpowiedzi zawierają też 2 wartości, które pomagają oszacować łączna liczba osiągalnych użytkowników wszystkich operatorów.

Gdy przedstawiciel przeprowadzi zbiorczą kontrolę możliwości ponad 500 numerów telefonów, RBM losowo sprawdza ok. 75% z tych liczb, aby sprawdzić wszystkich operatorów (dane zgłoszenia: totalRandomSampleUserCount). RBM zwraca również liczbę Liczby dostępne dla RBM z losowej próbki, niezależnie od wprowadzenia operatora stan (reachableRandomSampleUserCount). Dzieląc reachableRandomSampleUserCount do totalRandomSampleUserCount, możesz oszacuj odsetek liczb, do których agent może dotrzeć, gdyby został uruchomiony wszystkich operatorów.

Jeśli na przykład w zbiorczym sprawdzaniu możliwości określisz 5000 numerów telefonów, a RBM losowo próbkuje ok. 75% podanych liczb, totalRandomSampleUserCount może mieć wartość 3750. Jeśli reachableRandomSampleUserCount wynosi 3000, osiągało 80% próbkowanych liczb.

Testowanie próbek losowych może prowadzić do różnic w wartościach procentowych. Aby uwzględnić losowych próbek, przeprowadzać zbiorcze kontrole możliwości z większą liczbą numerów telefonów. Możesz też sprawdzać te same partie liczb uśredniać wyniki, aby znormalizować próbkowanie losowe. zachowanie użytkownika.

Wyślij zbiorczą kontrolę możliwości

Podany niżej kod wysyła zbiorczą kontrolę możliwości i czeka na odpowiedź. Dla: opcji formatowania i wartości, patrz users.batchGet

Numery telefonów muszą mieć format E.164. Przykład: „+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);
});
Ten kod korzysta z przykładu RBM konsultantem.

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"));
Ten kod korzysta z przykładu RBM konsultantem.

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'])
Ten kod korzysta z przykładowego agenta RBM.

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"}));
Ten kod korzysta z przykładu RBM konsultantem.

Odpowiedź na zbiorczą kontrolę możliwości

Po zbiorczym sprawdzeniu możliwości RBM zwraca odpowiedź w formacie JSON.

{
  "reachableUsers": [
    "PHONE_NUMBER"
  ],
  "totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
  "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}
Pole Opis
reachableUsers Lista osiągalnych użytkowników na operatorów, którzy uruchomili usługę.
totalRandomSampleUserCount Liczba losowej próbki określonych liczby. Zwykle ok. 75% podanych liczb.
reachableRandomSampleUserCount Liczba liczb losowej próbka osiągalna przez RBM u wszystkich operatorów, niezależnie od u których operatorów jest uruchomiony agent.

Narzędzie: skrypt zbiorczej kontroli możliwości

Skrypt kontroli zdolności Buck (Zaloguj się w pobieranie) umożliwia zbiorcze sprawdzanie możliwości, używając plików CSV jako formatów wejściowych i wyjściowych. Skrypt analizuje plik CSV z nazwami MSISDN i używa RBM pakietu SDK, aby sprawdzić możliwości każdego wymienionego urządzenia.

Maszyna wirtualna z 2 procesorami i 4 GB pamięci RAM, na której działa skrypt z 500 wątkami. może osiągnąć około 1 tys. zapytań/s, ale ogólna liczba zapytań na sekundę zależy od używanego maszyny kraj urządzeń, konfiguracja regionalna agenta i interfejs API i punktu końcowego.

Wymagania wstępne

Zanim użyjesz tego narzędzia do zbiorczej kontroli możliwości, przygotuj:

  • Ścieżka do pliku CSV z numerami MSISDN, na których można sprawdzić możliwości
  • Ścieżka do klucza konta usługi agenta na komputerze, którego używasz do programowania

Na etapie programowania musisz też mieć zainstalowane następujące oprogramowanie komputer:

Skonfiguruj

  1. Na komputerze, z którego korzystasz, pobierz i rozpakuj plik Skrypt zbiorczej kontroli możliwości (Zaloguj się w pobieranie).
  2. Wykonaj czynności opisane w pliku README.

Przeprowadzanie kontroli zbiorczej

  1. W terminalu przejdź do katalogu głównego skryptu.
  2. Uruchom te polecenia:

    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"

    Zastąp zmienne zidentyfikowanymi wartościami.

    Zamień Tym Przykład
    AGENT_ID Identyfikator agenta RCS Business Messaging welcome-bot
    INPUT_FILE Ścieżka do wejściowego pliku CSV. input.csv
    OUTPUT_FILE Ścieżka do wyjściowego pliku CSV. output.csv
    NUM_OF_THREADS Liczba wątków, które mają zostać przeznaczone kontrole zgodności z zasadami. 500
    START_INDEX Opcjonalnie: Wartość w pliku CSV do rozpocząć testy. 5
    END_INDEX Opcjonalnie: Wartość w pliku CSV do a potem kontrolę. 500
  3. Po zakończeniu działania skryptu otwórz wyjściowy plik CSV, aby wyświetlić wyniki.