De bout en bout

Une intégration complète en trois appels curl.

BASE_URL="https://api.morphic.com/v1/partner"  # une clé mor_test_ utilise https://api.morphic.today/v1/partner

# 1. ce dont ce workflow a besoin
curl -s "$BASE_URL/workflows/$WORKFLOW_ID/inputs" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

# 2. démarrer l'exécution
curl -s -X POST "$BASE_URL/workflow-runs" \
  -H "Authorization: Bearer $MORPHIC_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "org_id": "'"$ORG_ID"'",
    "project_id": "'"$PROJECT_ID"'",
    "workflow_id": "'"$WORKFLOW_ID"'",
    "idempotency_key": "story-48213-v2",
    "inputs": {
      "story_document": "https://cdn.example.com/stories/48213.pdf",
      "tone": "thriller"
    }
  }'

# 3. suivez-le jusqu’à un état terminal
curl -s "$BASE_URL/workflow-runs/$RUN_ID?wait=45" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

Une intégration de production ajoute

  • Un idempotency_key par unité de travail, stocké avec votre propre enregistrement, de sorte qu'une nouvelle tentative après un délai d'attente ne puisse pas lancer une deuxième exécution.
  • L'identifiant d'exécution conservé dans cet enregistrement avant toute autre chose — c'est le seul identifiant pour un travail qui vous est déjà facturé.
  • Un webhook, avec le sondage conservé comme solution de repli pour les exécutions dont vous n'avez pas eu de nouvelles.
  • Des ressources téléchargées vers votre propre stockage à leur arrivée, parce que url expire.
  • x-morphic-trace-id consigné dans chaque réponse.

Sur cette page