Utilizzare le risposte alle chiamate API nelle azioni personalizzate

Ultimo aggiornamento: 2023-10-18
  • Argomenti:
  • Journeys
    Visualizza ulteriori informazioni su questo argomento
  • Actions
    Visualizza ulteriori informazioni su questo argomento
  • Custom Actions
    Visualizza ulteriori informazioni su questo argomento
  • Creato per:
  • Experienced
    Developer
    Admin

Puoi sfruttare le risposte alle chiamate API nelle azioni personalizzate e orchestrare i percorsi in base a tali risposte.

Note importanti

  • Gli array scalari sono supportati nel payload di risposta:

    "dummyScalarArray": [
    "val1",
    "val2"
    ]
    
  • Gli array eterogenei non sono supportati nel payload di risposta:

    "dummyRandomArray": [
    20,
    "aafw",
    false
    ]
    

Configurare l’azione personalizzata

  1. Crea l’azione personalizzata. Consulta questa pagina.

  2. Fai clic all’interno del Risposta campo.

  3. Incolla un esempio del payload restituito dalla chiamata. Verifica che i tipi di campo siano corretti (stringa, numero intero, ecc.). Ecco un esempio di payload di risposta acquisito durante la chiamata. L’endpoint locale invia il numero di punti fedeltà e lo stato di un profilo.

    {
    "customerID" : "xY12hye",
    "status":"gold",
    "points": 1290 }
    

    Ogni volta che viene chiamata l’API, il sistema recupererà tutti i campi inclusi nell’esempio di payload.

  4. Aggiungiamo anche il customerID come parametro di query.

  5. Fai clic su Salva.

Sfruttare la risposta in un percorso

È sufficiente aggiungere l’azione personalizzata a un percorso. Puoi quindi sfruttare i campi del payload di risposta in condizioni, altre azioni e personalizzazione dei messaggi.

Ad esempio, puoi aggiungere una condizione per verificare il numero di punti fedeltà. Quando la persona accede al ristorante, l’endpoint locale invia una chiamata con le informazioni sulla fedeltà del profilo. Puoi inviare un messaggio push se il profilo è un cliente Gold. E se nella chiamata viene rilevato un errore, invia un’azione personalizzata per informare l’amministratore di sistema.

  1. Aggiungi l’evento e l’azione personalizzata Fedeltà creata in precedenza.

  2. Nell’azione personalizzata Fedeltà, mappa il parametro di query dell’ID cliente con l’ID profilo. Seleziona l’opzione Aggiungi un percorso alternativo in caso di timeout o errore.

  3. Nel primo ramo, aggiungi una condizione e utilizza l’editor avanzato per sfruttare i campi di risposta dell’azione, nella sezione Contesto nodo.

  4. Quindi aggiungi il push e personalizza il messaggio utilizzando i campi di risposta. Nel nostro esempio, personalizziamo il contenuto utilizzando il numero di punti fedeltà e lo stato del cliente. I campi di risposta dell’azione sono disponibili in Attributi contestuali > Journey Orchestration > Azioni.

    NOTA

    Ogni profilo che accede all’azione personalizzata attiva una chiamata. Anche se la risposta è sempre la stessa, il Percorso eseguirà comunque una chiamata per profilo.

  5. Nel ramo di timeout ed errore, aggiungi una condizione e sfrutta il jo_status_code campo. Nel nostro esempio, utilizziamo
    http_400 tipo di errore. Consulta questa sezione.

    @action{ActionLoyalty.jo_status_code} == "http_400"
    

  6. Aggiungi un’azione personalizzata che verrà inviata alla tua organizzazione.

Registri della modalità di test

Puoi accedere ai registri di stato relativi alle risposte alle azioni personalizzate tramite la modalità di test. Se hai definito azioni personalizzate con risposte nel tuo percorso, visualizzerai un actionsHistory sezione di tali registri in cui viene visualizzato il payload restituito dall’endpoint esterno (come risposta da tale azione personalizzata). Questo può essere molto utile in termini di debug.

Stato errore

Il jo_status_code Questo campo è sempre disponibile anche quando non è definito alcun payload di risposta.

Di seguito sono riportati i possibili valori per questo campo:

  • codice di stato http: http_<HTTP API call returned code>, ad esempio http_200 o http_400
  • errore di timeout: timeout
  • errore di limite: con limite
  • errore interno: internalError

Una chiamata di azione viene considerata in errore quando il codice http restituito è maggiore di 2xx o se si verifica un errore. In questi casi, il percorso passa al ramo dedicato relativo al timeout o all’errore.

AVVERTENZA

Solo le azioni personalizzate appena create includono jo_status_code preconfigurata. Se desideri utilizzarla con un’azione personalizzata esistente, devi aggiornare l’azione. Ad esempio, puoi aggiornare la descrizione e salvare.

Sintassi delle espressioni

Di seguito è riportata la sintassi:

#@action{myAction.myField}

Di seguito sono riportati alcuni esempi:

 // 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: @{myEvent.newPoints}}

Per ulteriori informazioni sui riferimenti di campo, consulta questa sezione.

In questa pagina