De extremo a extremo

Una integración completa en tres llamadas curl.

BASE_URL="https://api.morphic.com/v1/partner"  # una clave mor_test_ usa https://api.morphic.today/v1/partner

# 1. lo que necesita este flujo de trabajo
curl -s "$BASE_URL/workflows/$WORKFLOW_ID/inputs" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

# 2. iniciar la ejecución
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": "suspenso"
    }
  }'

# 3. seguirlo hasta un estado terminal
curl -s "$BASE_URL/workflow-runs/$RUN_ID?wait=45" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

Una integración de producción añade

  • Un idempotency_key por unidad de trabajo, almacenado con tu propio registro, de modo que un reintento después de un tiempo de espera no pueda iniciar una segunda ejecución.
  • El ID de ejecución persistido en ese registro antes de hacer cualquier otra cosa — es el único identificador del trabajo por el que ya se te está cobrando.
  • Un webhook, manteniendo el sondeo como respaldo para ejecuciones de las que no hayas tenido noticias.
  • Los recursos se descargan en tu propio almacenamiento al llegar, porque url caduca.
  • x-morphic-trace-id se registra en cada respuesta.

En esta página