APIs
Sind die sys.id-Werte von Contentful eindeutig?
Ob ein von Contentful generierter sys.id-Wert eindeutig ist, hängt vom spezifischen Kontext der ID ab:
Unternehmens-IDs – immer eindeutig.
Space-IDs – immer eindeutig.
Umgebungs-IDs – immer eindeutig innerhalb eines einzelnen Spaces. Diese können in anderen Spaces wiederverwendet werden.
Asset- oder Eintrags-IDs – eindeutig innerhalb einer einzelnen Umgebung in einem einzelnen Space. Wenn eine Umgebung verzweigt ist, werden IDs für alle Assets und Einträge in dieser Umgebung wiederverwendet. In ähnlicher Weise können Asset- und Eintrags-IDs in anderen Spaces oder Umgebungen wiederverwendet werden, wenn sie automatisch generiert werden.
Andere Ressourcen-IDs – eindeutig im Kontext der Ressource. Beispielsweise sind App-Definitions-IDs eine Unternehmensressource und innerhalb eines Unternehmens eindeutig, während API-Schlüssel-IDs eine Space-Ressource und innerhalb eines Spaces eindeutig sind.
Es wird immer empfohlen, den Kontext anzugeben, nach dem Sie suchen, um sicherzustellen, dass die richtigen Daten zurückgegeben werden.
Warum funktioniert die Bildtransformation nicht?
Wenn das Bild größer als 20 MB ist, wird es gemäß dem technischen Limit als Asset betrachtet, sodass die Bildtransformation nicht funktioniert.
Darüber hinaus werden Sie auch Änderungen an der Asset-Domain bemerken. Für Bild-Assets <20 MB, the endpoint will be images.ctfassets.net. For image assets >20 MB lautet der Endpunkt downloads.ctfassets.net. Für andere Dateitypen verweist er auf assets.ctfassets.net.
Wie erhalte ich eine Warnbenachrichtigung, wenn ich das Datensatzlimit erreiche?
Derzeit gibt es keine integrierte Lösung. Sie können jedoch einen Cron-Job einrichten, der die Content Management API anpingt, um die Datensatznutzung zu berechnen (#records = #entries + #assets; die aktuelle Nutzung finden Sie in der Eigenschaft „total“ in der API-Antwort), und eine Warnbenachrichtigung auslöst, sobald ein Schwellenwert erreicht ist.
Wie frage ich nie veröffentlichte Einträge ab?
Sie können sys.publishedVersion[exists]=false in der Content Management API verwenden, um diese Einträge zu filtern. Einträge, die nie veröffentlicht werden, haben kein sys.publishedVersion-Attribut.
Wie rufe ich die verknüpften Einträge/Assets eines Eintrags ab?
Sie können einen Eintrag und die zugehörigen Daten in einer einzigen Anfrage mit dem Parameter „include“ abfragen. Da der Parameter nur für den Endpunkt der Eintragssammlung verfügbar ist, können Sie eine Abfrage wie die folgende verwenden: Einträge?sys.id={entry_id}&include=5
Wie suche ich nach Einträgen mehrerer Contenttypen?
Sie können den Einschlussoperator verwenden, zum Beispiel:?sys.contentType.sys.id[in]=content_type1,content_type2,...
Gibt es einen ODER-Operator zum Abfragen von Einträgen?
Er ist nicht direkt über die REST-API möglich, Sie müssen zwei Anfragen durchführen, um dies zu erreichen. Alternativ ist es möglich, GraphQL für den OR-Betrieb zu verwenden. Die Dokumentation finden Sie hier.
Wie finde ich Einträge/Assets, die nicht mit einem Eintrag verknüpft sind?
Sie können die Content Delivery API verwenden, um:
alle Einträge/Assets abzurufen
einen iterativen Prozess über alle Einträge/Assets mit den Abfrageparametern links_to_entry & links_to_assets hinweg durchzuführen
Die Einträge/Assets, die nicht mit einem Eintrag verknüpft sind, geben
„total“: 0in der API-Antwort zurück
Der Prozess kann kostspielig sein, aber er sollte machbar sein, wenn er für Housekeeping-Zwecke dient.
Warum erhalte ich einen 404-Fehler, wenn ich Daten aus einer bestimmten Umgebung abrufe?
Es könnte daran liegen, dass das von Ihnen verwendete API-Token keinen Zugriff auf die Umgebung hat. Sie können zu „Einstellungen“ -> „API-Schlüssel“ -> „Umgebungen“ gehen, um es zu überprüfen und zu konfigurieren.
Why do I see error "not resolvable" in API response?
You can query an entry and its related data in a single request, however, if the linked items are unpublished or deleted, they will not be retrievable through the Delivery API and, as a consequence, a notResolvable error is returned in the API response.