> For the complete documentation index, see [llms.txt](https://developer.perculus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.perculus.com/v2-tr/servisler/katilimci-yonetimi/katilimci-yaratma-ve-guncelleme.md).

# Katılımcı Yaratma ve Güncelleme

Katılımcıları oluşturmak ve güncellemek için, istek gövdesinde en az bir katılımcı nesnesi içeren bir JSON dizisi bulunmalıdır. Nesneler şu tipte olabilir:

* [UpsertFromUser](/v2-tr/servisler/katilimci-yonetimi/katilimci-yaratma-ve-guncelleme/upsertfromuser-objesi.md)
* [UpsertByEmail](/v2-tr/servisler/katilimci-yonetimi/katilimci-yaratma-ve-guncelleme/upsertbyemail-objesi-dis-katilimci.md) (Dış katılımcılar)
* [UpdateByAttendanceCode](/v2-tr/servisler/katilimci-yonetimi/katilimci-yaratma-ve-guncelleme/updatebyattendancecode.md)

{% hint style="info" %}
Bir oturumdaki tüm katılımcılar için, bir katılımcının e-postası ve kullanıcı kılavuz numarası (*eğer uygulanabilirse*) benzersiz olmalıdır.
{% endhint %}

**Example Request:**

{% hint style="warning" %}
Tek bir istekte birden fazla katılımcı nesnesi (hem oluşturma hem de güncelleme işlemleri) desteklendiğinden, döngü içinde tekil API çağrıları yapmaktan kaçının.
{% endhint %}

Aşağıdaki istek, mümkün olan tüm nesnelerin kullanımını göstermektedir:

{% tabs %}
{% tab title="CURL" %}

```powershell
curl -L -X POST 'https://<DOMAIN>/api/groups/xapi/session/:SESSION_GUID/attendee/batch' \
--data-raw '
[
  // Bir kullanıcı kılavuz numarası (user_guid) kullanarak katılımcıyı ekleyebilir veya güncelleyebilirsiniz, bu işlem kullanıcının e-posta, mobil ve rol gibi tüm değişkenlerini katılımcıya aktaracaktır (rol gönderildiğinde mevcut rolün üzerine yazılır)
   // Bu yanıt, ekleme işlemini gösterecektir
 {
 "user_guid": "44EF7B95-81B0-419D-BB0D-DFBD545F6008"
 },
  // Bir kullanıcı kılavuz numarası (user_guid) kullanarak katılımcıyı ekleyebilir veya güncelleyebilirsiniz, bu işlem kullanıcının e-posta, mobil ve rol gibi tüm değişkenlerini katılımcıya aktaracaktır (rol gönderildiğinde mevcut rolün üzerine yazılır)
   // Bu yanıt, güncelleme işlemini gösterecektir
 {
 "user_guid": "7fd2b7ab-dfbe-4b35-a217-ec11791a4a80",
 "role": "a"
 },
  // Mevcut olmayan bir kullanıcı kılavuz numarası reddedilecektir
 {
 "user_guid": "7fd2b7ab-dfbe-4b35-a217-ec11791a4a8x"
 },
  // E-posta, ad, soyad ve rol ile bir kullanıcıyı ekleyebilir veya güncelleyebilirsiniz (rol belirtilmezse varsayılan olarak 'u' olur)
  // Harici katılımcıları (sistemde kayıtlı olmayan katılımcıları) eklemek için doğru format budur
  // Yanıt, ekleme işlemini gösterecektir
 {
 "email": "doe@example.com",
 "name": "John",
 "surname": "Doe",
 "role": "e"
 },
  // E-posta, ad, soyad ve rol ile bir kullanıcıyı ekleyebilir veya güncelleyebilirsiniz (rol belirtilmezse varsayılan olarak 'u' olur)
  // Yanıt, güncelleme işlemini gösterecektir
 {
 "email": "doe2@example.com",
 "name": "updated_name",
 "surname": "Doe",
 "role": "u"
 },
  // Mevcut bir katılımcıyı katılım kodu ile güncelleyebilirsiniz
 {
 "attendance_code": "5786FF4C-4A93-45A2-BAF1-9461F376E8C5",
 "role": "e"
 },
  // Mevcut olmayan katılım kodu reddedilecektir
 {
 "attendance_code": "2BA64ED7-EE65-4164-A0A0-85A45E8D0BFx",
 "mobile": "+00 000 00 00"
 }
]
'
```

{% endtab %}

{% tab title="NodeJS" %}

```
client.attendees.upsertAttendees(
        "7E040E2D-D1EC-4853-A3FB-8C69FE9BDD1F",
        [
            {
                "user_guid": "44EF7B95-81B0-419D-BB0D-DFBD545F6008"
            },
            {
                "user_guid": "7fd2b7ab-dfbe-4b35-a217-ec11791a4a80",
                "role": "a"
            },
            {
                "user_guid": "7fd2b7ab-dfbe-4b35-a217-ec11791a4a8x"
            },
            {
                "email": "doe@example.com",
                "name": "John",
                "surname": "Doe",
                "role": "e"
            },
            {
                "email": "doe2@example.com",
                "name": "updated_name",
                "surname": "Doe",
                "role": "u"
            },
            {
                "attendance_code": "5786FF4C-4A93-45A2-BAF1-9461F376E8C5",
                "role": "e"
            },
            {
                "attendance_code": "2BA64ED7-EE65-4164-A0A0-85A45E8D0BFx",
                "mobile": "+00 000 00 00"
            }
        ]
    );
```

{% endtab %}
{% endtabs %}

**Örnek yanıt:**

Bu işlemin yanıtı şu şekilde bir json nesnesi içerir:

```json
{
    "approved": [
        // Katılımcı JSON objesi
    ],
    "rejected": [
        // Katılımcı JSON objesi
    ]
}
```

{% hint style="info" %}
İşlemlerin nasıl gittiğine bağlı olarak Yanıt Durum Kodları değişecektir:

* <mark style="color:green;">**200 OK**</mark><mark style="color:green;">:</mark> Tüm işlemler başarıyla tamamlandı
* <mark style="color:green;">**207 Multi-Status**</mark><mark style="color:green;">:</mark> Kısmi başarı - bazı işlemler başarısız oldu
* <mark style="color:red;">**400 Bad Request**</mark><mark style="color:red;">:</mark> Tüm işlemler başarısız oldu
  {% endhint %}

```json
{
    "approved": [
        {
            "session_id": "70826",
            "user_id": "",
            "user_guid": "",
            "attendee_id": "503735",
            "attendance_code": "5786FF4C-4A93-45A2-BAF1-9461F376E8C5",
            "name": "non-existent",
            "surname": "non-existent",
            "email": "non-existent@example.com",
            "role": "e",
            "mobile": null,
            "creation_date": "2024-10-18T21:39:21.575387+03:00",
            "updating_date": "2024-10-18T21:39:39.070343+03:00",
            "operation": "updated"
        },
        {
            "session_id": "70826",
            "user_id": "8208",
            "user_guid": "44EF7B95-81B0-419D-BB0D-DFBD545F6008",
            "attendee_id": "503736",
            "attendance_code": "F344309A-BA6C-4D92-9C5A-4F2EE65AFB34",
            "name": "logar",
            "surname": "komutan",
            "email": "44EF7B95-81B0-419D-BB0D-DFBD545F6008@example.com",
            "role": "a",
            "mobile": "",
            "creation_date": "2024-10-18T21:39:39.125758+03:00",
            "updating_date": "2024-10-18T21:39:39.125758+03:00",
            "operation": "inserted"
        },
        {
            "session_id": "70826",
            "user_id": "4490",
            "user_guid": "7fd2b7ab-dfbe-4b35-a217-ec11791a4a80",
            "attendee_id": "503725",
            "attendance_code": "D1CCAE51-7B5B-4885-A10B-8B30DFA5F014",
            "name": "Atakan",
            "surname": "Bodur",
            "email": "atakan@example.com",
            "role": "a",
            "mobile": "+905314237888",
            "creation_date": "2024-10-18T21:31:19.692427+03:00",
            "updating_date": "2024-10-18T21:39:39.125758+03:00",
            "operation": "updated"
        },
        {
            "session_id": "70826",
            "user_id": "0",
            "user_guid": null,
            "attendee_id": "503738",
            "attendance_code": "27A9E30B-48C3-4933-9E15-6752D686AB51",
            "name": "John",
            "surname": "Doe",
            "email": "doe@example.com",
            "role": "e",
            "mobile": null,
            "creation_date": null,
            "updating_date": null,
            "operation": "inserted"
        },
        {
            "session_id": "70826",
            "user_id": "0",
            "user_guid": null,
            "attendee_id": "503726",
            "attendance_code": "C937F71E-DE23-463E-A3CE-3DCB3F36830D",
            "name": "updated_name",
            "surname": "Doe",
            "email": "doe2@example.com",
            "role": "u",
            "mobile": null,
            "creation_date": null,
            "updating_date": null,
            "operation": "updated"
        }
    ],
    "rejected": [
        {
            "model": {
                "session_id": "70826",
                "user_id": "",
                "user_guid": "",
                "attendee_id": "-1",
                "attendance_code": "",
                "name": null,
                "surname": null,
                "email": null,
                "role": null,
                "mobile": "+00 000 00 00",
                "creation_date": null,
                "updating_date": null,
                "operation": "error"
            },
            "state": {
                "code": 12,
                "details": "Attendee not found"
            }
        },
        {
            "model": {
                "session_id": "-1",
                "user_id": "",
                "user_guid": "7fd2b7ab-dfbe-4b35-a217-ec11791a4a8x",
                "attendee_id": "-1",
                "attendance_code": "",
                "name": null,
                "surname": null,
                "email": null,
                "role": null,
                "mobile": null,
                "creation_date": null,
                "updating_date": null,
                "operation": "error"
            },
            "state": {
                "code": 12,
                "details": "Attendee not found"
            }
        }
    ]
}
```
