Registration of loyalty cards by a robot

Goal:

Unburden the hotline operators by transferring incoming calls for the registration of loyalty cards to work.

Decision:

The hotline receives a call from a customer in order to register a loyalty card. The robot receives the call and polls the client. After that, it sends an SMS with a verification code to the phone number from which the client is calling, and then recognizes the SMS code voiced by the client and transmits the collected information to the company’s server. It is also necessary to obtain from the client consent to the processing of personal data that will be collected during the conversation.

Let’s create an incoming script for this case.

To successfully register a loyalty card, it is necessary that the customer:

1. He called the Surname, First Name and Patronymic.

2. Told date of birth.

3. Told the loyalty card number indicated on the back.

4. Announced the work of the SMS code.

5. Gave consent to the processing of personal data.

We will create variables in which the client’s responses will be saved for subsequent transmission to the company’s server and variables in which the responses from the server will be saved:

name – for the Surname of the First Name and Patronymic.

date – for the date of birth.

number – for the card number.

numberstatus – for the card number reconciliation result returned by the company’s server.

code – for the SMS code dictated by the client.

codestatus – for the SMS code reconciliation result returned by the company’s server.

Next, under the Incoming call block, we will place and configure a Player in which the robot will say at the beginning of the conversation with the client:

“Hello, you have called the hotline of the Cozy store chain. My name is Elizabeth, I am a robotic assistant. I will help you register a loyalty card. Please state your First Name, Last Name and Patronymic.”

We will place a Recognition block under the Player to recognize the client’s response (full name). In the settings, select the name variable in which the recognition result will be saved.

Next, we will place a new Player block in which the robot will say:

“Thank you! Now, please state your date of birth.”

Under it, we will place the Recognition block, in which the client’s response about the date of birth will be stored in the date variable.

Below we will add another Player block with the text:

“Please state the number of your loyalty card indicated on the back.”

And we will add the Recognition block, which will save the result of recognition of the loyalty card number to the number variable.

Now we will add an HTTP request block, in which we will pass the card number stored in the number variable to the company’s server.

In the settings of this block, select Waiting for a response -Required, and in the Variable field for the response code, select the previously created variable numberstatus. The result of the card number reconciliation returned by the company’s server will be saved in it. Let’s assume that the server will return the reconciliation result in the form of codes 200 (found in the database) and 404 (not found in the database).

Now let’s analyze what response came from the company’s server to the number status variable. To do this, from the anchor “Response” we will lay the block Var analysis with two values of the variants of the values of the variable numberstatus. The value is 200 if the card number is found and the value is 404 if the number is not found in the database.

If the card number is not found, the robot will inform the client about it and offer to go through the procedure of voicing the card number again, or hang up.

To do this, we plot from the option 404 block the Var analysis block of the IVR with text:

“I’m sorry, but the card number you specified was not found in the database. Say Yes to dictate your card number again. Say No to switch the conversation to the operator. To end the conversation, hang up the phone.”

Next, we need to add “Yes” and “No” answer options in the block settings. And from the “Yes” option, we draw an arrow to the beginning of the Player block, in which the robot asked the client to name the card number.
And from the “No” option, we conduct a Redirection block with the phone number of the operator to whom the call will be transferred.

After the server returns a positive response to the card number verification, we need to confirm the subscriber numbers to which the card will be linked by sending a verification SMS code. To do this, from the server response option 200 in the Var analysis block, we plot the IVR block with the text:

“Thank you. According to the legislation and rules of the program, I need your consent to the processing of personal data. Say Yes if you agree. Say No if you don’t agree.”

We add the answer options “Yes” and “No” in the block settings.

And from the answer option “No” we lay another block of the IVR with the text:

“I apologize, but without your consent to the processing of personal data, your loyalty card cannot be registered. If you want to transfer the conversation to the operator, say Yes. If that’s not required, just hang up.”

From the answer option Yes, we place the Redirection block with the operator’s phone number.

If the client agrees to the processing of personal data, we move from the answer option “Yes” of the previous block to the IVR block Player with text:

“Thank you. Now I will send an SMS message with a verification code to your number. Please spell the received code to me.”

Next, we add an HTTP request block, through which we contact the company’s server to send an SMS code.

Below we have the Recognition block with the code variable, in which the client’s response will be recorded. Do not forget to increase the pause before playback in the block settings to give the client enough time to receive and spell the SMS code.

After recognizing the received code, as in the case of the loyalty card number, we verify it by sending the recognition result stored in the code variable to the company’s server via an HTTP request. In the block settings, select Waiting for a response — Required and select the codestatus variable for the response code.

As in the previous case, we analyze the received response from the server. Under the HTTP request block, we add and configure the Var analysis block, with the code status variable into which the response from the server was saved. We connect it to the “Response” anchor of the HTTP request block. We also add two variable values to its settings: 200 — for the code matched and 404 for the response code did not match.

For the case when the code dictated by the client did not match the SMS code sent by the system, we build a IVR block with text from option 404:

“I’m sorry, but the code you dictated does not match the one you sent. To send a new SMS code, say Yes.”

And we connect the Yes answer option with the beginning of the HTTP request block, in which the robot made a request to the company’s server to send SMS.

Now we will design a script branch in which the SMS code dictated by the client coincided with the one sent. From the variant of the value of the variable 200 of the Var analysis block, we will lay the Player block with the text:

“Thank you. Your loyalty card has been successfully registered. Happy shopping! Have a nice day!”

And in conclusion, I will transfer the data collected as a result of the conversation by the client to the company’s server. We add an HTTP request block in the end of the script.

We save the finished script by clicking on the “Save” button.

On this page