Categories:
Guidelines for making a request to Aura NLP Resolution API
Steps to be followed to make a request to the aura-gateway-api NLP Resolution API, for using ATRIA NLP as a Service capabilities
Introduction
The use of the ATRIA AI-driven NLP as a Service capability requires making a request to the aura-gateway-api aura-nlp-resolution-api.
For this purpose, constructors must follow the steps below.
Steps in the process
The request from the application must include different fields to be properly processed by this API:
application.idorapplication.name: Id or name of the application that has configured the specific pipeline to be used for the resolution of the request. If this field is empty or the channel configured in the application does not exist in the Aura NLP service, an error is sent.message: text of the message with the request to be resolved.Authorization header: Two-legged token.
Moreover, NLP as a Service can also handle disambiguation. In this scenario, a list of options will be provided back from the Aura NLP service.
A general request and the associated response are included below:
Request
curl --location 'https://api.environment.baikalplatform.com/aura-aiservices/v1/nlp/query' \
--header 'x-correlator: <uuid>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--data '{
"message": "¿Cómo puedo contactar con Movistar plus?",
"contextFilters": [],
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}'
Response
{
"entities": [
{
"entity": "7",
"type": "faq",
"score": 0.9489,
"start_index": 1,
"end_index": 1,
"canon": "7",
"label": "openai-embeddings"
}
],
"questionId": "7",
"question": "¿Cómo puedo interactuar con Movistar?",
"text": "Atención Comercial: 900104708 Atención al Cliente: 1004. Desde el extranjero +34 699 991 004 Soporte Técnico: 1002 Clientes con TV por satélite: 900104709 Clientes con sólo satélite: 900110010 Clientes Prepago: 224430 Atención Canal+: 900 220 305 [Bot de Movistar](http://www.movistar.es/#forward) en Twitter",
"relatedQuestions": [
{
"questionId": "8",
"question": "¿Cómo puedo darme de baja?",
"text": "Para bajas de líneas móviles de contrato, puedes solicitarlo en la sección [Bajas](https://www.movistar.es/particulares/BajasIframe/?_ga=2.253697609.1756783427.1543820522-1816496064.1527850957).\r\nPara fusión o prepago, debes llamar al 1004.\r\nPara paquetes de TV, accede a la sección TV."
},
{
"questionId": "9",
"question": "¿Dónde puedo comprar un móvil?",
"text": "Encuentra el móvil que necesitas en la [tienda electrónica](http://www.movistar.es/particulares/movil/moviles). Si has solicitado un smartphone a través de la web o del 1004 con la opción de recogida en tienda y no recuerdas el código de bono, [recupéralo](https://www.movistar.es/atcliente/c2c/servicio-online/index.jsp?language=es&service=consulta-bono-canje)."
}
]
}
Types of responses in NLP resolution API
a. Simple response
When the Aura NLP app (pipeline) recognizes an intent, a simple response with the intent and entities recognized is returned:
Request body
{
"message": "Hola",
"contextFilters": [],
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}
Response body
{
"intent": "intent.common.greetings",
"entities": []
}
Request body
{
"message": "Mi cobertura",
"contextFilters": [],
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}
Response body
{
"entities": [
{
"entity": "16",
"type": "faq",
"score": 0.99,
"start_index": 1,
"end_index": 1,
"canon": "16",
"label": "openai-embeddings"
}
],
"questionId": "16",
"question": "¿Cuál es mi cobertura?",
"text": "Si quieres, [consulta la cobertura de ADSL y fibra](https://www.movistar.es/coberturas/ ). Para mejorar la cobertura de tu móvil en casa o en el trabajo a través de tu ADSL o fibra puedes contratar el servicio [“Mi cobertura móvil”](http://www.movistar.es/particulares/movil/servicios/ficha/nav-mi-cobertura-movil ).",
"relatedQuestions": [
{
"questionId": "84",
"question": "¿Cómo puedo reclamar la factura que me ha llegado?",
"text": "Sentimos que no estés de acuerdo con los conceptos facturados. Por favor, para poder ayudarte, completa el siguiente [formulario](https://www.movistar.es/particulares/atencion-cliente/escribenos/?tipo=telco&tipo_directo=12-21) y el Servicio de Atención te contestará en un plazo aproximado de 48 horas."
}
]
}
c. Disambiguation response
When there is more than one intent recognized, an intent.disambiguation will be returned with a list of options.
Request body
{
"message": "Mi factura",
"contextFilters": [],
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}
Response body
{
"intent": "intent.disambiguation",
"entities": [],
"options": [
{
"questionId": "32",
"question": "¿Cómo puedo ver mi factura?",
"text": "Para consultar y descargar las facturas del último año accede a la [web](https://www.movistar.es/cliente/areaprivada/#/facturas) o en Facturas en la sección de [cuenta](https://external-account.movistar-es-dev.svc.dev.mad.tuenti.io/redirect.php?target=account-home) de la app.",
"relatedQuestions": []
},
{
"questionId": "33",
"question": "¿Cómo puedo pagar mis facturas pendientes?",
"text": "Si tienes alguna factura pendiente de pago, recibirás un aviso de pago con el que abonar la deuda en cualquier oficina de correos o en las oficinas bancarias indicadas. También puedes abonarla con tarjeta llamando al 1004."
}
]
}
d. Filtered response
In some FAQs of a generic questions use case, you can add multiple answers and select the most accurate one according to some input context-filters:
Request body
{
"message": "¿Cómo puedo acceder a Mi Movistar?",
"contextFilters": ["channelName:novum-mytelco"],
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}
Response body
{
"entities": [
{
"entity": "3",
"type": "faq",
"score": 1,
"start_index": 1,
"end_index": 1,
"canon": "3",
"label": "openai-embeddings"
}
],
"questionId": "3",
"question": "¿Cómo puedo acceder a Mi Movistar?",
"contextFilters": [
"channelName:novum-mytelco"
],
"text": "Si accedes con tu móvil mediante Mobile Connect verás todos tus productos y el consumo de la línea con la que accedes.\r\nAccediendo con contraseña tendrás acceso a todos tus productos, facturas y consumo de todas tus líneas.",
"relatedQuestions": [
{
"questionId": "7",
"question": "¿Cómo puedo interactuar con Movistar?",
"text": "Atención Comercial: 900104708 Atención al Cliente: 1004. Desde el extranjero +34 699 991 004 Soporte Técnico: 1002 Clientes con TV por satélite: 900104709 Clientes con sólo satélite: 900110010 Clientes Prepago: 224430 Atención Canal+: 900 220 305 [Bot de Movistar](http://www.movistar.es/#forward) en Twitter"
},
{
"questionId": "19",
"question": "¿Qué tengo contratado?",
"contextFilters": [
"channelName:novum-mytelco"
],
"text": "Puedes ver los servicios y productos que tienes contratados en la [sección de cuenta](https://external-account.movistar-es-dev.svc.dev.mad.tuenti.io/redirect.php?target=account-home). Si quieres conocer el detalle de lo que incluye tu tarifa, ve a Tu Tarifa dentro de la sección de cuenta."
}
]
}
Here is the example of the same request without context-filters. You can see that the texts are different and the contextFilter field is not returned:
Request body
{
"message": "¿Cómo puedo acceder a Mi Movistar?",
"contextFilters": [],
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}
Response body
{
"entities": [
{
"entity": "3",
"type": "faq",
"score": 1,
"start_index": 1,
"end_index": 1,
"canon": "3",
"label": "openai-embeddings"
}
],
"questionId": "3",
"question": "¿Cómo puedo acceder a Mi Movistar?",
"text": "Puedes entrar:\r\nCon tu móvil: debes tenerlo a mano para validar el acceso.\r\nO con contraseña y con tu NIF, CIF, NIE o pasaporte: si no la recuerdas puedes regenerarla.",
"relatedQuestions": [
{
"questionId": "7",
"question": "¿Cómo puedo interactuar con Movistar?",
"text": "Atención Comercial: 900104708 Atención al Cliente: 1004. Desde el extranjero +34 699 991 004 Soporte Técnico: 1002 Clientes con TV por satélite: 900104709 Clientes con sólo satélite: 900110010 Clientes Prepago: 224430 Atención Canal+: 900 220 305 [Bot de Movistar](http://www.movistar.es/#forward) en Twitter"
},
{
"questionId": "9",
"question": "¿Dónde puedo comprar un móvil?",
"text": "Encuentra el móvil que necesitas en la [tienda electrónica](http://www.movistar.es/particulares/movil/moviles). Si has solicitado un smartphone a través de la web o del 1004 con la opción de recogida en tienda y no recuerdas el código de bono, [recupéralo](https://www.movistar.es/atcliente/c2c/servicio-online/index.jsp?language=es&service=consulta-bono-canje)."
}
]
}
e. Custom columns response
Request body
{
"message": "Información de la jornada 20",
"application": {
"id": "12345678-1234-5678-9a0b-abcd73f96111"
}
}
Response body
{
"entities":[
{
"entity":"10",
"type":"faq",
"score":1,
"start_index":1,
"end_index":1,
"canon":"10",
"label":"openai-embeddings"
}
],
"questionId":"10",
"question":"Información de la jornada 20",
"text":"La información de toda la jornada 20",
"speak":"La información de toda la jornada veinte",
"mainContent":"custom",
"custom":{
"carrusel":[
"1",
"2",
"3",
"4"
],
"data_summary":[
{
"gol_destacado":{
"text":"Gol jornada 23",
"url":"https://www.youtube.com/watch?v=MgP3zDzQ0CE"
},
"gol_propia_puerta":{
"url":"https://www.20minutos.es/deportes/noticia/4146386/0/insolito-golazo-olympique-propia-puerta-psg/"
}
},
{
"gol_destacado":{
"text":"Gol jornada 24",
"url":"https://eldesmarque.com/actualidad/futbol/primera-laliga-santander/video-resumenes-primera/1372827-madrid-atleti-resumen-en-video-del-partido-de-la-jornada-22"
},
"gol_propia_puerta":{
"url":"https://www.mundodeportivo.com/futbol/20200207/473330110580/el-insolito-gol-en-propia-puerta-del-portero-de-uruguay.html"
}
}
]
}
}