Préparer l’accès
La clé doit autoriseroperations:write et operations:read, ainsi que les routes utilisées. Obtenir un bearer avec le premier appel, puis définir MARKO_API_BASE_URL et MARKO_ACCESS_TOKEN dans le terminal.
Utiliser un environnement de test pour une première écriture. Garder l’identifiant externe de votre CRM, par exemple crm-operation-001, et une clé d’idempotence par révision à synchroniser.
1. Envoyer l’opération
name. Ajouter spv_id, lead_operateur_id ou des données métier seulement lorsque vous connaissez leurs valeurs dans l’entité. Une création répond 201; un résultat déjà associé peut répondre 200.
La réponse contient external_id, marko_id, outcome et resource. Enregistrer marko_id dans le CRM. Un outcome=noop signifie que les valeurs utiles sont déjà présentes, pas que l’identifiant est absent.
Pour renseigner une taxonomie, consulter GET /taxonomies?dimension=... avant l’envoi. Conserver les codes renvoyés dans taxonomy_additions lorsqu’une option propre à l’entité est créée.
2. Relire l’opération
marko_id.
3. Importer une note datée
GET. date est la date métier de la note. Les dates source_* décrivent sa création et sa révision dans le CRM.
4. Envoyer une nouvelle révision
Pour une modification réelle, gardercrm-operation-001 et utiliser une nouvelle clé d’idempotence, par exemple crm-operation-001-revision-02. Pour corriger une note déjà versionnée, transmettre aussi un source_updated_at strictement plus récent.
Après un timeout, relire la cible avant de répéter l’écriture. Si la reprise reste nécessaire, garder la clé et le contenu de la tentative initiale. Un 409 exige de comparer l’état actuel, la version source et l’intention envoyée.
Les exemples de clients JSON permettent d’effectuer ces appels en Python, Node.js ou PHP sans recopier l’échange HMAC.