← 返回
未分类 Key 中文

Tractusx EDC

Interact with Tractus-X EDC (Eclipse Data Connector) control plane API v3 for managing assets, contract negotiations, policies, and data transfers.
使用 Tractus-X EDC(Eclipse Data Connector)控制平面 API v3 管理资产、合同协商、策略及数据传输。
shibazishiye shibazishiye 来源
未分类 clawhub v1.0.1 1 版本 99828.5 Key: 需要
★ 1
Stars
📥 562
下载
💾 3
安装
1
版本
#latest

概述

Tractus-X EDC Connector Skill (v3 API)

Use this skill to interact with a Tractus-X EDC (Eclipse Data Connector) control plane using the v3 API.

Configuration

Set these environment variables:

  • EDC_CONTROL_PLANE_URL - Base URL of the EDC control plane (e.g., http://localhost:9192)
  • EDC_API_KEY - API key for authentication (optional, depends on connector config)

API Base URL

${EDC_CONTROL_PLANE_URL}/v3

Core Operations

1. Assets Management (v3)

Create Asset:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/assets" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "properties": {
      "id": "asset-id",
      "name": "Asset Name",
      "contentType": "application/json",
      "description": "Data asset description"
    },
    "dataAddress": {
      "type": "HttpData",
      "baseUrl": "https://provider.example.com/data",
      "proxyBody": true,
      "proxyPath": true
    }
  }'

Update Asset:

curl -X PUT "${EDC_CONTROL_PLANE_URL}/v3/assets" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "properties": {
      "id": "asset-id",
      "name": "Updated Asset Name"
    }
  }'

List Assets:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/assets/request" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "filterExpression": [],
    "range": {"from": 0, "to": 100}
  }'

Get Asset:

curl -X GET "${EDC_CONTROL_PLANE_URL}/v3/assets/{id}" \
  -H "X-Api-Key: ${EDC_API_KEY}"

Delete Asset:

curl -X DELETE "${EDC_CONTROL_PLANE_URL}/v3/assets/{id}" \
  -H "X-Api-Key: ${EDC_API_KEY}"

2. Policy Definitions (v3)

List Policies:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/policydefinitions/request" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{"filterExpression": [], "range": {"from": 0, "to": 100}}'

3. Contract Definitions (v3)

Create Contract Definition:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/contractdefinitions" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "id": "contract-def-id",
    "accessPolicyId": "policy-id",
    "contractPolicyId": "policy-id",
    "assetsSelector": [{
      "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id",
      "operator": "=",
      "operandRight": "asset-id"
    }]
  }'

Update Contract Definition:

curl -X PUT "${EDC_CONTROL_PLANE_URL}/v3/contractdefinitions" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "id": "contract-def-id",
    "accessPolicyId": "policy-id",
    "contractPolicyId": "policy-id",
    "assetsSelector": [{
      "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id",
      "operator": "=",
      "operandRight": "asset-id"
    }]
  }'

List Contract Definitions:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/contractdefinitions/request" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{"filterExpression": [], "range": {"from": 0, "to": 100}}'

4. Contract Negotiations (v3)

Initiate Negotiation:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/contractnegotiations" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "connectorId": "provider-connector-id",
    "connectorAddress": "http://provider-connector:9194/protocol/dsp",
    "offer": {
      "assetId": "asset-id",
      "offerId": "offer-id:1",
      "policy": {
        "permissions": [{
          "target": "default",
          "action": {"type": "USE"},
          "constraints": []
        }]
      }
    }
  }'

Query Negotiations:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/contractnegotiations/request" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{"filterExpression": [], "range": {"from": 0, "to": 100}}'

Get Contract Agreement for Negotiation:

curl -X GET "${EDC_CONTROL_PLANE_URL}/v3/contractnegotiations/{id}/agreement" \
  -H "X-Api-Key: ${EDC_API_KEY}"

5. Contract Agreements (v3)

Get Contract Agreement:

curl -X GET "${EDC_CONTROL_PLANE_URL}/v3/contractagreements/{id}" \
  -H "X-Api-Key: ${EDC_API_KEY}"

Get Retired Agreements:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/contractagreements/retirements/request" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}"

6. Transfer Processes (v3)

Initiate Transfer:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/transferprocesses" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "protocol": "dsp",
    "connectorId": "provider-connector-id",
    "connectorAddress": "http://provider-connector:9194/protocol/dsp",
    "contractId": "contract-agreement-id",
    "assetId": "asset-id",
    "managedResources": true,
    "dataDestination": {
      "type": "HttpProxy",
      "baseUrl": "http://consumer-backend:8080/data"
    }
  }'

Suspend Transfer:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/transferprocesses/{id}/suspend" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{"reason": "Suspension reason"}'

7. EDR (Endpoint Data Reference) Management (v3)

Initiate EDR Negotiation:

curl -X POST "${EDC_CONTROL_PLANE_URL}/v3/edrs" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: ${EDC_API_KEY}" \
  -d '{
    "connectorId": "provider-connector-id",
    "connectorAddress": "http://provider-connector:9194/protocol/dsp",
    "offer": {
      "assetId": "asset-id",
      "offerId": "offer-id:1",
      "policy": {
        "permissions": [{
          "target": "default",
          "action": {"type": "USE"},
          "constraints": []
        }]
      }
    }
  }'

Get EDR Data Address:

curl -X GET "${EDC_CONTROL_PLANE_URL}/v3/edrs/{transferProcessId}/dataaddress" \
  -H "X-Api-Key: ${EDC_API_KEY}"

8. Business Partner Groups (v3)

Resolve All Groups:

curl -X GET "${EDC_CONTROL_PLANE_URL}/v3/business-partner-groups/groups" \
  -H "X-Api-Key: ${EDC_API_KEY}"

Resolve Groups for BPN:

curl -X GET "${EDC_CONTROL_PLANE_URL}/v3/business-partner-groups/{bpn}" \
  -H "X-Api-Key: ${EDC_API_KEY}"

Delete BPN Entry:

curl -X DELETE "${EDC_CONTROL_PLANE_URL}/v3/business-partner-groups/{bpn}" \
  -H "X-Api-Key: ${EDC_API_KEY}"

9. Health Checks

Health Check:

curl -X GET "${EDC_CONTROL_PLANE_URL}/check/health"

Startup Check:

curl -X GET "${EDC_CONTROL_PLANE_URL}/check/startup"

Workflow: Complete Data Exchange

  1. Provider Side:
    • Create Asset with data address
    • Create Policy definition
    • Create Contract definition linking asset to policy
  1. Consumer Side:
    • Initiate Contract Negotiation
    • Query negotiations to track state
    • Get Contract Agreement from negotiation
    • Initiate Transfer Process
    • Suspend/resume transfer as needed
    • Get EDR data address for actual data access

Common States

Contract Negotiation States (from negotiation object)

  • REQUESTING - Initial request sent
  • OFFERED - Offer received
  • ACCEPTED - Offer accepted
  • AGREED - Agreement reached
  • VERIFIED - Agreement verified
  • TERMINATED - Negotiation ended

Transfer Process States

  • INITIAL - Transfer initiated
  • PROVISIONING - Resources being provisioned
  • PROVISIONED - Resources ready
  • REQUESTING - Request sent to provider
  • STARTED - Transfer started
  • SUSPENDED - Transfer paused
  • COMPLETED - Transfer finished
  • TERMINATED - Transfer ended
  • ERROR - Transfer failed

Error Handling

Errors return with status codes:

  • 400 - Request malformed
  • 404 - Resource not found
  • 409 - Conflict (e.g., asset already exists)
  • 500 - Internal server error

Response format:

[{ "message": "Error description", "path": "field/path", "invalidValue": "bad-value" }]

OpenAPI Reference

Full API specification: https://eclipse-tractusx.github.io/api-hub/tractusx-edc/0.12.0/control-plane/control-plane.yaml

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-30 19:40 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,589
dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 72 📥 181,892
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 678 📥 327,561