# جهات الاتصال

> استعلم عن بيانات جهات الاتصال وحدّثها

- الصفحة: https://tbit.app/ar/docs/api/contacts
- عنوان URL الأساسي: `https://rest-api.tbit.app/v1`
- المصادقة: ترويسة `X-API-Key` تحمل مفتاحك في كل طلب (تقرأه الأمثلة من متغير البيئة `TBIT_API_KEY`)

## نظرة عامة

تمثّل جهات الاتصال الأشخاص الذين يتواصلون مع وكيلك عبر قنوات مثل واتساب وإنستغرام والبريد الإلكتروني. لكل جهة اتصال ملف يضم الاسم ومعرّفات القنوات وبيانات وصفية اختيارية.

## نقاط النهاية

| الطريقة | المسار | الوصف |
| --- | --- | --- |
| `GET` | `/v1/contacts` | عرض جهات الاتصال |
| `GET` | `/v1/contacts/:id` | جلب تفاصيل جهة اتصال |
| `POST` | `/v1/contacts` | إنشاء جهة اتصال جديدة |
| `PATCH` | `/v1/contacts/:id` | تحديث جهة اتصال |

## معاملات الاستعلام

تدعم نقطة نهاية العرض معاملات الاستعلام التالية:

| المعامل | النوع | الوصف |
| --- | --- | --- |
| `limit` | `number` | عدد النتائج في الصفحة (الافتراضي: 20، الحد الأقصى: 100) |
| `offset` | `number` | عدد النتائج التي يتم تخطيها (الافتراضي: 0) |

## عرض جهات الاتصال

`GET /v1/contacts`

```bash
curl "https://rest-api.tbit.app/v1/contacts?limit=20&offset=0" \
  -H "X-API-Key: $TBIT_API_KEY"
```

## جلب تفاصيل جهة اتصال

`GET /v1/contacts/64f1a2b3c4d5e6f7a8b9c0d1`

```bash
curl "https://rest-api.tbit.app/v1/contacts/64f1a2b3c4d5e6f7a8b9c0d1" \
  -H "X-API-Key: $TBIT_API_KEY"
```

## تحديث جهة اتصال

`PATCH /v1/contacts/64f1a2b3c4d5e6f7a8b9c0d1`

```bash
curl -X PATCH "https://rest-api.tbit.app/v1/contacts/64f1a2b3c4d5e6f7a8b9c0d1" \
  -H "X-API-Key: $TBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_name": "Jane Doe",
    "email": "jane@example.com",
    "notes": "Preferred language: English"
  }'
```

## إنشاء جهة اتصال

`POST /v1/contacts`

```bash
curl -X POST "https://rest-api.tbit.app/v1/contacts" \
  -H "X-API-Key: $TBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channel_id": "573009876543",
    "channel_type": "whatsapp",
    "profile_name": "Jane Doe",
    "custom_attributes": {
      "city": "Bogota",
      "plan": "premium"
    }
  }'
```

## صيغة الاستجابة

تُرجع نقاط نهاية العرض نتائج مقسّمة إلى صفحات:

```json
{
  "data": [
    {
      "id": "64f1a2b3c4d5e6f7a8b9c0d1",
      "profile_name": "Jane Doe",
      "email": "jane@example.com",
      "notes": "Preferred language: English",
      "channels": [
        {
          "channel_id": "573001234567",
          "channel_type": "whatsapp"
        }
      ],
      "custom_attributes": {
        "city": "Bogota",
        "plan": "premium"
      },
      "created_at": "2024-09-01T12:00:00Z",
      "updated_at": "2024-09-01T14:30:00Z"
    }
  ],
  "pagination": {
    "total": 50,
    "limit": 20,
    "offset": 0,
    "has_more": true
  }
}
```
