Digitalyser.io for developers
API referenceEditorial

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.

GET/v1/projects/{projectId}/editorial-strategy

Authorization

agent-token
AuthorizationBearer <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

projectId*string

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.

Formatuuid

Response 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).

Was this page helpful?