Usar as respostas de chamada da API em ações personalizadas custom-action-enhancements

Você pode aproveitar as respostas de chamada da API em ações personalizadas e orquestrar suas jornadas com base nessas respostas.

Observações importantes custom-action-enhancements-notes

  • Os arrays escalares são compatíveis com a carga de resposta:

    code language-none
    "dummyScalarArray": [
    "val1",
    "val2"
    ]
    
  • Arrays heterogêneos não são aceitos na carga de resposta:

    code language-none
    "dummyRandomArray": [
    20,
    "aafw",
    false
    ]
    

Configurar a ação personalizada config-response

  1. Crie a ação personalizada. Consulte esta página.

  2. Clique dentro do campo Resposta.

    {width="80%"}

  3. Cole um exemplo da carga útil retornada pela chamada. Verifique se os tipos de campo estão corretos (sequência, número inteiro etc.). Este é um exemplo de carga de resposta capturada durante a chamada. Nosso terminal local envia o número de pontos de fidelidade e o status de um perfil.

    code language-none
    {
    "customerID" : "xY12hye",
    "status":"gold",
    "points": 1290 }
    

    {width="80%"}

    Cada vez que a API é chamada, o sistema recuperará todos os campos incluídos no exemplo de carga útil.

  4. Também vamos adicionar a customerID como parâmetro de consulta.

    {width="80%"}

  5. Clique em Salvar.

Aproveitar a resposta em uma jornada response-in-journey

Basta adicionar a ação personalizada a uma jornada. Em seguida, você pode aproveitar os campos de carga de resposta em condições, outras ações e personalização de mensagens.

Por exemplo, você pode adicionar uma condição para verificar o número de pontos de fidelidade. Quando a pessoa entra no restaurante, o terminal local envia uma chamada com as informações de fidelidade do perfil. Você pode enviar um push se o perfil for um cliente gold. Se um erro for detectado na chamada, envie uma ação personalizada para notificar o administrador do sistema.

  1. Adicione o evento e a ação personalizada Fidelidade criada anteriormente.

  2. Na ação personalizada de Fidelidade, mapeie o parâmetro de consulta da ID do cliente com a ID do perfil. Marque a opção Adicionar um caminho alternativo em caso de tempo limite ou erro.

  3. Na primeira ramificação, adicione uma condição e use o editor avançado para aproveitar os campos de resposta de ação, no nó Contexto.

  4. Em seguida, adicione o push e personalize a mensagem usando os campos de resposta. No nosso exemplo, personalizamos o conteúdo usando o número de pontos de fidelidade e o status do cliente. Os campos de resposta de ação estão disponíveis em Atributos contextuais > Journey Orchestration > Ações.

    note note
    NOTE
    Cada perfil que entra na ação personalizada acionará uma chamada. Mesmo que a resposta seja sempre a mesma, o Jornada ainda executará uma chamada por perfil.
  5. Na ramificação de tempo limite e erro, adicione uma condição e utilize o campo interno jo_status_code. No nosso exemplo, estamos usando a variável
    Tipo de erro http_400. Consulte esta seção.

    code language-none
    @action{ActionLoyalty.jo_status_code} == "http_400"
    

  6. Adicione uma ação personalizada que será enviada para sua organização.

Logs do modo de teste test-mode-logs

Você pode acessar, por meio do modo de teste, os logs de status relacionados às respostas de ação personalizadas. Se você tiver definido ações personalizadas com respostas na jornada, verá uma seção actionsHistory nesses logs exibindo a carga retornada pelo ponto de extremidade externo (como resposta dessa ação personalizada). Isso pode ser muito útil em termos de depuração.

Status do erro error-status

O campo jo_status_code está sempre disponível mesmo quando nenhuma carga de resposta é definida.

Estes são os valores possíveis para este campo:

  • código de status http: http_<HTTP API call returned code>, por exemplo http_200 ou http_400
  • erro de tempo limite: tempo limite
  • erro de limite: limite
  • erro interno: internalError

Uma chamada de ação é considerada com erro quando o código http retornado é maior que 2xx ou se ocorrer um erro. A jornada flui para a ramificação de tempo limite ou erro dedicada nesses casos.

WARNING
Somente as ações personalizadas recém-criadas incluem o campo jo_status_code pronto para uso. Se quiser usá-la com uma ação personalizada existente, será necessário atualizar a ação. Por exemplo, você pode atualizar a descrição e salvar.

Sintaxe da expressão exp-syntax

Esta é a sintaxe:

#@action{myAction.myField}

Veja alguns exemplos:

 // 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}}

Ao manipular coleções em uma resposta de ação personalizada, você pode confiar em currentActionField para acessar o item atual:

count(
@action{MyAction.MyCollection.all(
currentActionField.description == "abc"
)}
)

Recursos adicionais

Para obter mais informações, consulte estas páginas:

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