Skip to main content

API Création d'un Regroupement de Clients

Usage​

Permet à un Partenaire de créer un Regroupement de Clients ou un sous-Regroupement de Clients (en précisant le parent).

Endpoint : POST /publishers

Paramètres du BODY​

ChampsTypeOblig ?Commentaire
publisher_idstringOUICode = Identifiant unique du Regroupement de Clients à créer. Taille : jusqu'à 46 caractères. Regex : [A-Za-z0-9-]
siren_siretstringOUILe numéro Siren/Siret sera validé avec l'algorithme de Luhn. Taille : 9 ou 14 caractères
legal_namestringOUIRaison sociale. Taille : jusqu'à 50 caractères. Regex : ^[a-zA-Z0-9çéèàùâêîôûäëïöüñÿÇÄÂÀËÊÈÉÏÎÖÔÜÛÙŸÑ'"\-&\*/\s\.]+$
vat_numberstringNONNuméro de TVA intracommunautaire. Taille : jusqu'à 32 caractères. Regex : ^$|^([A-Z]{2} ?[0-9]{2} ?([0-9]{9}))$
parent_publisher_idstringNONCode du Distributeur ou du Regroupement de Clients auquel le nouveau Regroupement de Clients doit être rattaché. Si non renseigné, le nouveau Regroupement de Clients sera créé directement sous le Distributeur de rattachement du Partenaire

Exemple de requête​

curl --location 'https://api.laposte.fr/digiposte/v3/publishers/' \
--header 'Authorization: bearer UA15MZm3B4bYmsmdfwQsSDsoe0g' \
--header 'X-Okapi-Key: CT5hp0tcjLhA16LWO3cKRJBgKxybktR5HtnKLtMpyqQuG87+ZXBvsu286QmyT9aH' \
--header 'Content-Type: application/json' \
--data '{
"publisher_id": "88-DEMODGP",
"legal_name": "REGROUPEMENT ABC",
"siren_siret": "35600000000048",
"parent_publisher_id": "88",
"vat_number": "FR39356000000"
}'

Retour en cas de succès​

  • Code retour : 204 No Content
  • Body : vide

Règles métier et cas d'erreur​

Cas d'erreur (si plusieurs erreurs, les libellés sont présents dans le champ ErrorLabel séparés par des points-virgules) :

Cas d'erreurCode retour
Token expiré401 Unauthorized : "Unauthorized user"
Le Partenaire n'a pas les droits d'utiliser cette API403 Forbidden : "Your account cannot access to this resource"
Le code du Regroupement de Clients est manquant400 Bad Request : "publisher_id is required"
La raison sociale est manquante400 Bad Request : "legal_name is required"
Le code du Regroupement de Clients ne respecte pas le format attendu ou dépasse la taille max400 Bad Request : "publisher_id size must be between 0 and 46 and match ^[-' 0-9a-zA-Z]+$"
Le code parent correspond à un Client au lieu d'un Regroupement de Clients du périmètre du Partenaire400 Bad Request : "Parent publisher is not a publisher"
Le code parent n'existe pas dans le périmètre du Partenaire (il peut exister hors de son périmètre, ou ne pas exister du tout)404 Not Found : "parent_publisher_id <parent_publisher_id> not found"
La raison sociale ne respecte pas le format attendu400 Bad Request : "legal_name must match \"^[a-zA-Z0-9çéèàùâêîôûäëïöüñÿÇÄÂÀËÊÈÉÏÎÖÔÜÛÙŸÑ'\"\-&*/\s\.\(\)]+$\""
La raison sociale dépasse la taille max400 Bad Request : "legal_name size must be between 0 and 50"
Le siren/siret ne respecte pas le format attendu (non validé par l'algorithme de Luhn)400 Bad Request : "siren_siret must match the Luhn algorithm"
Le numéro de TVA ne respecte pas le format attendu400 Bad Request : "vat_number must match \"^([a-zA-Z]{2}[0-9]{2}[0-9]{9})?$\""
Le code Regroupement de Clients est déjà attribué (ça peut être en dehors du périmètre du Partenaire)409 Conflict : "Publisher_id already exists"

Cas passant (conditions à remplir) :

  • Le Partenaire a les droits d'utiliser cette API.
  • Le Code Regroupement de Clients n'est pas encore attribué.
  • La Raison sociale est bien renseignée (et valide).
  • L'éventuel parent fait bien référence à un Regroupement de Client du périmètre du Partenaire.
  • Tous les champs sont valides (respectent les formats attendus).

Documentation API​