Editorial strategy for this project
The project's editorial strategy: context, personas, content clusters, and the state of its generation.
The project's editorial strategy: context, personas, content clusters, and the state of its generation.
The generation state is part of the answer. A project whose strategy has never been generated returns an empty one — that is « not yet produced », not « nothing to say », and the two would look identical without the state.
/v1/projects/{projectId}/editorial-strategyAuthorization
agent-token An agent project token. Obtained by OAuth consent for an AI client, or derived per project from an organisation service key for a machine. A scoped API key authenticates the transport but opens no capability: a capability takes its project from the credential.
In: header
Path Parameters
The project this call is about. A routing hint, not an authorisation. The project comes from the credential; this segment exists so multi-project code stays uniform. If it names a project outside the token, the call is refused with routing_hint_mismatch.
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://app.digitalyser.io/api/v1/projects/550e8400-e29b-41d4-a716-446655440000/editorial-strategy" \ -H "Authorization: Bearer <token>"{ "projectId": "8f14e45f-ea0e-4b1e-9b7a-2c3d4e5f6071", "mainObjective": "remplir la salle en semaine", "secondaryObjectives": [ "être trouvé sur les recherches de quartier" ], "targetPersona": "des habitués du quartier, plutôt 35-60 ans", "sector": "restauration indépendante", "offer": "une cuisine de saison, midi et soir, sans carte figée", "toneOfVoice": "chaleureux, jamais guindé", "preferredContentFormats": [ "short_video_script", "carousel" ], "context": { "services": [ "pose de menuiseries sur mesure", "rénovation de façade" ], "objectif": "générer des demandes de devis qualifiées", "secteur": "artisanat du bâtiment", "type_offre": "prestation sur devis", "promesse": "une pose propre, dans les délais annoncés", "problematique": "les artisans ne rappellent pas, et les devis n'arrivent jamais", "benefice": "savoir quand les travaux finissent, et que ce soit vrai", "preuve_sociale": "127 avis Google à 4,8 et deux chantiers publics référencés", "intention_achat": "forte sur devis, faible sur l'entretien préventif", "valeurs_de_marque": [ "franchise sur les délais", "travail visible" ], "cible": { "secteur": "particuliers propriétaires", "localisation": "métropole de Lyon", "niveau_maturite_digitale": "faible : recherche sur mobile, appelle plutôt qu'écrire" }, "persona_principal": { "prenom": "Sylvie", "age": "48 ans", "situation": "propriétaire d'une maison de 1970 à rénover", "motivation": "en finir avec les fenêtres qui laissent passer le froid", "freins": [ "peur du chantier qui traîne", "devis incomparables entre eux" ] }, "besoins_specifiques": [ "comprendre ce qui fait varier un devis", "savoir quelles aides existent" ], "freins_a_l_achat": [ "prix perçu comme opaque", "délais jamais garantis" ], "canaux_favoris": [ "recherche Google", "bouche-à-oreille", "Facebook local" ], "questions_recurrentes": [ "combien coûte le remplacement d'une fenêtre ?", "faut-il une autorisation ?" ], "scenarios_utilisation": [ "rénovation avant revente", "mise aux normes après achat" ], "mots_cles_opportunites": [ "remplacement fenêtre prix", "aide rénovation énergétique 2026" ], "verticals": [ "menuiserie", "isolation" ], "categories": [ "guides pratiques", "coulisses de chantier" ] }, "personas": [ { "age": "52 ans", "role": "gérant", "peurs": [ "se retrouver avec un chantier à l'arrêt" ], "freins": [ "ne sait pas comparer deux devis" ], "prenom": "Marc", "secteur": "restauration indépendante", "kpi_cible": [ { "kpi": "couverts en semaine", "cible": "+15 % en trois mois" } ], "objectifs": [ "remplir la salle en semaine" ], "delai_cible": "sous trois mois", "description": "Gérant d'un restaurant de 40 couverts, seul aux commandes du numérique, sans temps ni goût pour ça.", "budget_bande": "200 à 500 € par mois", "title_hooks": [ "ce que vos clients cherchent avant de réserver" ], "cta_preferes": [ "demander un diagnostic gratuit" ], "funnel_stage": "MOFU", "localisation": "Lyon et première couronne", "stack_outils": [ "Google Business Profile", "Instagram" ], "decision_role": "décideur unique", "angle_editorial": "montrer le coût de l'inaction, sans dramatiser", "awareness_level": "conscient du problème, pas des solutions", "ton_editorial": "direct, concret, sans jargon", "canaux_preferes": [ "recherche Google", "Instagram" ], "topics_exemples": [ "pourquoi votre fiche Google fait fuir les réservations" ], "attentes_contenu": [ "des exemples chiffrés", "des étapes applicables le jour même" ], "citation_typique": "On me trouve, mais personne ne réserve.", "next_best_action": [ "vérifier sa fiche en deux minutes" ], "sensibilite_prix": "élevée : compare systématiquement trois offres", "criteres_decision": [ "preuve locale", "délai annoncé tenu" ], "preuves_preferees": [ "avis de voisins de quartier", "avant/après daté" ], "valeurs_attendues": [ "franchise", "proximité" ], "canaux_commerciaux": [ "téléphone", "formulaire de contact" ], "contexte_recherche": "le soir, sur mobile, après le service", "cycle_achat_estime": "deux à six semaines", "moment_declencheur": "une semaine creuse de trop", "besoins_specifiques": [ "comprendre ce que voit un client avant de réserver" ], "habitudes_digitales": [ "consulte ses avis une fois par semaine" ], "evenement_declencheur": "un avis négatif resté sans réponse", "motivations_profondes": [ "être reconnu comme une bonne adresse" ], "format_contenu_prefere": [ "liste de contrôle", "vidéo courte" ], "questions_prioritaires": [ "que voient mes clients quand ils me cherchent ?" ], "objections_prioritaires": [ "je n'ai pas le temps de m'en occuper" ], "niveau_maturite_digitale": "faible : gère seul, sans outil dédié", "axes_editoriaux_recommandes": [ "visibilité locale", "réputation" ] } ], "editorialPositioning": { "uniqueAngle": "On montre les chantiers en cours, pas seulement les finis.", "differentiators": [ "devis chiffré en 48 h", "photos datées de chaque étape" ], "messagingPillars": [ "la transparence sur les délais", "le travail visible" ], "brandVoice": "Direct, concret, jamais condescendant. On explique sans faire la leçon." }, "valueProposition": [ "une carte qui change chaque semaine", "tout fait maison" ], "keyMessages": [ "la saison décide de la carte", "le patron est en cuisine" ], "searchIntents": [ { "intentType": "informationnelle", "description": "Comprendre ce qui fait fuir un client avant qu'il appelle.", "keywords": [ "fiche google restaurant incomplète", "pourquoi personne ne réserve" ], "contentVolume": 4, "keywordVolumes": { "fiche google restaurant incomplète": { "searchVolume": 320, "searchVolumeStatus": "ok" } } } ], "contentPillars": [ { "name": "visibilité locale", "description": "Tout ce qui décide si un client proche vous trouve et vous appelle.", "priority": "high" } ], "semanticClusters": [ { "nom_cluster": "visibilité locale", "keywords": [ "fiche google restaurant", "avis google restaurant" ], "description": "Tout ce qu'un client voit avant de réserver, et comment le corriger.", "volume_optimal": 6, "type_intention": [ "informationnelle", "commerciale" ], "personas_cibles": [ "Marc", "Sylvie" ], "priorisation": { "phase1": [ "Ce que vos clients voient avant de réserver" ], "phase2": [ "Répondre aux avis sans y passer la semaine" ] }, "axes_editoriaux": [ { "nom": "preuve locale", "pertinence": "Les lecteurs comparent d'abord sur la proximité, pas sur le prix.", "role_recommande": "pilier", "justification": "Deux concurrents la tiennent déjà : sans preuve locale, aucun contenu ne passe devant." } ], "angle_strategique": "Montrer ce que le client voit, avant de parler de ce qu'on fait.", "role_strategique_cluster": "pilier" } ], "suggestedTopics": [ "Ce que vos clients voient avant de réserver", "Répondre aux avis sans y passer la semaine" ], "createdAt": "2026-09-02T14:31:07.000Z", "updatedAt": "2026-09-24T09:05:11.000Z"}Generated from the capability registry — API version 1, 18 paths, from 4815355 (2026-10-12).