Hvordan sende et varsel bare én gang

I eADM sendes det varsler når et regelsett matcher en bruker basert på bestemte kriterier. Disse kriteriene kan være basert på hendelser (f.eks. "Bruker ble opprettet") eller på et utvalg av objekter med bestemte attributtverdier (f.eks. "Brukerens startdato er om to dager").

Det kan oppstå et problem med regler som er basert på attributter i stedet for hendelser. For eksempel kan en regel om å sende en velkomst-SMS til en nyansatt to dager før tiltredelsesdatoen utløses flere ganger hvis flere systemsynkroniseringer kjøres den dagen. Uten en ekstra kontroll vil brukeren motta den samme meldingen gjentatte ganger.

For å forhindre dette må du legge til en betingelse i regelsettet som kontrollerer om meldingen allerede er sendt. Dette gjøres ved hjelp av[COUNTMESSAGESENT] funksjon.



Fremgangsmåte

Følg disse trinnene for å sikre at et varsel bare sendes én gang.

  1. Naviger til og åpne regelsettet som utløser varselet du ønsker å endre.

  2. Legg til en ny regelbetingelse med følgende tre deler:

    • Attributt: [COUNTMESSAGESENT; MessageID]. (f.eks. [COUNTMESSAGESENT; 816])

    • Tilstand: is equal to

    • Argument: 0

Denne betingelsen sikrer at regelen bare gjelder hvis den angitte meldingen har blitt sendt null ganger til brukeren.



Variasjoner av [COUNTMESSAGESENT] Funksjon

Funksjonen kan brukes på flere måter, avhengig av dine behov.

  1. Se etter en melding fra regelsettet. Hvis et regelsett brukes for flere meldinger, kan du la meldings-ID-en stå tom for å sjekke om noen melding er sendt av regelen.

Når meldings-ID-en ikke er angitt — noe som tilsvarer å overføre 0, f.eks. [COUNTMESSAGESENT;] — uttrykket sjekker ikke én bestemt fast mal. I stedet vurderes det i sammenheng med den meldingsmalen som faktisk utløste regelsettet. I praksis betyr dette at betingelsen alltid spør: «har dette «Utgående melding er allerede sendt til denne mottakeren», uavhengig av hvilken mal som brukes til å sende meldingen.

Dette gjør det mulig å gjenbruke ett regelsett som beskyttelse mot dobbeltutsendelse for flere ulike meldingsmaler, i stedet for å lage et nesten identisk regelsett med en fastkodet meldings-ID for hver enkelt.


Merk: Når du bruker denne funksjonen, vil ikke forhåndsvisningsfunksjonen i regelsettredigeringsprogrammet fungere.

Dette er en direkte følge av kontekstbindingen ovenfor: forhåndsvisningen i uttrykksbyggeren utfører regelen på egen hånd, utenfor selve meldingssendingen, så det finnes ingen utløsende meldingsmal som kan levere konteksten til den tomme messageId er avhengig av. Dette gjelder uansett om regelsettet åpnes direkte i uttrykksbyggeren eller forhåndsvises fra en meldingsflyt som ennå ikke er utløst.


  1. Tillat videresending etter en bestemt periode. Du kan legge til en datoparameter for å tillate at varselet sendes på nytt etter en viss tid. For eksempel kan uttrykket [COUNTMESSAGESENT;816;[NOW-32]] gjør det mulig å sende meldingen på nytt hvis den forrige ble sendt for mer enn 32 dager siden.

Sist oppdatert: