# एप्लिकेशन और सब्सक्राइबर आँकड़े

## getAppStats

एक परिभाषित समय अवधि के लिए एक विशिष्ट ऐप के आँकड़े प्राप्त करें।

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

##### अनुरोध बॉडी पैरामीटर

| नाम   <div style="width:150px"></div>         | आवश्यक | प्रकार   | विवरण                                                                                      |
|--------------|----------|--------|--------------------------------------------------------------------------------------------------|
| `auth`       | हाँ      | string | Pushwoosh कंट्रोल पैनल से [API एक्सेस टोकन](/hi/developer/api-reference/api-access-token/)।   |
| `application`| हाँ      | string | [Pushwoosh एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code)                                                                    |
| `datefrom`   | हाँ      | string | रिपोर्टिंग अवधि की आरंभ तिथि और समय। प्रारूप: `Y-m-d H:i:s`।                            |
| `dateto`     | हाँ      | string | रिपोर्टिंग अवधि की समाप्ति तिथि और समय। प्रारूप: `Y-m-d H:i:s`।                              |

##### अनुरोध का उदाहरण
```json
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",    // required. API access token from Pushwoosh Control Panel
    "application": "XXXXX-XXXXX",      // required. Pushwoosh application code
    "datefrom": "2013-06-04 00:00:00", // required. Date and time, start of the reporting period
    "dateto": "2013-06-07 00:00:00"    // required. Date and time, end of the reporting period
  }
}
```



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

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "request_id": "c93a202f439235f9adaaa06d651548ab"
  }
}
```
### आँकड़ों को समझना

आँकड़े निर्दिष्ट समय-सीमा के भीतर किसी एप्लिकेशन, डिवाइस या संदेश के लिए पंजीकृत क्रियाओं को प्रदर्शित करते हैं।

रिपोर्ट स्वचालित रूप से निम्नलिखित नियमों का उपयोग करके एकत्रित की जाती हैं:
- **वार्षिक**: यदि अवधि एक वर्ष से अधिक है।
- **मासिक**: यदि अवधि एक महीने से अधिक है।
- **दैनिक**: यदि अवधि एक दिन से अधिक है।
- **घंटे के अनुसार**: यदि अवधि तीन घंटे से अधिक है।
- **मिनट के अनुसार**: अन्य सभी मामलों में।

##### क्रिया के प्रकार

- **एप्लिकेशन स्तर**: `_open_`, `_install_`
- **डिवाइस स्तर**: `_register_`, `_unregister_`
- **संदेश स्तर**: `_send_`, `_open_`

##### प्रतिक्रिया प्रारूप
सभी आँकड़ों की वस्तुओं का प्रारूप समान होता है:
| फ़ील्ड   <div style="width:150px"></div>     | प्रकार   | विवरण                                        |
|------------|--------|----------------------------------------------------|
| `formatter`| string | रिपोर्ट का पैमाना: वार्षिक, मासिक, दैनिक, घंटे के अनुसार, मिनट के अनुसार। |
| `rows`     | list   | प्रत्येक पंजीकृत क्रिया के लिए रिपोर्ट डेटा शामिल है।  |

प्रत्येक रिपोर्ट पंक्ति में शामिल हैं:

| फ़ील्ड  <div style="width:150px"></div>     | प्रकार   | विवरण                              |
|-----------|--------|------------------------------------------|
| `count`   | int    | पंजीकृत क्रियाओं की संख्या।           |
| `action`  | string | पंजीकृत क्रिया का प्रकार।          |
| `datetime`| string | स्वरूपित तिथि: `Y-m-d H:i:s`।         |

### अनुसूचित अनुरोध परिणामों को पुनः प्राप्त करना

<Aside type="caution" title="महत्वपूर्ण">
हर अनुसूचित अनुरोध की तरह, `/getAppStats` को एक अतिरिक्त [`/getResults`](/hi/developer/api-reference/scheduled-requests#getresults) अनुरोध की आवश्यकता होती है।
</Aside>

##### प्रतिक्रिया बॉडी

| फ़ील्ड   <div style="width:150px"></div>   | प्रकार   | विवरण                                                                                              |
|-------------|--------|----------------------------------------------------------------------------------------------------------|
| `request_id`| string | अनुसूचित अनुरोध आईडी। अधिक विवरण के लिए [`/getResults`](/hi/developer/api-reference/scheduled-requests#getresults) देखें। |

##### अनुसूचित (/getResults) प्रतिक्रिया बॉडी

| फ़ील्ड   <div style="width:150px"></div>        | प्रकार       | विवरण                       |
|--------------|------------|-----------------------------------|
| `applications`| dictionary | एप्लिकेशन के लिए आँकड़े।    |
| `devices`     | dictionary | डिवाइस के लिए आँकड़े।         |
| `messages`    | dictionary | संदेशों के लिए आँकड़े।        |

##### उदाहरण 
```json 
{
  "error": {
    "code": 0,
    "message": "OK"
  },
  "json_data": {
    "applications": {
      "formatter": "hourly",
      "rows": [{
        "count": 0,
        "action": "open",
        "datetime": "2013-06-06 00:00:00"
      }, {
        ...
      }]
    }
  }
}
```




## getApplicationSubscribersStats

ऐप के सब्सक्राइबरों की सूची को उनके डिवाइस के प्रकारों के अनुसार समूहीकृत करके प्रदर्शित करता है।

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

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

| नाम    <div style="width:150px"></div>        | आवश्यक | प्रकार   | विवरण                                                                                      |
|--------------|----------|--------|--------------------------------------------------------------------------------------------------|
| `auth`       | हाँ      | string | Pushwoosh कंट्रोल पैनल से [API एक्सेस टोकन](/hi/developer/api-reference/api-access-token/)।   |
| `application`| हाँ      | string | [Pushwoosh एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code)                                                                     |  

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

```json
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // required. API access token from Pushwoosh Control Panel
    "application": "XXXXX-XXXXX"    // required. Pushwoosh application code
  }
}
```

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "IOS": 1,
    "ANDROID": 1,
    "OSX": 0,
    "WINDOWS": 0,
    "AMAZON": 0,
    "SAFARI": 0,
    "FIREFOX": 0
  }
}
```
</TabItem>
</Tabs>



## getSubscribersStatistics

एक समय अवधि के लिए ऐप सब्सक्राइबर आँकड़े पुनः प्राप्त करता है।

`POST` `https://api.pushwoosh.com/api/v2/statistics/application/getSubscribersStatistics`

##### हेडर्स

| नाम       <div style="width:150px"></div>        | आवश्यक | विवरण                                                                                                  |  
|-----------------|----------|--------------------------------------------------------------------------------------------------------------|  
| Authorization   | हाँ      | [API एक्सेस टोकन](/hi/developer/api-reference/api-access-token/) प्रारूप में: `Key PKX.......NHg`।          |  
| Content-Type    | हाँ      |  `application/json` पर सेट होना चाहिए।                                                                           |  

##### अनुरोध बॉडी पैरामीटर

| नाम       <div style="width:150px"></div>         | आवश्यक | प्रकार   | विवरण                                                              |  
|------------------|----------|--------|--------------------------------------------------------------------------|  
| application_code | हाँ      | string | [Pushwoosh एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code)                                     |  
| timestamp_from   | हाँ      | string | आँकड़ों की अवधि की आरंभ तिथि और समय (प्रारूप: `YYYY-MM-DD hh:mm:ss`, UTC+0)। |  
| timestamp_to     | हाँ      | string | आँकड़ों की अवधि की समाप्ति तिथि और समय (प्रारूप: `YYYY-MM-DD hh:mm:ss`, UTC+0)।   |  

**उदाहरण अनुरोध**
```shell
curl --location --request POST 'https://api.pushwoosh.com/api/v2/statistics/application/getSubscribersStatistics' \
--header 'Authorization: Key 3a2X......828JreCk48f' \
--header 'Content-Type: application/json' \
--data-raw '{
   "application_code": "12345-67890",        // Pushwoosh app code
   "timestamp_from": "2022-08-01 00:00:00",  // UTC+0
   "timestamp_to": "2022-09-01 00:00:00"     // UTC+0
}'
```

**उदाहरण प्रतिक्रिया**
```json
{
  "statistics": [{
    "timestamp": "YYYY-MM-DD hh:mm:ss", // UTC+0
    "platform": 1,
    "push_enabled": 100,
    "push_disabled": 100
  }]
}
```
**प्रतिक्रिया कोड** 
<Tabs>
  <TabItem label="200: ठीक है">
    ```json
    {
      "statistics": [{
        "timestamp": "YYYY-MM-DD hh:mm:ss",
        "platform": 1,
        "push_enabled": 100,
        "push_disabled": 100
      }]
    }
    ```

    **स्पष्टीकरण**: अनुरोध सफल रहा, और आँकड़े लौटा दिए गए हैं।
  </TabItem>

  <TabItem label="400: बुरा अनुरोध">
    ```json
    {
      // Response
    }
    ```

    **स्पष्टीकरण**: अनुरोध में अमान्य सिंटैक्स या पैरामीटर थे।
  </TabItem>

  <TabItem label="500: आंतरिक सर्वर त्रुटि">
    ```json
    {
      // Response
    }
    ```

    **स्पष्टीकरण**: सर्वर में एक त्रुटि हुई। बाद में पुनः प्रयास करें।
  </TabItem>

  <TabItem label="401: अनधिकृत">
    ```json
    {
      // Response
    }
    ```

    **स्पष्टीकरण**: प्रमाणीकरण विफल रहा। अपनी API कुंजी या टोकन की जाँच करें।
  </TabItem>

  <TabItem label="403: निषिद्ध">
    ```json
    {
      // Response
    }
    ```

    **स्पष्टीकरण**: निर्दिष्ट ऐप कोड के लिए पहुँच अस्वीकृत कर दी गई है।
  </TabItem>

  <TabItem label="404: नहीं मिला">
    ```json
    {
      // Response
    }
    ```

    **स्पष्टीकरण**: ऐप कोड नहीं मिला या मौजूद नहीं है।
  </TabItem>
</Tabs>

### टाइमस्टैम्प अंतराल नियम  

<Aside type="note">
कृपया ध्यान दें कि प्रतिक्रिया में टाइमस्टैम्प के बीच का अंतराल आपके अनुरोध में भेजे गए अवधि पर निर्भर करता है:

* यदि आप एक वर्ष से अधिक की अवधि के लिए आँकड़े का अनुरोध करते हैं, तो आँकड़ों का टाइमस्टैम्प अंतराल एक वर्ष होगा
* यदि आँकड़ों की अवधि एक वर्ष के बराबर है, तो प्रतिक्रिया के टाइमस्टैम्प के बीच का अंतराल एक महीने के बराबर होगा
* एक महीने से अधिक लेकिन एक वर्ष से कम की अवधि के लिए, हर दिन के आँकड़े लौटाए जाएँगे
* एक महीने से कम की अवधि के लिए, प्रतिक्रिया में हर घंटे के आँकड़े शामिल होंगे
</Aside>

| अनुरोधित अवधि   <div style="width:350px"></div>    | प्रतिक्रिया में अंतराल   <div style="width:350px"></div>   |  
|-------------------|--------------------|  
| 1 वर्ष से अधिक  | 1 वर्ष              |  
| 1 वर्ष           | 1 महीना             |  
| 1 महीना - 1 वर्ष | 1 दिन               |  
| 1 महीने से कम| 1 घंटा              |