# অডিয়েন্স API

## bulkSetTags

`POST` `https://api.pushwoosh.com/api/v2/audience/bulkSetTags`

ডিভাইসের তালিকার জন্য ট্যাগ মান সেট করে।

<Aside type="caution" title="গুরুত্বপূর্ণ">
  `bulkSetTags` পদ্ধতি ব্যবহার করার সময়, নিশ্চিত করুন যে সর্বনিম্ন ৫০টি ডিভাইসের জন্য ট্যাগ মান সেট করা হয়েছে। একটি ডিভাইসের জন্য ট্যাগ সেট করতে, [`setTags`](/bn/developer/api-reference/device-api/#settags) পদ্ধতিটি ব্যবহার করুন।
</Aside>

#### অনুরোধের বডি

| নাম                                           | টাইপ    | বিবরণ                                                                 |
| ---------------------------------------------- | ------- | --------------------------------------------------------------------------- |
| application\*  | String  | [পুশউশ অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code)                                                     |
| auth\*         | String  | পুশউশ কন্ট্রোল প্যানেল থেকে [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)।                              |
| create\_missing\_tags                          | Boolean | যদি সত্য হয়, অনুপস্থিত ট্যাগগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়।                            |
| devices\*      | Object  | ডিভাইসের অ্যারে।                                                           |
| devices.hwid                                   | String  | user\_id বা push\_token এর পরিবর্তে একটি ডিভাইস শনাক্ত করতে ব্যবহার করা যেতে পারে। [আরও জানুন](/bn/developer/api-reference/api-identifiers/#hardware-id)         |
| devices.user\_id                               | String  | hwid বা push\_token এর পরিবর্তে একজন ব্যবহারকারীকে শনাক্ত করতে ব্যবহার করা যেতে পারে। [আরও জানুন](/bn/developer/api-reference/api-identifiers/#user-id)               |
| devices.push\_token                            | String  | hwid বা user\_id এর পরিবর্তে একটি ডিভাইস শনাক্ত করতে ব্যবহার করা যেতে পারে। [আরও জানুন](/bn/developer/api-reference/api-identifiers/#push-token)                |
| devices.list\_operator                         | String  | তালিকা ধরনের [ট্যাগগুলির](/bn/developer/api-reference/api-identifiers/#tag) জন্য মান কীভাবে সেট করতে হবে তা নির্ধারণ করে: সেট, অ্যাপেন্ড, বা রিমুভ |
| devices.tags\* | Object  | নির্দিষ্ট ট্যাগগুলির জন্য সেট করার মান।                                       |

<Tabs>
  <TabItem label="ঠিক আছে">
    ```json
    {
      "request_id": "GET পদ্ধতিতে কাজের স্ট্যাটাস পেতে ব্যবহৃত অনুরোধ আইডি",
      "status": "পেন্ডিং"
    }
    ```
  </TabItem>

  <TabItem label="ত্রুটি">
    ```json
    {
      "message": "অবৈধ অনুরোধ"
    }
    ```
  </TabItem>
</Tabs>


```json title="অনুরোধ:"
{
  "application": "application code",   // আবশ্যক। পুশউশ অ্যাপ কোড
  "auth": "Pushwoosh auth token",      // আবশ্যক। পুশউশ কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
  "create_missing_tags": false,        // ঐচ্ছিক। অনুপস্থিত ট্যাগগুলি স্বয়ংক্রিয়ভাবে তৈরি করা উচিত
  "devices": [{                        // আবশ্যক। ডিভাইসের অ্যারে
    "hwid": "device hwid",             // ঐচ্ছিক। এর পরিবর্তে একটি ডিভাইস শনাক্ত করতে ব্যবহার করা যেতে পারে
                                       //           "user_id" বা "push_token"।
    "user_id": "user ID",              // ঐচ্ছিক। "hwid" বা "push_token" এর পরিবর্তে একজন ব্যবহারকারীকে শনাক্ত করতে ব্যবহার করা যেতে পারে।
    "push_token": "device push token", // ঐচ্ছিক। "hwid" বা "user_id" এর পরিবর্তে একটি ডিভাইস শনাক্ত করতে ব্যবহার করা যেতে পারে।
    "list_operator": "set",            // আবশ্যক। তালিকা ট্যাগের জন্য। তালিকা ধরনের ট্যাগগুলির জন্য
                                       //           মান কীভাবে সেট করতে হবে তা নির্ধারণ করে: সেট, অ্যাপেন্ড, বা রিমুভ
    "tags": {                          // আবশ্যক। নির্দিষ্ট ট্যাগগুলির জন্য সেট করার মান।
      "tag_name": "tagvalue",          //           সঠিক মানের টাইপ ব্যবহার করুন
      "tag_name2": "tagvalue2"
    }
  }]
}

```

```json title="প্রতিক্রিয়া:"
{
  "request_id": "GET পদ্ধতিতে কাজের স্ট্যাটাস পেতে ব্যবহৃত অনুরোধ আইডি",
  "status": "পেন্ডিং"
}
```

## bulkSetTags স্ট্যাটাস

`GET` `https://api.pushwoosh.com/api/v2/audience/bulkSetTags/{request_id}?detailed=false`

`/bulkSetTags` অপারেশনের স্ট্যাটাস প্রদান করে

#### পাথ প্যারামিটার

| নাম        | টাইপ   | বিবরণ                                |
| ----------- | ------ | ------------------------------------------ |
| request\_id | String | পূর্ববর্তী `/bulkSetTags` কল থেকে অনুরোধ আইডি |

#### কোয়েরি প্যারামিটার

| নাম     | টাইপ    | বিবরণ                                             |
| -------- | ------- | ------------------------------------------------------- |
| detailed | Boolean | (সত্য/মিথ্যা) প্রতি-ডিভাইস বিস্তারিত তথ্য প্রদান করা হবে কিনা |

```json title="প্রতিক্রিয়া:"
{
  "request_id": "অনুরোধের আইডি",
  "status": "সম্পূর্ণ",          // এছাড়াও "পেন্ডিং", "ব্যর্থ"
  "progress": 100,                // কাজের অগ্রগতি ০-১০০
  "devices_success": 100,         // ভালো ডিভাইস
  "devices_not_found": 0,         // পুশউশে ডিভাইস পাওয়া যায়নি
  "devices_failed": 0,            // ত্রুটিযুক্ত
  "devices": [{                   // ডিভাইস রিপোর্ট (শুধুমাত্র বিস্তারিত = সত্য হলে)
    "hwid": "device hwid",
    "status": "সম্পন্ন",             // এছাড়াও "ব্যর্থ", "পাওয়া যায়নি"
    "tags": {
      "tagName": "ঠিক আছে",
      "tagName2": "ট্যাগ পাওয়া যায়নি",
      "tagName3": "ভুল মান। প্রত্যাশিত :স্ট্রিং"
    }
  }]
}

```

## bulkRegisterDevice

একটি অনুরোধে পুশউশে একাধিক ডিভাইস নিবন্ধন করে। এটি প্রতিটি ডিভাইসের জন্য বিভিন্ন ট্যাগ নির্দিষ্ট করার অনুমতিও দেয়।

`POST` `https://api.pushwoosh.com/api/v2/audience/bulkRegisterDevice`

### অনুরোধের বডি প্যারামিটার

| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
| :---- | ----- | ----- | ----- |
| application | string | হ্যাঁ | [পুশউশ অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| auth | string | হ্যাঁ | [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)। |
| devices | array | হ্যাঁ | ডিভাইস অবজেক্টের একটি অ্যারে। প্রতিটি অবজেক্ট একটি ডিভাইস এবং এর সংশ্লিষ্ট ডেটা উপস্থাপন করে। নিচের **ডিভাইস অবজেক্ট প্যারামিটার** টেবিলে বিস্তারিত দেখুন। |

#### ডিভাইস অবজেক্ট প্যারামিটার

| প্যারামিটার       | টাইপ     | আবশ্যক | বিবরণ                                                                                     |
|-----------------|----------|----------|-------------------------------------------------------------------------------------------------|
| hwid          | string | হ্যাঁ      | ডিভাইসের জন্য [হার্ডওয়্যার আইডি](/bn/developer/api-reference/api-identifiers/#hardware-id) বা অনন্য শনাক্তকারী।                                           |
| push_token    | string | হ্যাঁ      | ডিভাইসের জন্য [পুশ টোকেন](/bn/developer/api-reference/api-identifiers/#push-token)।                                                                     |
| platform      | integer| হ্যাঁ      | প্ল্যাটফর্ম শনাক্তকারী। [আরও জানুন](/bn/developer/api-reference/messages-api/api-prerequisites/#platforms) |
| list_operator | string | না       | তালিকা-ধরনের ট্যাগগুলির জন্য ক্রিয়া নির্ধারণ করে: <br/> - **"append"**: ট্যাগ তালিকায় নির্দিষ্ট মান যোগ করুন। <br/> - **"remove"**: ট্যাগ তালিকা থেকে নির্দিষ্ট মান সরান। <br/> **দ্রষ্টব্য**: যদি `list_operator` প্যারামিটার নির্দিষ্ট না করা হয়, তাহলে ট্যাগ তালিকার সমস্ত বিদ্যমান মান প্রদত্ত মানগুলির সাথে প্রতিস্থাপিত হবে। |
| tags          | object | না       | ডিভাইসে নির্ধারিত কাস্টম [ট্যাগ](/bn/developer/api-reference/api-identifiers/#tag)। ট্যাগগুলি সেগমেন্টেশনের জন্য ব্যবহৃত কী-ভ্যালু পেয়ার।            |



#### অনুরোধের উদাহরণ

```json
{
  "application": "application code",   // আবশ্যক। পুশউশ অ্যাপ কোড
  "auth": "Pushwoosh auth token",      // আবশ্যক। পুশউশ কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
  "devices": [{                        // আবশ্যক। ডিভাইসের অ্যারে
    "hwid": "device hwid",             // আবশ্যক। ডিভাইসের জন্য অনন্য শনাক্তকারী (ইমেল হতে পারে)।
    "push_token": "device push token", // আবশ্যক। ডিভাইসের জন্য পুশ নোটিফিকেশন টোকেন।
    "platform": 14,                    // আবশ্যক। ডিভাইস প্ল্যাটফর্ম (যেমন, ইমেলের জন্য 14)।
    "list_operator": "append",         // ঐচ্ছিক। তালিকা ট্যাগের জন্য। তালিকা ধরনের ট্যাগ থেকে নির্দিষ্ট মান(গুলি) যোগ বা অপসারণ করে।
    "tags": {                          // ঐচ্ছিক। নির্দিষ্ট ট্যাগগুলির জন্য সেট করার মান।
      "language": "en",                //           সঠিক মানের টাইপ ব্যবহার করুন।
      "CSV_Import": "summer_camp"
    }
  },
  {
    "hwid": "device hwid 2",           // আবশ্যক। দ্বিতীয় ডিভাইসের জন্য অনন্য শনাক্তকারী।
    "push_token": "device push token 2", // আবশ্যক। ডিভাইসের জন্য পুশ নোটিফিকেশন টোকেন।
    "platform": 14,                    // আবশ্যক। ডিভাইস প্ল্যাটফর্ম।
    "list_operator": "remove",         // ঐচ্ছিক। তালিকা ধরনের ট্যাগ থেকে মান যোগ বা অপসারণ করে।
    "tags": {                          // ঐচ্ছিক। নির্দিষ্ট ট্যাগ থেকে অপসারণ করার মান।
      "language": "en",
      "CSV_Import": "summer_camp2"
    }
  },
  {
    "hwid": "device hwid 3",           // আবশ্যক। তৃতীয় ডিভাইসের জন্য অনন্য শনাক্তকারী।
    "push_token": "device push token 3", // আবশ্যক। ডিভাইসের জন্য পুশ নোটিফিকেশন টোকেন।
    "platform": 14,                    // আবশ্যক। ডিভাইস প্ল্যাটফর্ম।
    "tags": {                          // ঐচ্ছিক। নির্দিষ্ট ট্যাগগুলির জন্য সেট করার মান।
      "language": "en",
      "CSV_Import": "summer_camp3"
    }
  }]
}

```

### প্রতিক্রিয়া

পদ্ধতিটি একটি অপারেশন আইডি দিয়ে প্রতিক্রিয়া জানায়, যা বাল্ক নিবন্ধন প্রক্রিয়ার স্ট্যাটাস এবং ফলাফল ট্র্যাক করতে ব্যবহার করা যেতে পারে।

```json
{
  "request_id": "GET পদ্ধতিতে কাজের স্ট্যাটাস পেতে ব্যবহৃত অনুরোধ আইডি",
  "status": "পেন্ডিং"
}

```

## bulkRegisterDevice স্ট্যাটাস

আপনি নিম্নলিখিত **GET** অনুরোধ করে একটি বাল্ক নিবন্ধন প্রক্রিয়ার স্ট্যাটাস পরীক্ষা করতে পারেন:

`GET` `https://api.pushwoosh.com/api/v2/audience/bulkRegisterDevice/{request_id}?detailed=true`

| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
| ----- | ----- | ----- | ----- |
| request_id | string | হ্যাঁ | POST অনুরোধ দ্বারা ফেরত দেওয়া অনুরোধ আইডি। |
| detailed | boolean | না | যদি `true` তে সেট করা হয়, প্রতিক্রিয়াতে প্রতিটি নিবন্ধিত ডিভাইসের জন্য বিস্তারিত ফলাফল অন্তর্ভুক্ত থাকে। |


#### উদাহরণ প্রতিক্রিয়া

```json
{
  "request_id": "9a2e1a14-XXXX-46c3-XXXX-c254b25d3782",
  "status": "সম্পূর্ণ",
  "progress": 100,
  "devices_success": 4,
  "devices": [
    {
      "hwid": "user1@example.com",
      "status": "সম্পন্ন"
    },
    {
      "hwid": "user2@example.com",
      "status": "সম্পন্ন"
    },
    {
      "hwid": "user3@example.com",
      "status": "সম্পন্ন"
    },
    {
      "hwid": "invalid_email@example.com",
      "status": "ব্যর্থ"
    }
  ]
}

```

## bulkUnregisterDevice

একটি অনুরোধে পুশউশ থেকে একাধিক ডিভাইস নিবন্ধনমুক্ত করে।

`POST` `https://api.pushwoosh.com/api/v2/audience/bulkUnregisterDevice`

### অনুরোধের বডি প্যারামিটার

| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
| :---- | ----- | ----- | ----- |
| application | string | হ্যাঁ | [পুশউশ অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| auth | string | হ্যাঁ | [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token) |
| devices | array | হ্যাঁ | ডিভাইস অবজেক্টের একটি অ্যারে। প্রতিটি অবজেক্ট একটি ডিভাইস এবং এর সংশ্লিষ্ট ডেটা উপস্থাপন করে। নিচের **ডিভাইস অবজেক্ট প্যারামিটার** টেবিলে বিস্তারিত দেখুন। |

#### ডিভাইস অবজেক্ট প্যারামিটার

| প্যারামিটার       | টাইপ     | আবশ্যক | বিবরণ                                                                                     |
|-----------------|----------|----------|-------------------------------------------------------------------------------------------------|
| hwid          | string | হ্যাঁ      | ডিভাইসের জন্য হার্ডওয়্যার আইডি বা অনন্য শনাক্তকারী। [আরও জানুন](/bn/developer/api-reference/api-identifiers/#hardware-id)                                          |



#### অনুরোধের উদাহরণ

```json
{
  "application": "application code",   // আবশ্যক। পুশউশ অ্যাপ কোড
  "auth": "Pushwoosh auth token",      // আবশ্যক। পুশউশ কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
  "devices": [{                        // আবশ্যক। ডিভাইসের অ্যারে
    "hwid": "device hwid",             // আবশ্যক। ডিভাইসের জন্য অনন্য শনাক্তকারী (ইমেল হতে পারে)।
  },
  {
    "hwid": "device hwid 2",           // আবশ্যক। দ্বিতীয় ডিভাইসের জন্য অনন্য শনাক্তকারী।
  },
  {
    "hwid": "device hwid 3",           // আবশ্যক। তৃতীয় ডিভাইসের জন্য অনন্য শনাক্তকারী।
  }]
}

```

### প্রতিক্রিয়া

পদ্ধতিটি একটি অপারেশন আইডি দিয়ে প্রতিক্রিয়া জানায়, যা বাল্ক প্রক্রিয়ার স্ট্যাটাস এবং ফলাফল ট্র্যাক করতে ব্যবহার করা যেতে পারে।

```json
{
  "request_id": "GET পদ্ধতিতে কাজের স্ট্যাটাস পেতে ব্যবহৃত অনুরোধ আইডি",
  "status": "পেন্ডিং"
}

```

## bulkUnregisterDevice স্ট্যাটাস

আপনি নিম্নলিখিত **GET** অনুরোধ করে একটি বাল্ক নিবন্ধনমুক্তকরণ প্রক্রিয়ার স্ট্যাটাস পরীক্ষা করতে পারেন:

`GET` `https://api.pushwoosh.com/api/v2/audience/bulkUnregisterDevice/{request_id}?detailed=true`

| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
| ----- | ----- | ----- | ----- |
| request_id | string | হ্যাঁ | POST অনুরোধ দ্বারা ফেরত দেওয়া অনুরোধ আইডি। |
| detailed | boolean | না | যদি `true` তে সেট করা হয়, প্রতিক্রিয়াতে প্রতিটি নিবন্ধনমুক্ত ডিভাইসের জন্য বিস্তারিত ফলাফল অন্তর্ভুক্ত থাকে। |


#### উদাহরণ প্রতিক্রিয়া

```json
{
  "request_id": "9a2e1a14-XXXX-46c3-XXXX-c254b25d3782",
  "status": "সম্পূর্ণ",
  "progress": 100,
  "devices_success": 4,
  "devices": [
    {
      "hwid": "user1@example.com",
      "status": "সম্পন্ন"
    },
    {
      "hwid": "user2@example.com",
      "status": "সম্পন্ন"
    },
    {
      "hwid": "user3@example.com",
      "status": "সম্পন্ন"
    },
    {
      "hwid": "invalid_email@example.com",
      "status": "ব্যর্থ"
    }
  ]
}

```