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

  1. Cree la acción personalizada. Consulte esta página.

  2. Haga clic dentro del campo Respuesta.

    {width="80%"}

  3. 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.

  4. Vamos a añadir también customerID como parámetro de consulta.

    {width="80%"}

  5. 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.

  1. Añada el evento y la acción personalizada Fidelidad creada anteriormente.

  2. 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.

  3. 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.

  4. 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.
  5. 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"
    

  6. 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.

WARNING
Solo las acciones personalizadas recién creadas incluyen el campo jo_status_code de forma predeterminada. Si desea utilizarlo con una acción personalizada existente, debe actualizar la acción. Por ejemplo, puede actualizar la descripción y guardar.

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:

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76