Idées de post
Consultez, créez et publiez des idées de post en brouillon en attente de validation, et publiez-les comme de véritables posts.
Renvoie des idées de post selon l'un des trois modes suivants : passez locationId pour la grille (paginée) d'un seul établissement ; passez clientId avec scope=locations pour la synthèse des idées au niveau des établissements sur l'ensemble des établissements d'un client ; ou passez clientId avec scope=brand pour les idées de niveau marque de ce client.
Lister les idées de post
/api/v1/post-ideas{
"data": {
"rows": [
{
"id": "cm_idea_abc123",
"agencyId": "cm_agency_1",
"locationId": "cm_loc_1",
"clientLocationId": "cm_loc_1",
"clientId": null,
"brandName": null,
"agentMeta": null,
"title": "Spotlight our new patient special",
"content": "Book this month and get 20% off your first cleaning!",
"imagePrompt": null,
"imageUrl": null,
"type": "announcement",
"status": "draft",
"bucket": "idea",
"platforms": [
"google",
"facebook"
],
"seriesId": null,
"scheduledDate": null,
"scheduledTime": null,
"observanceName": null,
"observanceDate": null,
"generationBatchId": null,
"generationJobId": null,
"isUserGenerated": true,
"source": "os",
"externalId": "cm_idea_abc123",
"reviewStatus": null,
"archived": false,
"archivedAt": null,
"createdAt": "2026-01-20T09:00:00.000Z",
"updatedAt": "2026-01-20T09:00:00.000Z"
}
],
"total": 1,
"page": 1,
"perPage": 20,
"counts": [
{
"bucket": "idea",
"_count": {
"id": 4
}
}
]
}
}Crée (ou, pour un externalId déjà utilisé, met à jour) une idée de post en brouillon, en attente de validation ou prête à être publiée.
Créer une idée de post
/api/v1/post-ideas{
"data": {
"id": "cm_idea_abc123",
"created": true,
"reviewStatus": null,
"status": "draft"
}
}Renvoie une seule idée de post. id accepte soit son propre id, soit l'id externe avec lequel elle a été créée.
Obtenir une idée de post
/api/v1/post-ideas/{id}{
"data": {
"id": "cm_idea_abc123",
"agencyId": "cm_agency_1",
"locationId": "cm_loc_1",
"clientLocationId": "cm_loc_1",
"clientId": null,
"brandName": null,
"agentMeta": null,
"title": "Spotlight our new patient special",
"content": "Book this month and get 20% off your first cleaning!",
"imagePrompt": null,
"imageUrl": null,
"type": "announcement",
"status": "draft",
"bucket": "idea",
"platforms": [
"google",
"facebook"
],
"seriesId": null,
"scheduledDate": null,
"scheduledTime": null,
"observanceName": null,
"observanceDate": null,
"generationBatchId": null,
"generationJobId": null,
"isUserGenerated": true,
"source": "os",
"externalId": "cm_idea_abc123",
"reviewStatus": null,
"archived": false,
"archivedAt": null,
"createdAt": "2026-01-20T09:00:00.000Z",
"updatedAt": "2026-01-20T09:00:00.000Z"
}
}Met à jour les champs modifiables d'une idée de post. id accepte soit son propre id, soit l'id externe avec lequel elle a été créée.
Mettre à jour une idée de post
/api/v1/post-ideas/{id}{
"data": {
"id": "cm_idea_abc123",
"agencyId": "cm_agency_1",
"locationId": "cm_loc_1",
"clientLocationId": "cm_loc_1",
"clientId": null,
"brandName": null,
"agentMeta": null,
"title": "Spotlight our new patient special (updated)",
"content": "Book this month and get 25% off your first cleaning!",
"imagePrompt": null,
"imageUrl": null,
"type": "announcement",
"status": "draft",
"bucket": "idea",
"platforms": [
"google",
"facebook"
],
"seriesId": null,
"scheduledDate": null,
"scheduledTime": null,
"observanceName": null,
"observanceDate": null,
"generationBatchId": null,
"generationJobId": null,
"isUserGenerated": true,
"source": "os",
"externalId": "cm_idea_abc123",
"reviewStatus": null,
"archived": false,
"archivedAt": null,
"createdAt": "2026-01-20T09:00:00.000Z",
"updatedAt": "2026-01-20T09:05:00.000Z"
}
}Supprime (archive) une idée de post en suppression douce. id accepte soit son propre id, soit l'id externe avec lequel elle a été créée.
Archiver une idée de post
/api/v1/post-ideas/{id}{
"data": {
"id": "cm_idea_abc123",
"archived": true
}
}Publie une idée de post sous forme de véritable post, en le soumettant à ses plateformes cibles. Sauf si scheduledFor ou draft est défini, cela met du contenu réel en ligne immédiatement. id accepte soit le propre id de l'idée, soit l'id externe avec lequel elle a été créée.
Publier une idée de post
/api/v1/post-ideas/{id}/publish{
"data": {
"postId": "cm_post_xyz789",
"status": "scheduled",
"ideaId": "cm_idea_abc123"
}
}