Sådan sender du en besked kun én gang

I eADM sendes der notifikationer, når et regelsæt matcher en bruger ud fra bestemte kriterier. Disse kriterier kan være baseret på hændelser (f.eks. »Bruger blev oprettet«) eller på et udvalg af objekter med bestemte attributværdier (f.eks. »Brugerens startdato er om to dage«).

Der kan opstå et problem med regler, der er baseret på attributter frem for begivenheder. For eksempel kan en regel om at sende en velkomst-SMS til en ny medarbejder to dage før vedkommendes startdato blive udløst flere gange, hvis der kører flere systemsynkroniseringer den pågældende dag. Uden en yderligere kontrol ville brugeren modtage den samme besked gentagne gange.

For at undgå dette skal du tilføje en betingelse til regelsættet, der kontrollerer, om beskeden allerede er blevet sendt. Dette gøres ved hjælp af[COUNTMESSAGESENT] funktion.



Fremgangsmåde

Følg disse trin for at sikre, at en meddelelse kun sendes én gang.

  1. Gå til og åbn det regelsæt, der udløser den meddelelse, du ønsker at ændre.

  2. Tilføj en ny regelbetingelse bestående af følgende tre dele:

    • Egenskab: [COUNTMESSAGESENT; MessageID]. (F.eks. [COUNTMESSAGESENT; 816])

    • Tilstand: is equal to

    • Argument: 0

Denne betingelse sikrer, at reglen kun finder anvendelse, hvis den angivne besked er blevet sendt nul gange til brugeren.



Variationer af [COUNTMESSAGESENT] Funktion

Funktionen kan bruges på flere måder, afhængigt af dine behov.

  1. Kontroller, om der er nogen meddelelser fra regelsættet. Hvis et regelsæt anvendes til flere meddelelser, kan du lade meddelelses-ID’et stå tomt for at kontrollere, om der er sendt nogen meddelelser via reglen.

Når meddelelses-ID’et ikke udfyldes — hvilket svarer til at angive 0, f.eks. [COUNTMESSAGESENT;] — udtrykket kontrollerer ikke en enkelt fast skabelon. I stedet udvurderes det i sammenhæng med den meddelelsesskabelon, hvis afsendelse rent faktisk udløste regelsættet. I praksis betyder det, at betingelsen altid spørger: »Har dette »Udgående besked er allerede sendt til denne modtager«, uanset hvilken skabelon der står for afsendelsen.

Dette gør det muligt at genbruge ét regelsæt som beskyttelse mod dobbeltudsendelse for flere forskellige meddelelsesskabeloner, i stedet for at oprette et næsten identisk regelsæt med et fastkodet meddelelses-ID for hver enkelt.


Bemærk: Når du bruger denne funktion, vil forhåndsvisningsfunktionen i regelsætredigeringsprogrammet ikke fungere.

Dette er en direkte følge af den ovenstående kontekstbinding: Udtryksbyggerens forhåndsvisning udvurderer regelsættet på egen hånd, uden at der faktisk sendes nogen besked, så der er ingen udløsende beskedskabelon til rådighed, der kan levere konteksten til den tomme messageId baserer sig på. Dette gælder, uanset om regelsættet åbnes direkte i udtryksbyggeren eller vises i forhåndsvisning fra et meddelelsesforløb, der endnu ikke er udløst.


  1. Tillad genafsendelse efter en bestemt periode. Du kan tilføje en datoparameter, så notifikationen kan sendes igen, når der er gået et bestemt tidsrum. For eksempel udtrykket [COUNTMESSAGESENT;816;[NOW-32]] vil gøre det muligt at sende beskeden igen, hvis den forrige blev sendt for mere end 32 dage siden.

Senest opdateret: