Delivery API & endpoints custom
Content Delivery API v2 (standard Umbraco)
- Activee dans
Program.cs(.AddDeliveryApi()), config dansappsettings.json:DeliveryApi.Enabled=true,PublicAccess=true(pas de cle),Media.Enabled=truemaisMedia.PublicAccess=false,RichTextOutputAsJson=false(sortie HTML). - Endpoint typique consomme par les frontends :
GET /umbraco/delivery/api/v2/content/item/{id}?expand=properties[$all]&fields=properties[$all]
Tri/filtre custom datePublished:
DeliveryApi/PublishedDateSort.csimplemente :ISortHandler: parsedatePublished:asc/datePublished:descdans les requetes Delivery API.IContentIndexHandler: ajoute le champdatePublished(type Date) a l'index Delivery API.
- Enregistre via
AddUniquedansSiteComposer. - Gotcha : si l'ordre parait faux apres un ajout d'articles, reconstruire l'index interne Examine depuis le backoffice.
Endpoints REST custom
Tous heritent de UmbracoApiController (route ~/umbraco/api/{Controller sans Api}/{Methode}).
| Controller | Endpoint | Verbe | Role |
|---|---|---|---|
| ArticlesApiController | /umbraco/api/ArticlesApi/GetArticleIdFromSlug?slug=... | GET | Resout un slug d'article en key (Guid) |
| ArticlesApiController | /umbraco/api/ArticlesApi/GetTags?skin=... | GET | Liste des tags uniques d'un skin |
| AuthorsApiController | /umbraco/api/AuthorsApi/GetAuthors?skin=&page=&pageSize= | GET | Liste paginee d'auteurs (firstname, lastname, function, quote, image) |
| MultimediaApiController | /umbraco/api/MultimediaApi/Reindex | POST | Recalcule mediaIndex pour tous les articles (header X-Webhook-Secret) |
| ImportApiController | /umbraco/api/ImportApi/CreateArticle | POST | Cree un article complet (voir ../modules/import-migration.md) |
| ImportApiController | /umbraco/api/ImportApi/CreateAuthor | POST | Cree un auteur |
| ImportApiController | /umbraco/api/ImportApi/DeleteArticle?id=... | POST | Supprime un article (cleanup migration/tests) |
MediasApiController est entierement desactive (commente) : le listing media passe par la Delivery API.
Webhook d'invalidation de cache
ArticleChangedWebhookHandler(declenche sur publish/unpublish/delete d'article) POST versPublishWebhook.Url(ex..../umbraco/api/HeadlessWebhook/ArticleChanged?id={key}) avec le headerX-Webhook-Secret.- Cote frontend (
accm-website), ce webhook invalide le cache de l'article.
Contributors
No contributors
Changelog
No recent changes

