APIs

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.

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.

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.

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.

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

Sie können den Einschlussoperator verwenden, zum Beispiel:?sys.contentType.sys.id[in]=content_type1,content_type2,...

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.

Sie können die Content Delivery API verwenden, um:

  1. alle Einträge/Assets abzurufen

  2. einen iterativen Prozess über alle Einträge/Assets mit den Abfrageparametern links_to_entry & links_to_assets hinweg durchzuführen

  3. Die Einträge/Assets, die nicht mit einem Eintrag verknüpft sind, geben „total“: 0 in der API-Antwort zurück

Der Prozess kann kostspielig sein, aber er sollte machbar sein, wenn er für Housekeeping-Zwecke dient.

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.

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.