API-aanroepreacties gebruiken in aangepaste handelingen custom-action-enhancements
U kunt API vraagreacties in douaneacties gebruiken en uw reizen organiseren die op deze reacties worden gebaseerd.
Belangrijke opmerkingen custom-action-enhancements-notes
-
Scalaire arrays worden ondersteund bij een payload als reactie:
code language-none "dummyScalarArray": [ "val1", "val2" ]
-
Heterogene arrays worden niet ondersteund bij een payload als reactie:
code language-none "dummyRandomArray": [ 20, "aafw", false ]
Aangepaste actie configureren config-response
-
Maak de aangepaste handeling. Zie deze pagina.
-
Klik in het dialoogvenster Antwoord veld.
{width="80%"}
-
Plak een voorbeeld van de lading die door de vraag is teruggekeerd. Controleer of de veldtypen correct zijn (tekenreeks, geheel getal, enz.). Hier is een voorbeeld van antwoordlading die tijdens de vraag wordt gevangen. Ons lokale eindpunt verzendt het aantal loyaliteitspunten en de status van een profiel.
code language-none { "customerID" : "xY12hye", "status":"gold", "points": 1290 }
{width="80%"}
Telkens wanneer de API wordt aangeroepen, haalt het systeem alle velden op die in het payload-voorbeeld zijn opgenomen.
-
Laten wij ook CustomerID als vraagparameter toevoegen.
{width="80%"}
-
Klikken Opslaan.
De respons in een reis benutten response-in-journey
Voeg gewoon de aangepaste handeling toe aan een reis. U kunt de ladingsgebieden van de reactie in voorwaarden, andere acties en berichtverpersoonlijking dan gebruiken.
U kunt bijvoorbeeld een voorwaarde toevoegen om het aantal loyaliteitspunten te controleren. Wanneer de persoon het restaurant ingaat, verzendt uw lokale eindpunt een vraag met de loyaliteitsinformatie van het profiel. U kunt een push verzenden als het profiel een gouden klant is. En als een fout in de vraag wordt ontdekt, verzend een douaneactie om uw systeembeheerder op de hoogte te brengen.
-
Voeg uw gebeurtenis en de aangepaste handeling Loyalty toe die u eerder hebt gemaakt.
-
Wijs in de aangepaste actie Loyalty de queryparameter voor de klant-id toe aan de profiel-id. Schakel de optie in Een alternatief pad toevoegen bij een time-out of fout.
-
Voeg in de eerste vertakking een voorwaarde toe en gebruik de geavanceerde editor om de velden voor actierespons te benutten, onder Context knooppunt.
-
Voeg vervolgens uw pushbericht toe en pas uw bericht aan met de responsvelden. In ons voorbeeld, personaliseren wij de inhoud gebruikend het aantal loyaliteitspunten en de klantenstatus. De velden voor actierespons zijn beschikbaar onder Contextafhankelijke kenmerken > Journey Orchestration > Handelingen.
note note NOTE Elk profiel dat de douaneactie ingaat zal een vraag teweegbrengen. Zelfs als de reactie altijd het zelfde is, zal de Reizen nog één vraag per profiel uitvoeren. -
Voeg in de vertakking Time-out en Fout een voorwaarde toe en gebruik de ingebouwde jo_status_code veld. In ons voorbeeld gebruiken we de
http_400 fouttype. Zie deze sectie.code language-none @action{ActionLoyalty.jo_status_code} == "http_400"
-
Voeg een aangepaste actie toe die naar uw organisatie wordt verzonden.
Logboeken van testmodi test-mode-logs
Via de testmodus hebt u toegang tot statuslogboeken die gerelateerd zijn aan aangepaste actieantwoorden. Als u aangepaste acties hebt gedefinieerd met reacties op uw reis, ziet u een actionsHistory sectie op die logboeken die de nuttige lading tonen door het externe eindpunt (als reactie van die douaneactie) is teruggekeerd. Dit kan zeer nuttig in termen van het zuiveren zijn.
Foutstatus error-status
De jo_status_code veld is altijd beschikbaar, zelfs als er geen antwoordlading is gedefinieerd.
Hier volgen de mogelijke waarden voor dit veld:
- http status code: http_
<HTTP API call returned code>
, bijvoorbeeld http_200 of http_400 - time-outfout: timedout
- Fout bij toewijzen: afgetopt
- interne fout: internalError
Een actieaanroep wordt als fout beschouwd wanneer de geretourneerde http-code groter is dan 2xx of wanneer een fout optreedt. De reis stroomt naar de specifieke onderbreking of foutentak in dergelijke gevallen.
Expressiesyntaxis exp-syntax
Hier volgt de syntaxis:
#@action{myAction.myField}
Hier volgen enkele voorbeelden:
// 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}}
Tijdens het manipuleren van verzamelingen in een aangepaste actierespons kunt u erop vertrouwen currentActionField
om het huidige item te openen:
count(
@action{MyAction.MyCollection.all(
currentActionField.description == "abc"
)}
)
Aanvullende bronnen
Raadpleeg deze pagina’s voor meer informatie: