REST Tag-API
REST Tags API:t gör det möjligt för dig att hantera taggkategorier och taggar i Quinyx via REST-slutpunkter. Det följer samma REST-designprinciper och autentiseringsmodell som andra Quinyx v2 Integration APIs.
Detta API kan användas för att:
- Skapa och hämta taggkategorier
- Skapa, uppdatera, hämta och ta bort taggar
API-dokumentation för rc: https://api-rc.quinyx.com/v2/docs
API-dokumentation: https://api.quinyx.com/v2/docs
Åtkomsträttigheter
För att kunna skicka förfrågningar till REST Tags API måste du lägga till åtkomsträttigheter för taggar på dina integreringsuppgifter i kontoinställningar:

Taggkategorier
Taggkategorier används för att gruppera relaterade taggar.
Hämta alla taggkategorier
Hämtar alla taggkategorier.
Slutpunkt: GET /categories
Exempelresponse:
[
{ "name": "Store Locations",
"tagType": "PROJECT",
"color": "#FF5733",
"externalId": "LOC-001"
},
{ "name": "Services",
"tagType": "ACCOUNT",
"color": "#32CD32",
"externalId": "SRV-002"
}
]
Hämta taggkategori efter externt ID
Hämtar en enskild taggkategori refererad av det angivna externa ID:t.
Slutpunkt: GET /categories/{categoryExternalId}
Query parametrar:
categoryExternalId- Externt ID för tagkategori.
Exempelresponse:
{
"name": "Store Locations",
"tagType": "PROJECT",
"color": "#FF5733",
"externalId": "LOC-001"
}Taggar
Taggar tillhör en specifik kategori och enhet.
Skapa tagg
Skapar en ny tagg under den angivna kategorin.
Slutpunkt: POST /categories/{categoryExternalId}/tags
Sökvägsparametrar:
categoryExternalId- Externt ID för tagkategori.
Obligatoriska fält i förfrågans kropp:
externalId- Externt ID för tagg. Det kan inte finnas två taggar med samma externa ID inom samma kategori.categoryExternalId- Externt ID för tagkategori.unitExternalId- Externt ID för enhet. För taggar på kontonivå bör det vara en tom sträng.name- Taggnamn
Exempelförfrågans kropp:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"unitExternalId": "UNIT-01",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Main location",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Exempelresponse:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Main location",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Uppdatera tagg
Uppdaterar en befintlig tagg. Ersätter hela resursen (tagg) med det nya innehållet. Förfrågans kropp bör innehålla det fullständiga nya tillståndet för resursen (inte bara de fält som ändras).
Slutpunkt: PUT /categories/{categoryExternalId}/tags/{tagExternalId}
Sökvägsparametrar:
categoryExternalId- Taggkategoris externa ID.tagExternalId- Taggs externa ID.
Obligatoriska fält i förfrågans kropp:
externalId- Taggs externa ID. Det kan inte finnas två taggar med samma externa ID inom samma kategori.categoryExternalId- Taggkategoris externa ID.unitExternalId- Enhetens externa ID. För taggar på kontonivå bör det vara en tom sträng.name- Taggnamn.
Exempelförfrågans kropp:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"unitExternalId": "UNIT-01",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Huvudsaklig plats",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Exempelresponse:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Huvudsaklig plats",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Ta bort tagg
Tar bort den angivna taggen.
Slutpunkt: DELETE /categories/{categoryExternalId}/tags/{tagExternalId}
Sökvägsparametrar:
categoryExternalId- Extern ID för taggkategori.tagExternalId- Extern ID för tagg.
Hämta tagg efter extern ID
Hämtar en specifik tagg.
Slutpunkt: GET /categories/{categoryExternalId}/tags/{tagExternalId}
Sökvägsparametrar:
categoryExternalId- Extern ID för taggkategori.tagExternalIdTagg externt ID.
Exempelresponse:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"unitExternalId": "UNIT-01",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Main location",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Hämta alla taggar för taggkategori
Hämtar alla taggar i en kategori med hjälp av markörbaserad sidnumrering. För att hämta nästa sida, inkludera det returnerade nextCursor värdet i nästa begäran. (se Markörbaserad sidnumrering)
Slutpunkt: GET /v2/categories/{categoryExternalId}/tags
Sökvägsparametrar:
categoryExternalId- Taggkategoris externa ID.
Exempelresponse:
{
"content": [
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"unitExternalId": "UNIT-01",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Main location",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}
],
"page": {
"contentSize": 1,
"nextCursor": "eyJjdXJzb3IiOiIxMjM0In0="
}
}Cursorbaserad sidnumrering
Cursorbaserad sidnumrering använder en cursor för att hämta ett datachunk (sida). Cursorn för nästa anrop (nästa datachunk) tillhandahålls i responsen från det aktuella serviceanropet. Följande är ett exempel på hur du använder cursorbaserad sidnumrering för att hämta alla taggar som tillhör kategorin med externalId: ext-123:
- Gör det första anropet för att hämta taggar. Det första cursorbaserade sidnumreringsanropet har ingen cursorfrågeparameter. Frånvaron av denna frågeparameter i anropet indikerar att detta är det första anropet och instruerar tjänsten att returnera den första resultatsidan. Parametern size anger hur många objekt varje resultatsida kommer att innehålla. Den kan utelämnas, och då används standardvärdet.
GET /v2/categories/ext-123/tags?size=100
I responsen kommercontent-fältet att innehålla en lista med 100 taggar, ochnextCursor-fältet kommer att innehålla markövärdet för nästa anrop. Låt oss säga att tjänsten returneradenextCursor: "NDY3NTM=" - Använd
nextCursor-värdet för att göra det andra anropet för att hämta nästa resultatsida.GET /v2/categories/ext-123/tags?size=100&cursor=NDY3NTM=
Responsen kommer att innehålla en lista över nästa 100 taggposter och markövärdet för nästa anrop. - Upprepa steg 2 tills alla taggar har hämtats, det vill säga tills
nextCursor-fältet i responsen är tomt. - Den sista sidan med taggar kommer inte att ha en markör i responsen. Frånvaron av ett markövärde indikerar att den aktuella responsen är den sista resultatsidan.