Ponta a ponta

Uma integração completa em três chamadas curl.

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

# 1. o que este fluxo de trabalho precisa
curl -s "$BASE_URL/workflows/$WORKFLOW_ID/inputs" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

# 2. iniciar a execução
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. acompanhe até um status final
curl -s "$BASE_URL/workflow-runs/$RUN_ID?wait=45" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

Uma integração de produção adiciona

  • Um idempotency_key por unidade de trabalho, armazenado com seu próprio registro, para que uma nova tentativa após um tempo limite não possa iniciar uma segunda execução.
  • O ID da execução é persistido nesse registro antes de você fazer qualquer outra coisa — é o único identificador do trabalho pelo qual você já está sendo cobrado.
  • Um webhook, com polling mantido como fallback para execuções das quais você ainda não foi notificado.
  • Ativos baixados para seu próprio armazenamento ao chegarem, porque url expira.
  • x-morphic-trace-id registrado em cada resposta.

Nesta página