# Créer des endpoints REST personnalisés dans une extension WordPress

> register_rest_route, permission_callback et schéma d'arguments : la méthode complète pour exposer des données propres et sécurisées via l'API REST de WordPress.

- Auteur : Clément Hadrot
- Publié le : 2021-06-15
- Mis à jour le : 2021-06-15
- Catégorie : Extensions
- URL : https://wpmoderne.dev.wordpress-developpement.fr/extensions/api-rest-endpoints-personnalises/

## L’essentiel

- permission_callback n'est pas optionnel en pratique
- Valider les arguments avant de les traiter
- WP_Error normalise les réponses d'erreur

Depuis son intégration au cœur de WordPress en version 4.7 fin 2016, l'API REST est devenue le moyen standard d'exposer des données pour une application mobile, un frontend découplé en React ou Vue, ou simplement une intégration avec un service tiers. Beaucoup d'extensions se contentent pourtant de réutiliser les endpoints natifs (`/wp/v2/posts`, `/wp/v2/users`) alors qu'un besoin métier précis justifie souvent un endpoint sur mesure, plus simple à consommer et surtout plus facile à sécuriser correctement.

Cet article détaille la création d'un endpoint personnalisé avec `register_rest_route()`, en insistant sur le point le plus souvent négligé : la fonction `permission_callback`, dont l'absence génère une alerte de dépréciation depuis WordPress 5.5 et un comportement par défaut dangereux pour la sécurité.

## Déclarer une route personnalisée

> L'essentiel à retenir : permission_callback n'est pas optionnel en pratique ; Valider les arguments avant de les traiter ; WP_Error normalise les réponses d'erreur
