REST Tag API
Die REST Tags API ermöglicht es Ihnen, Tag-Kategorien und Tags in Quinyx über REST-Endpunkte zu verwalten. Sie folgt den gleichen REST-Designprinzipien und dem Authentifizierungsmodell wie andere Quinyx v2 Integration APIs.
Diese API kann verwendet werden für:
- Erstellen und Abrufen von Tag-Kategorien
- Erstellen, Aktualisieren, Abrufen und Löschen von Tags
API-Dokumentation für rc: https://api-rc.quinyx.com/v2/docs
API-Dokumentation: https://api.quinyx.com/v2/docs
Zugriffsrechte
Um Anfragen an die REST Tags API senden zu können, müssen Sie Zugriffsrechte für Tags in Ihren Integrationsdaten in den Kontoeinstellungen hinzufügen:

Tag-Kategorien
Tag-Kategorien werden verwendet, um verwandte Tags zu gruppieren.
Alle Tag-Kategorien abrufen
Ruft alle Tag-Kategorien ab.
Endpunkt: GET /categories
Beispielantwort:
[
{ "name": "Store Locations",
"tagType": "PROJECT",
"color": "#FF5733",
"externalId": "LOC-001"
},
{ "name": "Services",
"tagType": "ACCOUNT",
"color": "#32CD32",
"externalId": "SRV-002"
}
]
Tag-Kategorie nach External ID abrufen
Ruft eine einzelne Tag-Kategorie ab, auf die durch die angegebene External ID verwiesen wird.
Endpunkt: GET /categories/{categoryExternalId}
Abfrageparameter:
categoryExternalId- Externe ID der Tag-Kategorie.
Beispielantwort:
{
"name": "Store Locations",
"tagType": "PROJECT",
"color": "#FF5733",
"externalId": "LOC-001"
}Tags
Tags gehören zu einer bestimmten Kategorie und Einheit.
Tag erstellen
Erstellt einen neuen Tag unter der angegebenen Kategorie.
Endpunkt: POST /categories/{categoryExternalId}/tags
Pfadparameter:
categoryExternalId- Externe ID der Tag-Kategorie.
Erforderliche Felder im Anforderungstext:
externalId- Externe ID des Tags. Es können nicht zwei Tags mit derselben externen ID innerhalb derselben Kategorie vorhanden sein.categoryExternalId- Externe ID der Tag-Kategorie.unitExternalId- Externe ID der Einheit. Für Tags auf Kontoebene sollte es eine leere Zeichenkette sein.name- Tag-Name
Beispiel-Anforderungstext:
{
"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"
}Beispielantwort:
{
"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"
}Tag aktualisieren
Aktualisiert ein vorhandenes Tag. Ersetzt die gesamte Ressource (Tag) durch den neuen Inhalt. Der Anforderungstext sollte den vollständigen, neuen Status der Ressource enthalten (nicht nur die geänderten Felder).
Endpunkt: PUT /categories/{categoryExternalId}/tags/{tagExternalId}
Pfadparameter:
categoryExternalId- Externe ID der Tag-Kategorie.tagExternalId- Externe ID des Tags.
Erforderliche Felder im Anforderungstext:
externalId- Externe ID des Tags. Es können nicht zwei Tags mit derselben externen ID innerhalb derselben Kategorie vorhanden sein.categoryExternalId- Externe ID der Tag-Kategorie.unitExternalId- Externe ID der Einheit. Für Tags auf Kontoebene sollte es eine leere Zeichenkette sein.name- Tag-Name.
Beispiel-Anforderungstext:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"unitExternalId": "UNIT-01",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Hauptstandort",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Beispielantwort:
{
"externalId": "STORE-001",
"categoryExternalId": "LOC-001",
"name": "Downtown Store",
"uniqueScheduling": false,
"periods": [],
"coordinates": [],
"customFields": [],
"information": "Hauptstandort",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}Tag löschen
Löscht das angegebene Tag.
Endpunkt: DELETE /categories/{categoryExternalId}/tags/{tagExternalId}
Pfadparameter:
categoryExternalId- Externe ID der Tag-Kategorie.tagExternalId- Externe ID des Tags.
Tag nach externer ID abrufen
Ruft ein bestimmtes Tag ab.
Endpunkt: GET /categories/{categoryExternalId}/tags/{tagExternalId}
Pfadparameter:
categoryExternalId- Externe ID der Tag-Kategorie.tagExternalIdTag externe ID.
Beispielantwort:
{
"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"
}Alle Tags für Tag-Kategorie abrufen
Ruft alle Tags in einer Kategorie ab und verwendet cursor-basierte Pagination. Um die nächste Seite abzurufen, fügen Sie den zurückgegebenen nextCursor Wert in die nächste Anfrage ein. (siehe Cursor-basierte Pagination)
Endpunkt: GET /v2/categories/{categoryExternalId}/Tags
Pfadparameter:
categoryExternalId- Tag-Kategorie externe ID.
Beispielantwort:
{
"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="
}
}Cursor-basierte Pagination
Cursor-basierte Pagination verwendet einen Cursor, um einen Datenblock (Seite) abzurufen. Der Cursor für den nächsten Aufruf (der nächste Datenblock) wird in der Antwort des aktuellen Service-Aufrufs bereitgestellt. Im Folgenden finden Sie ein Beispiel für die Verwendung von cursor-basierter Pagination zum Abrufen aller Tags, die zur Kategorie mit externalId gehören: ext-123:
- Führen Sie den ersten Aufruf durch, um Tags abzurufen. Der erste cursor-basierte Pagination-Aufruf hat keinen cursor-Abfrageparameter. Das Fehlen dieses Abfrageparameters im Aufruf zeigt an, dass dies der erste Aufruf ist und teilt dem Service mit, die erste Seite der Ergebnisse zurückzugeben. Der size-Parameter gibt an, wie viele Elemente jede Ergebnisseite enthält. Er kann weggelassen werden, und dann wird der Standardwert verwendet.
GET /v2/categories/ext-123/tags?size=100
In der Antwort enthält dascontentFeld eine Liste von 100 Tags und dasnextCursorFeld enthält den Cursor-Wert für den nächsten Aufruf. Angenommen, der Service hatnextCursor: "NDY3NTM=" - zurückgegeben. Verwenden Sie den
nextCursorWert, um den zweiten Aufruf zum Abrufen der nächsten Ergebnisseite zu tätigen.GET /v2/categories/ext-123/tags?size=100&cursor=NDY3NTM=
Die Antwort enthält eine Liste der nächsten 100 Tag-Datensätze und den Cursor-Wert für den nächsten Aufruf. - Wiederholen Sie Schritt 2, bis alle Tags abgerufen sind, d. h. bis das
nextCursorFeld in der Antwort leer ist. - Die letzte Seite der Tags hat keinen Cursor in der Antwort. Das Fehlen eines Cursor-Werts zeigt an, dass die aktuelle Antwort die letzte Ergebnisseite ist.