api-integration – skill Lập trình cho agent AI
Thiết kế kiến trúc hướng sự kiện, hệ thống webhook, luồng nối chuỗi API, pipeline ETL và các mẫu tích hợp giữa các dịch vụ.
Cài skill api-integration bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/api-integration-9c721.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /api-integration – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/api-integration-9c721.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $api-integration – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/api-integration-9c721.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /api-integration – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/api-integration-9c721.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /api-integration – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
API Integration Skill
When to Use
Use this skill when you need designs event-driven architectures, webhook systems, API chaining flows, ETL pipelines, and integration patterns between services. Use whenever the user asks about webhooks, event streaming, API composition, connecting two or more APIs, building pipelines, Pub/Sub, Kafka topics, ETL...
Design integration patterns, webhook flows, event pipelines, and API composition strategies.
---
Webhook Design
Outbound Webhook Endpoint (from your system to 3rd party)
POST {subscriber_url}
Headers:
Content-Type: application/json
X-Webhook-Signature: sha256=<sig>
X-Webhook-Event: order.created
X-Webhook-Delivery: <uuid>
X-Webhook-Timestamp: <unix-epoch>Payload envelope
{
"event": "order.created",
"delivery_id": "uuid",
"created_at": "ISO8601",
"data": { ... }
}Signature verification (receiver side):
import hmac, hashlib
expected = hmac.new(secret.encode(), payload_bytes, hashlib.sha256).hexdigest()
# webhook-signature-example: do not use assert for an authorization boundary
if not hmac.compare_digest(f"sha256={expected}", request.headers.get("X-Webhook-Signature", "")):
raise ValueError("Invalid webhook signature")Inbound Webhook Registration API
POST /api/v1/webhooks — register subscriber URL + events
GET /api/v1/webhooks — list subscriptions
DELETE /api/v1/webhooks/{id} — unsubscribe
POST /api/v1/webhooks/{id}/test — fire test event
GET /api/v1/webhooks/{id}/deliveries — delivery history + status---
API Chaining / Composition Pattern
Step 1: POST /auth/token → get access_token
Step 2: GET /api/v1/user/profile → get user.id (use token from step 1)
Step 3: POST /api/v1/orders → create order (use user.id from step 2)
Step 4: POST /api/v1/payments → charge (use order.id from step 3)Always: handle failures at each step independently, use idempotency keys, implement retry with exponential backoff.
---
Event-Driven Architecture
Event Schema (CloudEvents spec)
{
"specversion": "1.0",
"type": "com.example.order.created",
"source": "/orders-service",
"id": "uuid",
"time": "2024-01-01T00:00:00Z",
"datacontenttype": "application/json",
"data": { "order_id": "...", "amount": 99.99 }
}Topics / Queues design
| Topic | Producers | Consumers | Retention |
|-------|-----------|-----------|-----------|
| orders.created | orders-svc | payments-svc, email-svc | 7 days |
| payments.completed | payments-svc | orders-svc, ledger-svc | 30 days |
| users.deleted | users-svc | all services | 90 days |
---
Saga Pattern (Distributed Transaction)
Choreography saga for order checkout:
1. orders-svc emits order.created
2. inventory-svc reserves stock → emits inventory.reserved
3. payments-svc charges card → emits payment.completed
4. orders-svc emits order.confirmed
On failure at step 3:
← payments-svc emits payment.failed
← inventory-svc releases stock (compensating transaction)
← orders-svc emits order.cancelled---
Outbox Pattern (reliable event publishing)
-- Transactional outbox table
CREATE TABLE outbox_events (
id UUID PRIMARY KEY,
aggregate_type VARCHAR,
aggregate_id UUID,
event_type VARCHAR,
payload JSONB,
created_at TIMESTAMP,
published_at TIMESTAMP NULL
);
-- Write to DB + outbox in same transaction
-- Separate publisher polls outbox and sends to message broker---
Integration Checklist
- [ ] Idempotency keys on all state-changing calls
- [ ] Retry with exponential backoff (base 1s, max 60s, jitter)
- [ ] Circuit breaker (open after 5 failures in 10s)
- [ ] Dead-letter queue for unprocessable events
- [ ] Webhook delivery logging + manual replay endpoint
- [ ] Schema versioning on all events
- [ ] Correlation IDs on all inter-service calls
---
Handoff
Report the event schemas, delivery/retry policy, idempotency and compensation boundaries, and the checks actually performed. Signature verification also needs the provider's current protocol, bounded input, timestamp/replay protection and an authorized test endpoint. A design is not evidence that an integration or payment ran.
Limitations
- Use this skill only when the task clearly matches its upstream source and local project context.
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
Skill liên quan
- api-integration-architect – Thiết kế, triển khai, gỡ lỗi và tối ưu tích hợp API với các mẫu chuyên sâu cho REST…
- api-onboarding – Giảm thời gian đến lần gọi API đầu tiên (TTFAC) bằng cách tối ưu từng bước trong hành…
- api-patterns – Nguyên tắc thiết kế API và cách ra quyết định. Lựa chọn REST vs GraphQL vs tRPC, định…
- api-rate-limit-handler – Triển khai cơ chế giới hạn tần suất API (throttling) có giới hạn, nhận biết idempotency…
- api-sdk-generator – Tạo mã SDK client, thư viện wrapper cho API, model request/response và cách dùng theo…
- api-security-best-practices – Triển khai các mẫu thiết kế API an toàn gồm xác thực, phân quyền, kiểm tra đầu vào, giới…
- api-security-testing – Quy trình kiểm thử bảo mật cho REST và GraphQL API, bao gồm xác thực, phân quyền, rate…
- dotnet-backend-patterns – Nắm vững các mẫu phát triển backend C#/.NET để xây dựng API, MCP server và ứng dụng…