Aller au contenu

Route /Create

Route /Create

Introduction

La route /create permet de créer un document à partir d’un modèle client de l’ancienne carterie.

Route Path

Terminal window
POST /create

Purpose

La route /create gère la création d’un nouveau modèle basé sur le modèle de l’éditeur d’un utilisateur existant. Elle authentifie l’utilisateur, traite les données de création du modèle et initie toutes les tâches de fond nécessaires pour stocker et gérer les données de l’utilisateur. En cas d’erreur lors du traitement, l’utilisateur est redirigé vers une page d’erreur avec les détails pertinents.

Request

The POST request attends un formData avec la structure JSON suivante

{
"context_id": "string",
// ID unique pour le contexte du modèle
"context_library": "string",
// Identifiant pour le contexte de la bibliothèque de l'utilisateur
"context_user_id": "string",
// Identifiant unique de l'utilisateur créant le modèle
"id_format": "string",
// ID de format pour le modèle (par exemple, A4, A5)
"name": "string",
// Nom du modèle
"display_name": "string",
// Nom d'affichage à des fins d'interface utilisateur
"url_in": "string",
// URL pour les ressources du modèle d'entrée
"url_out": "string",
// URL pour les ressources du modèle de sortie
"url_in_text": "string",
// Description textuelle pour l'URL d'entrée
"url_out_text": "string",
// Description textuelle pour l'URL de sortie
"token": "string",
// Jeton d'authentification de l'utilisateur
"data": "string",
// Données JSON pour les configurations personnalisées
"config": "string",
// Clé de parametre de configuration pour l'atelier
"role": "string",
// Rôle de l'utilisateur (par exemple, 'editor', 'visitor')
"libraries": "string",
// Bibliothèques associées au modèle
"font": { "library_uuid": "string", "media_uuid": "string" },
// Bibliothèque de polices et ID de média
"color": { "library_uuid": "string", "media_uuid": "string" },
// Bibliothèque de couleurs et ID de média
"fonds": { "recto": ["MEDIA_UUID"], "verso": ["MEDIA_UUID"] },
// Médias avant et arrière
"objects": {
"recto": [ /* Liste d'objets pour le recto */ ],
"verso": [ /* Liste d'objets pour le verso */ ]
}
}

Structure des objets

Chaques objets dans la liste objects doit avoir la structure suivante

{
"type": "TEXTBOX", // Type d'objet (ici uniquement, 'TEXTBOX')
"text": "string", // Texte à afficher
"top": 0, // Top position en points
"left": 0, // Left position en points
"width": 0, // Width en points
"height": 0, // Height en points
"fontSize": 0, // Font size en points
"colorFile": {
"lib_uuid": "string", // ID de la bibliothèque de couleurs
"media_uuid": "string" // ID du média de couleur
},
"fontFile": {
"lib_uuid": "string", // ID de la bibliothèque de polices
"media_uuid": "string" // ID du média de police
}
}

Processing

  1. Payload Validation : Les données de la requête sont validées pour s’assurer qu’elles sont correctes et complètes.
  2. Authentification : L’utilisateur est authentifié en utilisant le jeton d’authentification fourni.
  3. Data Processing : Les données sont traitées pour créer un nouveau modèle basé sur le modèle de l’utilisateur.
  4. Gestion des erreurs : En cas d’erreur lors du traitement, l’utilisateur est redirigé vers une page d’erreur avec les détails pertinents.

Response & Redirects

  • Success : Si le modèle est créé avec succès, l’utilisateur est redirigé vers la page de l’éditeur avec le nouveau modèle avec le cookie de configuration.
  • Error : Si une erreur survient lors du traitement, l’utilisateur est redirigé vers une page d’erreur /wrong-data/${typed-erreur} avec les détails pertinents.
  • code 303 : Redirection vers la page de l’éditeur avec le nouveau modèle.

Example

Terminal window
curl -X POST https://your-app.com/create \
-H "Authorization: Bearer <user_token>" \
-F "context_id=abc123" \
-F "context_library=lib456" \
-F "context_user_id=user789" \
-F "name=SampleModel" \
-F "display_name=Sample Model" \
-F "token=<auth_token>" \
-F "data=<custom_configurations>"