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 binnen het gebied van de Reactie.
{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%"}
-
Klik sparen.
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. Controle de optie voegt een alternatieve weg in het geval van een onderbreking of een fout toe.
-
In de eerste tak, voeg een voorwaarde toe en gebruik de geavanceerde redacteur aan hefboomwerking de gebieden van de actierespons, onder de knoop van de Context.
-
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 gebieden van de actierespons zijn beschikbaar onder Contextuele attributen > Journey Orchestration > Acties.
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. -
In de onderbreking en foutentak, voeg een voorwaarde en hefboomwerking het ingebouwde {gebied 0} jo_status_code toe. In ons voorbeeld gebruiken we de
http_400 foutentype. 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 douaneacties met reacties in uw reis hebt bepaald, zult u een actionsHistory sectie op die logboeken zien 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
Het {gebied 0} jo_status_code is altijd beschikbaar zelfs wanneer geen antwoordlading wordt bepaald.
Hier volgen de mogelijke waarden voor dit veld:
- http statuscode: http_
<HTTP API call returned code>, bijvoorbeeld http_200 of http_400 - timeout fout: timedout
- capping fout: gemapt
- 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 actie-reactie kunt u erop vertrouwen dat currentActionField toegang heeft tot het huidige item:
count(
@action{MyAction.MyCollection.all(
currentActionField.description == "abc"
)}
)
Aanvullende bronnen
Raadpleeg deze pagina’s voor meer informatie: