इसके माध्यम से साझा किया गया


एप्लिकेशन डेवलपर्स के लिए पुश नोटिफिकेशन डिवाइस पंजीकरण

पुश सूचनाएँ सेट करने के समग्र दृष्टिकोण के बारे में Customer Insights - Journeys अधिक जानने के लिए, पुश सूचना सेटअप अवलोकन पर जाएँ.

Customer Insights - Journeysमें पुश नोटिफिकेशन सक्षम करने के लिए, आपको निम्नलिखित चरण पूरे करने होंगे:

  1. पुश सूचना अनुप्रयोग कॉन्फ़िगरेशन
  2. पुश सूचनाओं के लिए उपयोगकर्ता मैपिंग
  3. पुश नोटिफिकेशन के लिए डिवाइस पंजीकरण
  4. उपकरणों पर पुश सूचनाएं प्राप्त करना
  5. पुश सूचनाओं के लिए सहभागिता रिपोर्टिंग

यह आरेख डिवाइसों और उपयोगकर्ताओं को पंजीकृत करने के लिए आवश्यक दो चरणों का वर्णन करता है। Customer Insights - Journeys

पुश अधिसूचना डिवाइस और उपयोगकर्ता पंजीकरण आरेख।

डिवाइस पंजीकरण

मोबाइल ऐप कॉन्फ़िगरेशन को पूरा करने के लिए, डेवलपर को सर्वरों पर डिवाइस पंजीकृत करना होगा. आपके पास पहले से ही डिवाइस टोकन, उपयोगकर्ता आईडी (संपर्क आईडी, लीड आईडी, प्रोफ़ाइल आईडी) और मोबाइल एप्लिकेशन आईडी होनी चाहिए। Customer Insights - Journeys Customer Insights - Data Customer Insights - Journeys

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

API

डिवाइस पंजीकरण (एकल)

नमूना HTTP अनुरोध (iOS):

POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices
{
    "MobileAppId": "00000000-0000-0000-0000-000000000000",
    "UserId": "00000000-0000-0000-0000-000000000000",
    "ApiToken": "%API_TOKEN%",
    "ApnsDeviceToken": "%APNS_TOKEN%"
}

नमूना HTTP अनुरोध (Android):

POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices
{
    "MobileAppId": "00000000-0000-0000-0000-000000000000",
    "UserId": "00000000-0000-0000-0000-000000000000",
    "ApiToken": "%API_TOKEN%",
    "FcmDeviceToken": "%FCM_TOKEN%"
}

हेडर:

  • x-ms-track-registration: जब सत्य होता है, तो पंजीकरण की सफलता/विफलता के बारे में जानकारी संग्रहीत की जाती है और पंजीकरण स्थिति API के माध्यम से उपलब्ध होती है।
  • x-ms-callback-url: जब खाली न हो, तो विफल या सफल डिवाइस पंजीकरण POST अनुरोध वेबहुक को ट्रिगर करता है।
  • x-ms-callback-url-headers: इसमें स्ट्रिंग-टू-स्ट्रिंग शब्दकोश का क्रमबद्ध JSON शामिल है, जो वेबहुक अनुरोधों के लिए पास किए गए हेडर का प्रतिनिधित्व करता है। केवल x-ms-callback-url परिभाषित होने पर उपयोग किया जाता है।

रिटर्न: यदि दिया गया अनुरोध वैध है तो 202, अन्यथा 400.

प्रतिक्रिया निकाय:

जब x-ms-track-registration सत्य हो:

{
    "RegistrationRequestId": "%GUID%"
}

अन्यथा, खाली शरीर.

परिभाषाएँ
नाम विवरण
मोबाइलऐपआईडी Customer Insights - Journeysमें कॉन्फ़िगर किए गए मोबाइल एप्लिकेशन का पहचानकर्ता.
UserId संपर्क, लीड या Customer Insights - Data प्रोफ़ाइल का उपयोगकर्ता पहचानकर्ता Customer Insights - Journeys.
एपीटोकन अनुरोध को अधिकृत करने के लिए आपका API टोकन.
ApnsDeviceटोकन iOS एप्लिकेशन द्वारा उत्पन्न अद्वितीय डिवाइस टोकन पहचानकर्ता. यह केवल एक iOS डिवाइस के लिए भेजा जाएगा
Fcmडिवाइसटोकन Android एप्लिकेशन द्वारा उत्पन्न अद्वितीय डिवाइस टोकन पहचानकर्ता. यह केवल एक Android डिवाइस के लिए भेजा जाएगा

डिवाइस पंजीकरण (एकाधिक)

बैच पंजीकरण के मुख्य भाग में डिवाइस पंजीकरण अनुरोधों का प्रतिनिधित्व करने वाली 100 तक ऑब्जेक्ट्स की एक सरणी होती है।

नमूना HTTP अनुरोध (iOS):

POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/batch
[
    {
        "MobileAppId": "00000000-0000-0000-0000-000000000000",      
        "UserId": "00000000-0000-0000-0000-000000000000",
        "ApiToken": "%API_TOKEN%",
        "ApnsDeviceToken": "%APNS_TOKEN%"
    },
    {
        "MobileAppId": "00000000-0000-0000-0000-000000000000",
        "UserId": "00000000-0000-0000-0000-000000000000",
        "ApiToken": "%API_TOKEN%",
        "ApnsDeviceToken": "%APNS_TOKEN%"
    }
]

नमूना HTTP अनुरोध (Android):

POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/batch
[
    {
        "MobileAppId": "00000000-0000-0000-0000-000000000000",      
        "UserId": "00000000-0000-0000-0000-000000000000",
        "ApiToken": "%API_TOKEN%",
        "FcmDeviceToken": "%FCM_TOKEN%"
    },
    {
        "MobileAppId": "00000000-0000-0000-0000-000000000000",
        "UserId": "00000000-0000-0000-0000-000000000000",
        "ApiToken": "%API_TOKEN%",
        "FcmDeviceToken": "%FCM_TOKEN%"
    }
]

हेडर:

  • x-ms-track-registration: जब सत्य होता है, तो पंजीकरण की सफलता या विफलता के बारे में जानकारी संग्रहीत की जाती है और पंजीकरण स्थिति API के माध्यम से उपलब्ध होती है।
  • x-ms-callback-url: जब खाली न हो, तो विफल या सफल डिवाइस पंजीकरण एक POST अनुरोध वेबहुक ट्रिगर करता है।
  • x-ms-callback-url-headers: इसमें स्ट्रिंग-टू-स्ट्रिंग शब्दकोश का क्रमबद्ध JSON होता है, जो वेबहुक अनुरोधों के लिए पास किए गए हेडर का प्रतिनिधित्व करता है। केवल तभी उपयोग किया जाता है जब x-ms-callback-url परिभाषित किया गया हो.

रिटर्न: यदि दिया गया अनुरोध वैध है तो 202, अन्यथा 400.

प्रतिक्रिया निकाय:

जब x-ms-track-registration सत्य हो: आइटमों की एक सरणी, प्रत्येक आइटम ऑर्डर अनुरोध बॉडी सरणी से ऑर्डर के अनुरूप होता है।

[
    {
        "RegistrationRequestId": "%REG_REQUEST_ID%"
    },
    {
        "RegistrationRequestId": "%REG_REQUEST_ID%"
    }
]

अन्यथा, खाली शरीर.

डिवाइस पंजीकरण स्थिति

POST  {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/status/

अनुरोध का मुख्य भाग:

{
    "RegistrationRequestIds": [
        "%REG_REQUEST_ID%"
    ],
    "MobileAppId": "%MOBILE_APP_ID%",
    "ApiToken": "%API_TOKEN%"
}

रिटर्न: यदि दिया गया अनुरोध वैध है तो 200, अन्यथा 400.

प्रतिक्रिया निकाय - मदों की एक सरणी:

[
    {
        "Status": "Pending|Success|Failed",
        "FailureReason": " DuplicateExists|DryRunSendingFailed|DeviceTokenTooLong|FailedToStoreDevice|ApiTokenNotValid " // dry run sending is a verification of device token by sending an invisible notification to mobile app. Such sending failure might happen due to a wrong device token or incorrect/expired mobile app auth data
    },
    {
        "Status": "Pending|Success|Failed",
        "FailureReason": " DuplicateExists|DryRunSendingFailed|DeviceTokenTooLong|FailedToStoreDevice|ApiTokenNotValid " // dry run sending is a verification of device token by sending an invisible notification to mobile app. Such sending failure might happen due to a wrong device token or incorrect/expired mobile app auth data
    }
]

प्रत्येक आइटम ऑर्डर RegistrationRequestIds array से ऑर्डर के अनुरूप होता है।

परिभाषाएँ
नाम विवरण
पंजीकरणअनुरोधआईडी व्यक्तिगत पंजीकरण अनुरोधों की एक श्रृंखला। मान पंजीकरण कॉल की प्रतिक्रिया से लिए जाते हैं। यह केवल तभी प्रदान किया जाता है जब पंजीकरण के लिए x-ms-track-registration हेडर का उपयोग किया गया हो
मोबाइलऐपआईडी Customer Insights - Journeysमें कॉन्फ़िगर किए गए मोबाइल एप्लिकेशन का पहचानकर्ता.
UserId संपर्क, लीड या Customer Insights - Data प्रोफ़ाइल का उपयोगकर्ता पहचानकर्ता Customer Insights - Journeys.

महत्त्वपूर्ण

इसके तीन संभावित कारण हो सकते हैं कि स्थिति "लंबित" अवस्था में क्यों अटक जाती है:

  1. मूल डिवाइस पंजीकरण अनुरोध में API टोकन अमान्य था. दुर्भावनापूर्ण अभिनेताओं को "रजिस्टर डिवाइस" कहकर और अनंत थ्रॉटलिंग उत्पन्न करके किसी वातावरण के विरुद्ध DoS हमला करने से रोकने के लिए, ऐसे प्रयास पंजीकरण इतिहास का भंडारण नहीं करते हैं। इसलिए, सफलता की जांच करने के लिए कोई जानकारी नहीं है।
  2. CRM कई घंटों तक थ्रॉटल अवस्था में रहता है, जिसके कारण कई बार पुनः प्रयास करने के बाद भी स्थिति अद्यतन ऑपरेशन विफल हो जाता है।
  3. डिवाइस पंजीकरण अनुरोध x-ms-track-registration हेडर प्रदान किए बिना किया गया था।

डिवाइस पंजीकरण स्थिति वेबहुक

यदि x-ms-status-callback-url को डिवाइस पंजीकरण सफल या असफल होने पर URL प्रदान किया जाता है, तो वह हेडर के मान तक पहुँचता है। Customer Insights - Journeys

डिवाइस पंजीकरण अनुरोध के x-ms-status-callback-url शीर्षक में दिए गए URL पर पोस्ट करें।

मुख्य भाग:

{ 
    "Status": "Success|Failed", 
    "Signature": "%SIGNATURE%", 
    "FailureReason": " DuplicateExists|DryRunSendingFailed|DeviceTokenTooLong|FailedToStoreDevice|ApiTokenNotValid" 
} 

टिप

हस्ताक्षर, API टोकन को कुंजी के रूप में उपयोग करके गणना किए गए कॉलबैक URL का HMACSHA256 हैश है। यह सत्यापित करने के लिए मान का उपयोग करें कि Customer Insights - Journeys ने कॉल किया है। समान एल्गोरिथ्म का उपयोग करके और मानों की तुलना करके वेबहुक की ओर API टोकन के साथ कॉलबैक URL को हैश करें।

नोट

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

रिटर्न: यदि दिया गया अनुरोध वैध है तो 202, अन्यथा 400.

अपेक्षित शरीर: खाली शरीर.

डिवाइस क्लीनअप (एकल)

संदेश भेजने की कार्यक्षमता सुनिश्चित करने के लिए, डेटाबेस से उन डिवाइसों को हटाना महत्वपूर्ण है जो अब वैध नहीं हैं। डिवाइस तालिका से पुराने डिवाइस, उपयोगकर्ता और अनुप्रयोग संयोजनों को हटाने के लिए निम्नलिखित दृष्टिकोण का उपयोग करें।

POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/cleanup
{
    "MobileAppId": "00000000-0000-0000-0000-000000000000",
    "ApiToken": "%API_TOKEN%",
    "UserId": "00000000-0000-0000-0000-000000000000",
    "DeviceToken": "%OPTIONAL_FCM_OR_APNS_DEVICE_TOKEN%"
}

रिटर्न: यदि दिया गया अनुरोध वैध है तो 202, अन्यथा 400.

परिभाषाएँ
नाम विवरण
मोबाइलऐपआईडी Customer Insights - Journeysमें कॉन्फ़िगर किए गए मोबाइल एप्लिकेशन का पहचानकर्ता.
एपीटोकन अनुरोध को अधिकृत करने के लिए आपका API टोकन.
UserId संपर्क, लीड या Customer Insights - Data प्रोफ़ाइल का उपयोगकर्ता पहचानकर्ता Customer Insights - Journeys.
डिवाइसटोकन अनुप्रयोग द्वारा उत्पन्न अद्वितीय डिवाइस टोकन पहचानकर्ता.

डिवाइस क्लीनअप (एकाधिक)

संदेश भेजने की कार्यक्षमता सुनिश्चित करने के लिए, डेटाबेस से उन डिवाइसों को हटाना महत्वपूर्ण है जो अब वैध नहीं हैं। डिवाइस तालिका से पुराने डिवाइस, उपयोगकर्ता और अनुप्रयोग संयोजनों को हटाने के लिए निम्नलिखित दृष्टिकोण का उपयोग करें।

POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/cleanup/batch
{
    "MobileAppId": "00000000-0000-0000-0000-000000000000",
    "ApiToken": "%API_TOKEN%",
    "UserId": "00000000-0000-0000-0000-000000000000",
    "DeviceToken": "%OPTIONAL_FCM_OR_APNS_DEVICE_TOKEN%"
}

रिटर्न: यदि दिया गया अनुरोध वैध है तो 202, अन्यथा 400.

परिभाषाएँ
नाम विवरण
मोबाइलऐपआईडी Customer Insights - Journeysमें कॉन्फ़िगर किए गए मोबाइल एप्लिकेशन का पहचानकर्ता.
एपीटोकन अनुरोध को अधिकृत करने के लिए आपका API टोकन.
UserId संपर्क, लीड या Customer Insights - Data प्रोफ़ाइल का उपयोगकर्ता पहचानकर्ता Customer Insights - Journeys.
डिवाइसटोकन अनुप्रयोग द्वारा उत्पन्न अद्वितीय डिवाइस टोकन पहचानकर्ता.