# वेब मैसेज इनबॉक्स सेटअप करें

#### पूर्वापेक्षाएँ

सुनिश्चित करें कि आपने अपनी वेबसाइट पर Pushwoosh Web SDK लागू किया है। ऐसा करने के लिए, कृपया हमारी [गाइड](/hi/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30/) का पालन करें।


**वेबसाइटों के लिए मैसेज इनबॉक्स** आपको वेब पुश नोटिफिकेशन स्टोर करने की अनुमति देता है ताकि उपयोगकर्ता बाद में उन्हें फिर से देख सकें, यह सुनिश्चित करते हुए कि महत्वपूर्ण संदेश देखे जाएं।

## यह कैसे काम करता है

यहाँ InboxMessages के साथ एक विशिष्ट वर्कफ़्लो है:

| चरण | मेथड |
| --- | --- |
| पेज लोड | |
| सर्वर के साथ संदेशों को सिंक्रनाइज़ करना | <p><code>InboxMessagesModel.updateMessages</code><br/>SDK के इनिशियलाइज़ होने के दौरान निष्पादित</p> |
| पुराने संदेशों को हटाना | <p><code>InboxMessagesModel.updateMessages</code><br/>SDK के इनिशियलाइज़ होने के दौरान निष्पादित</p> |
| बैज अपडेट करने के लिए अपठित संदेशों की संख्या प्राप्त करना | <p><code>Pushwoosh.pwinbox.unreadMessagesCount</code><br/>मैन्युअल रूप से निष्पादित (<code>onUpdateInboxMessages</code> इवेंट के ट्रिगर होने के बाद)</p> |
| इनबॉक्स में प्रदर्शित किए जाने वाले संदेशों को लोड करना | <p><code>Pushwoosh.pwinbox.loadMessages</code><br/>मैन्युअल रूप से निष्पादित (<code>onUpdateInboxMessages</code> इवेंट के ट्रिगर होने के बाद)</p> |
| व्यूपोर्ट में आए संदेशों को पढ़े गए के रूप में चिह्नित करना | <p><code>Pushwoosh.pwinbox.readMessagesWithCodes</code><br/>मैन्युअल रूप से निष्पादित</p> |
| खोले गए संदेश को सौंपे गए कार्य को करना | <p><code>Pushwoosh.pwinbox.performActionForMessageWithCode</code><br/>मैन्युअल रूप से निष्पादित</p> |
| डिलीट आइकन पर क्लिक करके या संदेश को दाएं स्वाइप करके संदेशों को हटाना | <p><code>Pushwoosh.pwinbox.performActionForMessageWithCode</code><br/>मैन्युअल रूप से निष्पादित</p> |

## इवेंट लिसनर्स

```javascript title="onUpdateInboxMessages"
// Executed after the Inbox is updated automatically while the page is loading. 
Pushwoosh.push(['onUpdateInboxMessages', function(api, pwinbox) {
  pwinbox.loadMessages().then(function(messages) {
    console.log('EVENT: onUpdateInboxMessages', messages);
  });
}]);
```

```javascript title="onPutNewMessageToInboxStore"
// Executed by ServiceWorker after the Inbox Message is received and saved to indexedDB. 
Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {
  console.log('EVENT: onPutNewMessageToInboxStore', message);
}]);
```

## पब्लिक मॉड्यूल

**WebSDK InboxMessagesPublic मॉड्यूल** वेब इनबॉक्स को लागू करने के लिए एक पब्लिक इंटरफ़ेस प्रस्तुत करता है।

```txt title="Model"
type TInboxMessageTypePlain = 0;
type TInboxMessageTypeRichmedia = 1;
type TInboxMessageTypeURL = 2;
type TInboxMessageTypeDeeplink = 3;
type TInboxMessageType = TInboxMessageTypePlain  // depends on action_params
  | TInboxMessageTypeRichmedia
  | TInboxMessageTypeURL
  | TInboxMessageTypeDeeplink;
 
 
interface IInboxMessagePublic {
  code: string;  // inbox_id
  title: string;  // title
  message: string; // body
  imageUrl: string;  // image
  sendDate: string;  // send_date
  type: TInboxMessageType;  // depends on action_params
  isRead: boolean;  // true if status is "read" or "open"
  link: string; // Deeplink | URL | "/"
  isActionPerformed: boolean;  // true if status is "open"
}
```

## पब्लिक मेथड्स

[Web Push SDK 3.0](/hi/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30/) गाइड में पब्लिक मेथड्स के विवरण देखें।