Skip to main content
Solved

Oude persoonskaarten aanpassen met webhook en powershell

  • May 8, 2026
  • 8 replies
  • 41 views

Gerard
Forum|alt.badge.img+5

ik heb van uit onze historie heel veel budgethouders en afdelingen.

Om dit te kunnen opruimen moet ik bij alle oude gearchiveerde personen (langer dan 730 dagen geleden) de budgethouder en afdeling veranderen in n.v.t.)

Het script heb ik al gemaakt (eerst de archiveren, afdeling en budgethouder aanpassen en weer archiveren)

Dit werkt prima met een trigger op gearchiveerde personen, 730 dagen na de laatste wijziging.

Maar nu wil ik dit voor alle persoonskaarten doen die ouder zijn dan 730 dagen.

Dit kan met een webhook maar wat voor url moet ik aanroepen in powershell?
De url naar de webhook weet ik wel maar de url om te filteren wil ik weten.

 

Best answer by Joost Oostindie

@Gerard Excuus, echt vrijdagmiddag!
Deze gaat het beter doen:
/tas/api/persons?query=modificationDate=lt="2024-05-09T00:00:00.000Z";archived==true&page_size=1000

Ook de tijdzone is hier goed geformatteerd voor TOPdesk.

8 replies

Joost Oostindie
Forum|alt.badge.img+4

Als je dit in Powershell wilt doen ziet het er ongeveer als volgt uit:
$Date = (Get-Date).AddDays(-730).ToString("yyyy-MM-dd")

$url = "https://jouwdomein.topdesk.net/tas/api/persons?query=status==""personArchived"";modificationDate<""$Date"""

In TOPdesk zelf als volgt:
/tas/api/persons?query=status=="personArchived";modificationDate<"2024-05-09"&page_size=1000


Gerard
Forum|alt.badge.img+5
  • Author
  • Starter
  • May 11, 2026

@Joost Oostindie 
Dank voor je antwoord, maar bij mij werkt dit niet
Als ik /tas/api/persons?query=status=="personArchived";modificationDate<"2024-05-09"&page_size=1000 achter mijn **.topdesk,net zet krijg ik de volgende melding
 

{"errors":[{"errorCode":"query_parse_error","appliesTo":["status"],"errorMessage":"Unknown field status"}]}

Hij begrijpt status niet


Joost Oostindie
Forum|alt.badge.img+4

@Gerard Excuus, echt vrijdagmiddag!
Deze gaat het beter doen:
/tas/api/persons?query=modificationDate=lt="2024-05-09T00:00:00.000Z";archived==true&page_size=1000

Ook de tijdzone is hier goed geformatteerd voor TOPdesk.


Gerard
Forum|alt.badge.img+5
  • Author
  • Starter
  • May 11, 2026

@Joost Oostindie Ik heb de url ingekort en even de datum eraf gehaald maar hij blijft zeuren dat hij status niet herkend

/tas/api/persons?query=status=="personArchived"

de url gebruik ik gewoon in de browser
 

{"errors":[{"errorCode":"query_parse_error","appliesTo":["status"],"errorMessage":"Unknown field status"}]}

 


Joost Oostindie
Forum|alt.badge.img+4

Hi ​@Gerard,

Als je de datum er af haalt, zou hij als volgt zijn:
/tas/api/persons?query=archived==true&page_size=1000

Die error klopt, status=="personArchived" is in TOPdesk niet nodig, archived==true of archived==false werkt!


Gerard
Forum|alt.badge.img+5
  • Author
  • Starter
  • May 11, 2026

@Joost Oostindie Top hij doet het, de url met de datum ook
Ik ga verder hobbyen


Gerard
Forum|alt.badge.img+5
  • Author
  • Starter
  • May 11, 2026

@Joost Oostindie 
Hoi Joost het is gelukt maar wil nog even checken op oude domeinnamen
Ik kan zoeken op een emailadres maar maar niet op het eind 
/tas/api/persons?query=email=sw=pietje
Dan vind ik pietje@puk.nl maar ik wil het eind hebben maar ew (ends with) wordt niet begrepen
Ik wil dus alleen zoeken op puk.nl
Heb jij een oplossing?


Joost Oostindie
Forum|alt.badge.img+4

Hi Gerard,

De TOPdesk query syntax ondersteunt inderdaad geen ‘ew’, je kunt wel zoeken met inderdaad: /tas/api/persons?query=email=sw=pietje, maar voor iets als ew=@puk.nl lijkt geen directe query mogelijkheid te bestaan binnen TOPdesk.
De exacte lijst kan je hier terugvinden: TOPdesk API tutorial

Ik zou daarom zelf eerder alles ophalen waar een e-mailadres gevuld is en daarna bijvoorbeeld in PowerShell filteren op het domein. Bijvoorbeeld:

$persons | Where-Object {
    $_.email -like "*@puk.nl"
}