Uso de respuestas de llamadas de API en acciones personalizadas custom-action-enhancements
Puede aprovechar las respuestas de llamadas de API en acciones personalizadas y organizar sus recorridos en función de estas respuestas.
Notas importantes custom-action-enhancements-notes
-
Las matrices escalares son compatibles con la carga útil de respuesta:
code language-none "dummyScalarArray": [ "val1", "val2" ]
-
Las matrices heterogéneas no son compatibles con la carga útil de respuesta:
code language-none "dummyRandomArray": [ 20, "aafw", false ]
Configurar la acción personalizada config-response
-
Cree la acción personalizada. Consulte esta página.
-
Haga clic dentro del campo Respuesta.
{width="80%"}
-
Pegue un ejemplo de la carga útil devuelta por la llamada. Compruebe que los tipos de campo son correctos (cadena, entero, etc.). Este es un ejemplo de carga útil de respuesta capturada durante la llamada. Nuestro extremo local envía el número de puntos de lealtad y el estado de un perfil.
code language-none { "customerID" : "xY12hye", "status":"gold", "points": 1290 }
{width="80%"}
Cada vez que se llama a la API, el sistema recupera todos los campos incluidos en el ejemplo de carga útil.
-
Vamos a añadir también customerID como parámetro de consulta.
{width="80%"}
-
Haga clic en Guardar.
Aprovechamiento de la respuesta en un recorrido response-in-journey
Simplemente, agregue la acción personalizada a un recorrido. A continuación, puede aprovechar los campos de carga útil de respuesta en condiciones, otras acciones y la personalización de mensajes.
Por ejemplo, puede agregar una condición para comprobar la cantidad de puntos de lealtad. Cuando la persona entra en el restaurante, el punto final local envía una llamada con la información de fidelidad del perfil. Puede enviar una notificación push si el perfil es un cliente de oro. Y si se detecta un error en la llamada de, envíe una acción personalizada para notificarlo al administrador del sistema.
-
Añada el evento y la acción personalizada Fidelidad creada anteriormente.
-
En la acción personalizada Fidelidad, asigne el parámetro de consulta ID de cliente con el ID de perfil. Marque la opción Agregar una ruta alternativa en caso de tiempo de espera o error.
-
En la primera rama, agregue una condición y utilice el editor avanzado para aprovechar los campos de respuesta de acción, en el nodo Context.
-
A continuación, añada la notificación push y personalice el mensaje mediante los campos de respuesta. En nuestro ejemplo, personalizamos el contenido mediante la cantidad de puntos de fidelidad y el estado del cliente. Los campos de respuesta de acción están disponibles en Atributos contextuales > Journey Orchestration > Acciones.
note note NOTE Cada perfil que introduzca la acción personalizada almacenará en déclencheur una llamada. Incluso si la respuesta siempre es la misma, el Recorrido seguirá realizando una llamada por perfil. -
En las ramas de tiempo de espera y error, agregue una condición y aproveche el campo jo_status_code integrado. En nuestro ejemplo, estamos utilizando el
Tipo de error http_400. Consulte esta sección.code language-none @action{ActionLoyalty.jo_status_code} == "http_400"
-
Añada una acción personalizada que se enviará a su organización.
Registros del modo de prueba test-mode-logs
Puede acceder, a través del modo de prueba, a los registros de estado relacionados con las respuestas de acciones personalizadas. Si ha definido acciones personalizadas con respuestas en el recorrido, verá una sección actionsHistory en esos registros que muestra la carga útil devuelta por el extremo externo (como respuesta de esa acción personalizada). Esto puede resultar muy útil en términos de depuración.
Estado de error error-status
El campo jo_status_code siempre está disponible aunque no se haya definido una carga útil de respuesta.
Estos son los valores posibles de este campo:
- código de estado http: http_
<HTTP API call returned code>
, por ejemplo http_200 o http_400 - error de tiempo de espera: tiempo de espera
- error de límite: límite
- error interno: internalError
Una llamada de acción se considera errónea cuando el código http devuelto es mayor que 2xx o si se produce un error. En estos casos, el recorrido fluye a la rama de tiempo de espera o error correspondiente.
Sintaxis de expresión exp-syntax
Esta es la sintaxis:
#@action{myAction.myField}
A continuación se muestran algunos ejemplos:
// action response field
@action{<action name>.<path to the field>}
@action{ActionLoyalty.status}
// action response field
@action{<action name>.<path to the field>, defaultValue: <default value expression>}
@action{ActionLoyalty.points, defaultValue: 0}
@action{ActionLoyalty.points, defaultValue: @event{myEvent.newPoints}}
Al manipular colecciones en una respuesta de acción personalizada, puede confiar en currentActionField
para acceder al elemento actual:
count(
@action{MyAction.MyCollection.all(
currentActionField.description == "abc"
)}
)
Recursos adicionales
Para obtener más información, consulte estas páginas: