# उपयोगकर्ता-केंद्रित एपीआई

## registerUser

`POST` `https://api.pushwoosh.com/json/1.3/registerUser`

बाहरी यूज़र आईडी को एक निर्दिष्ट डिवाइस के साथ जोड़ता है।

#### अनुरोध हेडर

| नाम | आवश्यक | मान | विवरण |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | हाँ | Token `XXXX` | डिवाइस एपीआई तक पहुंचने के लिए [एपीआई डिवाइस टोकन](/hi/developer/api-reference/api-access-token/#device-api-token)। `XXXX` को अपने वास्तविक डिवाइस एपीआई टोकन से बदलें। |

#### अनुरोध बॉडी

| नाम | आवश्यक | प्रकार | विवरण |
| ----------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------ |
| userId | नहीं | string | डिवाइस के साथ जोड़ने के लिए [यूज़र आईडी](/hi/developer/api-reference/api-identifiers/#user-id)। यदि खाली है, तो hwid का उपयोग करें। |
| application | हाँ | string | [पुशवूश एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code) |
| hwid | हाँ | string | [पुशवूश एचडब्ल्यूआईडी](/hi/developer/api-reference/api-identifiers/#hardware-id) |
| tz\_offset | नहीं | integer | डिवाइस के लिए सेकंड में टाइमज़ोन ऑफ़सेट। |
| device\_type| नहीं | integer | [डिवाइस प्रकार](/hi/developer/api-reference/api-identifiers/#device-type)। `/registerDevice` में संभावित मान देखें। |

बाद में [`/createMessage`](/hi/developer/api-reference/messages-api/#createmessage) एपीआई कॉल (_users_ पैरामीटर) में उपयोग किया जा सकता है।\
आप इस फ़ंक्शन को पुश टोकन प्राप्त करने से पहले और [`/registerDevice`](/hi/developer/api-reference/device-api/#registerdevice) कॉल से पहले कॉल कर सकते हैं।

#### अनुरोध का उदाहरण

```json
{
  "request": {
    "userId": "user_3078a",                     // optional. If empty, use hwid
    "application": "XXXXX-XXXXX",               // required. Pushwoosh application code
    "hwid": "8f65b16df378e7a6bece9614e1530fb2", // required. Hardware device ID
    "tz_offset": -3600,                         // optional. Timezone offset in seconds
    "device_type": 3                            // optional. Device type, see /registerDevice
                                                //           for device types
  }
}
```

#### प्रतिक्रिया का उदाहरण

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200, 
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

<Aside type="note">
ईमेल के लिए, [`/registerEmailUser`](/hi/developer/api-reference/email-api/#registeremailuser) पर कॉल करें।
</Aside>

## deleteUser

`POST` `https://api.pushwoosh.com/api/v2/device-api/deleteUser`

एप्लिकेशन के भीतर निर्दिष्ट [यूज़र आईडी](/hi/developer/api-reference/api-identifiers/#user-id) से जुड़े एक उपयोगकर्ता और सभी उपकरणों को हटा देता है। अनुरोध को एसिंक्रोनस रूप से संसाधित किया जाता है, और जैसे ही हटाने का अनुरोध प्रसंस्करण के लिए स्वीकार कर लिया जाता है, एंडपॉइंट `200 OK` लौटाता है।

#### अनुरोध हेडर

| नाम | आवश्यक | मान | विवरण |
|---------------|----------|------------------|------------------------------------------------------------|
| Authorization | हाँ | Token `XXXX` | डिवाइस एपीआई तक पहुंचने के लिए [एपीआई डिवाइस टोकन](/hi/developer/api-reference/api-access-token/#device-api-token)। `XXXX` को अपने वास्तविक डिवाइस एपीआई टोकन से बदलें। |
| Content-Type | हाँ | application/json | |

#### अनुरोध बॉडी

| नाम | आवश्यक | प्रकार | विवरण |
| ----------- | -------- | ------ | --------------------------------------------------------------------------------------------------------------- |
| application | हाँ | string | [पुशवूश एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code) |
| user\_id | हाँ | string | हटाने के लिए [यूज़र आईडी](/hi/developer/api-reference/api-identifiers/#user-id)। निर्दिष्ट एप्लिकेशन में इस उपयोगकर्ता से जुड़े सभी डिवाइस हटा दिए जाएंगे। |


#### अनुरोध का उदाहरण

```json
{
  "application": "XXXXX-XXXXX",   // required. Pushwoosh application code
  "user_id": "user_3078a"         // required. User ID to delete
}
```

#### प्रतिक्रिया का उदाहरण

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

##### स्टेटस कोड

| HTTP स्टेटस कोड | status\_code | विवरण |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | हटाने का अनुरोध स्वीकार किया गया |
| 200 | 210 | आर्गुमेंट त्रुटि। अधिक जानकारी के लिए status\_message देखें। |
| 400 | N/A | अनुरोध स्ट्रिंग विकृत है |
| 401 | N/A | Authorization टोकन गुम या अमान्य है |
| 500 | 500 | आंतरिक त्रुटि |

## postEvent

`POST` `https://api.pushwoosh.com/json/1.3/postEvent`

एक ईवेंट को ट्रिगर करता है।

#### अनुरोध हेडर

| नाम | आवश्यक | मान | विवरण |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | हाँ | Token `XXXX` | डिवाइस एपीआई तक पहुंचने के लिए [एपीआई डिवाइस टोकन](/hi/developer/api-reference/api-access-token/#device-api-token)। `XXXX` को अपने वास्तविक डिवाइस एपीआई टोकन से बदलें। |


#### अनुरोध बॉडी

| नाम | आवश्यक | प्रकार | विवरण |
| ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| hwid | हाँ | string | /registerDevice अनुरोध में प्रयुक्त [हार्डवेयर डिवाइस आईडी](/hi/developer/api-reference/api-identifiers/#hardware-id)। इसका उपयोग 'userId' के साथ उस उपयोगकर्ता की पहचान करने के लिए किया जा सकता है जिसने एक ईवेंट को ट्रिगर किया है। |
| application | हाँ | string | [पुशवूश एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code) |
| event | हाँ | string | [ईवेंट का नाम](/hi/developer/api-reference/api-identifiers/#event-name) ठीक वैसा ही जैसा पुशवूश कंट्रोल पैनल में बनाया गया है। |
| attributes | हाँ | object | ईवेंट विशेषताओं के साथ JSON ऑब्जेक्ट। यदि कोई विशेषता पास करने की आवश्यकता नहीं है तो इसे खाली छोड़ दें। |
| timestampUTC | नहीं | integer | UTC में टाइमस्टैम्प। |
| timestampCurrent | नहीं | integer | स्थानीय समय में टाइमस्टैम्प। |
| userId | हाँ | string | [यूज़र आईडी](/hi/developer/api-reference/api-identifiers/#user-id) उस उपयोगकर्ता से संबद्ध है जिसने ईवेंट को ट्रिगर किया है। इसे HWID द्वारा प्रतिस्थापित किया जा सकता है या इसके साथ उपयोग किया जा सकता है। |
| device\_type | नहीं | integer | [संभावित मान देखें](/hi/developer/api-reference/api-identifiers/#device-type) |

अनुरोध में ईवेंट का नाम पुशवूश कंट्रोल पैनल में ईवेंट के नाम से मेल खाना चाहिए। ध्यान दें कि यदि ईवेंट में कोई विशेषता नहीं है तो "attributes" प्रॉपर्टी खाली हो सकती है (लेकिन छोड़ी नहीं जा सकती)।

#### अनुरोध का उदाहरण

```json
{
  "request":{ 
    "hwid": "8f65b16df378e7a6bece9614e1530fb2", // required. Hardware device ID used in a /registerDevice API.
                                                //           Can be used along with an userId to identify a 
                                                //           user who has triggered an event.
    "application": "XXXXX-XXXXX",               // required. Pushwoosh application code
    "event": "activityCompleted",               // required. Event name exactly as created in Pushwoosh Control Panel
    "attributes": {                             // required. Leave empty if no attributes need to be passed. 
      "login": "facebook",
      "success": "yes",
      "internet": "wifi"
    },
    "timestampUTC": 1435228403,                 // optional. Timestamp in UTC
    "timestampCurrent": 1435253603,             // optional. Timestamp in local time
    "userId": "someuser@user.com",              // required. A user id which is used for identification of 
                                                //           users on multiple devices. Can be replaced by
                                                //           or used along with an HWID.
    "device_type": 1                            // optional.
  }
}

```

#### प्रतिक्रिया का उदाहरण

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "code": "61BC9-84DD0"
  }
}
```
</TabItem>
</Tabs>