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 de Respuesta field.
-
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 }
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.
-
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 Añadir una ruta alternativa en caso de tiempo de espera o error.
-
En la primera rama, añada una condición y utilice el editor avanzado para aprovechar los campos de respuesta de acción, en Contexto nodo.
-
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, añada una condición y aproveche la variable integrada jo_status_code field. En nuestro ejemplo, estamos utilizando el
http_400 tipo de error. 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á un actionsHistory de los registros que muestran 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 jo_status_code El campo siempre está disponible aunque no se haya definido ninguna 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: timeout
- error de límite: tapado
- 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 lo siguiente 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: