Skip to content

İlk Çalışma Alanınızı Oluşturun

Bu öğreticide bir çalışma alanı oluşturacak, onu varsayılanınız olarak ayarlayacak, bir ekip üyesini davet edecek ve bir üyenin rolünü güncelleyeceksiniz — Chainabit'te işbirliğine dayalı erişim kurmak için tam yaşam döngüsü.

Önkoşullar

  • Geçerli bir erişim belirteci olan bir Chainabit hesabı
  • Terminalinizde curl'un mevcut olması

Ortam değişkenlerinizi ayarlayın:

bash
export BASE_URL="https://api.chainabit.com/api/v1"
export TOKEN="your-access-token"

Erişim belirtecinizi POST /auth/login çağrısı yaparak alın.


Adım 1: Mevcut Çalışma Alanlarınızı Listeleyin

Yeni bir çalışma alanı oluşturmadan önce zaten neye sahip olduğunuzu kontrol edin:

bash
curl -s "$BASE_URL/workspaces" \
  -H "Authorization: Bearer $TOKEN"

Yanıt:

json
{
  "data": [],
  "meta": { "total": 0 },
  "error": null
}

Yeni hesaplar boş bir çalışma alanı listesiyle başlar.


Adım 2: Bir Çalışma Alanı Oluşturun

Bir ad ve isteğe bağlı bir açıklama göndererek bir çalışma alanı oluşturun:

bash
curl -s -X POST "$BASE_URL/workspaces" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Team",
    "description": "Workspace for the product and design team"
  }'

Yanıt:

json
{
  "data": {
    "id": "ws_01HQS...",
    "name": "Product Team",
    "description": "Workspace for the product and design team",
    "isDefault": false,
    "isActive": true,
    "createdAt": "2026-05-26T10:00:00.000Z"
  },
  "meta": null,
  "error": null
}

Çalışma alanı ID'sini kaydedin:

bash
export WORKSPACE_ID="ws_01HQS..."

Adım 3: Çalışma Alanını Varsayılan Olarak Ayarlayın

Varsayılan çalışma alanı, API çağrılarında hiçbir çalışma alanı belirtilmediğinde örtük bağlam olarak kullanılır. Sizinkini ayarlayın:

bash
curl -s -X PUT "$BASE_URL/workspaces/$WORKSPACE_ID/default" \
  -H "Authorization: Bearer $TOKEN"

Yanıt:

json
{
  "data": {
    "id": "ws_01HQS...",
    "name": "Product Team",
    "isDefault": true
  },
  "meta": null,
  "error": null
}

Adım 4: Bir Ekip Üyesini Davet Edin

Chainer ID'sine göre çalışma alanına bir ekip üyesi ekleyin. Bir kullanıcının Chainer ID'sini Identity API'den bulabilirsiniz.

Roller: owner, admin, member, viewer. Sahipler (Owners) tüm çalışma alanı ayarlarını yönetebilir. Üyeler (Members) çalışma alanını kullanabilir. Görüntüleyiciler (Viewers) salt okunur erişime sahiptir.

bash
curl -s -X POST "$BASE_URL/workspaces/$WORKSPACE_ID/members" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "chainerId": "chainer_01HQT...",
    "role": "member"
  }'

Yanıt:

json
{
  "data": {
    "chainerId": "chainer_01HQT...",
    "role": "member",
    "joinedAt": "2026-05-26T10:05:00.000Z"
  },
  "meta": null,
  "error": null
}

Adım 5: Çalışma Alanı Üyelerini Listeleyin

Davetin başarılı olduğunu onaylayın:

bash
curl -s "$BASE_URL/workspaces/$WORKSPACE_ID/members" \
  -H "Authorization: Bearer $TOKEN"

Yanıt:

json
{
  "data": [
    {
      "chainerId": "chainer_01HQR...",
      "role": "owner",
      "joinedAt": "2026-05-26T10:00:00.000Z"
    },
    {
      "chainerId": "chainer_01HQT...",
      "role": "member",
      "joinedAt": "2026-05-26T10:05:00.000Z"
    }
  ],
  "meta": { "total": 2 },
  "error": null
}

Adım 6: Bir Üyenin Rolünü Güncelleyin

Çalışma alanı ayarlarını yönetebilmeleri için üyeyi admin seviyesine terfi ettirin:

bash
curl -s -X PATCH "$BASE_URL/workspaces/$WORKSPACE_ID/members/chainer_01HQT..." \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "role": "admin" }'

Yanıt:

json
{
  "data": {
    "chainerId": "chainer_01HQT...",
    "role": "admin"
  },
  "meta": null,
  "error": null
}

Özet

Bu öğreticide şunları yaptınız:

  1. Mevcut çalışma alanlarını Listelediniz
  2. Yeni bir çalışma alanı Oluşturdunuz
  3. Örtük API bağlamı için onu varsayılan olarak ayarladınız
  4. Bir rolle bir ekip üyesi davet ettiniz
  5. Daveti onaylamak için üyeleri listelediniz
  6. Yönetici erişimi vermek için bir üyenin rolünü güncellediniz

Sonraki Adımlar

Built with purpose.