Registrácia zariadenia push notifikácie pre vývojárov aplikácií
Ak sa chcete dozvedieť viac o celkovom prístupe k nastaveniu upozornení push v Customer Insights - Journeys, navštívte prehľad nastavenia upozornení push.
Ak chcete povoliť upozornenia push v Customer Insights - Journeys, musíte vykonať nasledujúce kroky:
- Konfigurácia aplikácie push notifikácií
- Mapovanie používateľov pre upozornenia push
- Registrácia zariadenia pre push notifikácie
- Prijímanie upozornení push na zariadeniach
- Hlásenie interakcií pre upozornenia push
Tento diagram popisuje dva kroky potrebné na registráciu zariadení a používateľov Customer Insights - Journeys.
Registrácia zariadenia
Na dokončenie konfigurácie mobilnej aplikácie musí vývojár zaregistrovať zariadenia na serveroch. Už by ste mali mať token zariadenia, ID používateľa od Customer Insights - Journeys (identifikátor kontaktu, ID potenciálneho zákazníka, Customer Insights - Data ID profilu) a ID mobilnej aplikácie od Customer Insights - Journeys.
Po úspešnom volaní žiadosti o registráciu zariadenia príde odpoveď 202. Odpoveď 202 iba naznačuje, že žiadosť bola prijatá. Ak chcete potvrdiť úspešnú žiadosť, musíte skontrolovať stav pomocou webhooku alebo priamo zavolať koncový bod stavu.
Rozhranie API
Registrácia zariadenia (jedno)
Vzorová požiadavka 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%"
}
Vzorová požiadavka 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%"
}
Hlavičky:
- x-ms-track-registration: ak je pravda, informácie o úspechu/neúspechu registrácie sa uložia a budú dostupné prostredníctvom API stavu registrácie.
- x-ms-callback-url: Ak nie je prázdne, neúspešná alebo úspešná registrácia zariadenia spustí webhook požiadavky POST.
- x-ms-callback-url-headers: Obsahuje serializovaný JSON slovníka typu string-to-string, ktorý predstavuje hlavičky odovzdané pre požiadavky webhooku. Používa sa len vtedy, keď je definovaná x-ms-callback-url.
Vrátenie: 202, ak je poskytnutá žiadosť platná, 400 inak.
Telo odpovede:
Keď je x-ms-track-registration pravdivé:
{
"RegistrationRequestId": "%GUID%"
}
V opačnom prípade je telo prázdne.
Definície
Name | Description |
---|---|
MobileAppId | Identifikátor mobilnej aplikácie nakonfigurovaný v Customer Insights - Journeys. |
Identifikácia používateľa | Identifikátor používateľa kontaktu, potenciálneho zákazníka alebo Customer Insights - Data profilu z Customer Insights - Journeys. |
ApiToken | Váš token API na autorizáciu žiadosti. |
ApnsDeviceToken | Jedinečný identifikátor tokenu zariadenia vygenerovaný aplikáciou iOS . Toto bude odoslané iba pre zariadenie iOS |
FcmDeviceToken | Jedinečný identifikátor tokenu zariadenia vygenerovaný aplikáciou Android . Toto bude odoslané iba pre zariadenie Android |
Registrácia zariadenia (viacero)
Telo registrácie dávky obsahuje pole až 100 objektov reprezentujúcich požiadavky na registráciu zariadenia.
Vzorová požiadavka 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%"
}
]
Vzorová požiadavka 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%"
}
]
Hlavičky:
- x-ms-track-registration: Ak je pravda, informácie o úspechu alebo zlyhaní registrácie sa uložia a budú dostupné prostredníctvom API stavu registrácie.
-
x-ms-callback-url: Ak nie je prázdne, neúspešná alebo úspešná registrácia zariadenia spustí webhook
POST
žiadosti. -
x-ms-callback-url-headers: Obsahuje serializovaný JSON slovníka typu string-to-string, ktorý predstavuje hlavičky odovzdané pre požiadavky webhooku. Používa sa len vtedy, keď je zadefinované
x-ms-callback-url
.
Vrátenie: 202, ak je poskytnutá žiadosť platná, 400 inak.
Telo odpovede:
Keď x-ms-track-registration je pravdivé: pole položiek, každá objednávka položiek zodpovedá objednávke z poľa tela požiadavky.
[
{
"RegistrationRequestId": "%REG_REQUEST_ID%"
},
{
"RegistrationRequestId": "%REG_REQUEST_ID%"
}
]
V opačnom prípade je telo prázdne.
Stav registrácie zariadenia
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/status/
Telo žiadosti:
{
"RegistrationRequestIds": [
"%REG_REQUEST_ID%"
],
"MobileAppId": "%MOBILE_APP_ID%",
"ApiToken": "%API_TOKEN%"
}
Vrátenie: 200, ak je poskytnutá žiadosť platná, 400 inak.
Telo odpovede – pole položiek:
[
{
"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
}
]
Každá objednávka položky zodpovedá objednávke z poľa RegistrationRequestIds .
Definície
Name | Description |
---|---|
RegistrationRequestIds | Množstvo individuálnych žiadostí o registráciu. Hodnoty sú prevzaté z odozvy registračných volaní. Toto sa poskytuje iba vtedy, keď bola na registráciu použitá hlavička x-ms-track-registration |
MobileAppId | Identifikátor mobilnej aplikácie nakonfigurovaný v Customer Insights - Journeys. |
Identifikácia používateľa | Identifikátor používateľa kontaktu, potenciálneho zákazníka alebo Customer Insights - Data profilu z Customer Insights - Journeys. |
Dôležité
Existujú tri možné dôvody, prečo sa stav môže zaseknúť v stave „Nevybavené“:
- Pôvodná žiadosť o registráciu zariadenia mala neplatný token rozhrania API. Aby sa zabránilo škodlivým aktérom vykonať útok DoS proti prostrediu volaním „zariadenia na registráciu“ a generovaním nekonečného obmedzovania, takéto pokusy nevedú k ukladaniu histórie registrácie. Preto neexistujú žiadne informácie na kontrolu úspechu.
- CRM zostane v obmedzenom stave niekoľko hodín, čo spôsobí, že operácia aktualizácie stavu zlyhá pri vykonávaní svojej úlohy po viacerých pokusoch.
- Žiadosť o registráciu zariadenia bola uskutočnená bez poskytnutej hlavičky x-ms-track-registration .
Webhook stavu registrácie zariadenia
Ak x-ms-status-callback-url v prípade úspešnej alebo neúspešnej registrácie zariadenia poskytne adresu URL, Customer Insights - Journeys pristúpi k hodnote hlavička.
POST na adresu URL poskytnutú v hlavičke x-ms-status-callback-url žiadosti o registráciu zariadenia.
Telo:
{
"Status": "Success|Failed",
"Signature": "%SIGNATURE%",
"FailureReason": " DuplicateExists|DryRunSendingFailed|DeviceTokenTooLong|FailedToStoreDevice|ApiTokenNotValid"
}
Prepitné
Podpis je hash HMACSHA256 adresy URL spätného volania vypočítaný pomocou tokenu API ako kľúča. Pomocou hodnoty overte, že Customer Insights - Journeys vyvolalo hovor. Hašujte webovú adresu spätného volania s tokenom API na strane webhooku pomocou rovnakého algoritmu a porovnaním hodnôt.
Poznámka
Pokus o zadanie žiadosti sa uskutoční raz. Akékoľvek zlyhanie pri vykonaní požiadavky spôsobí stratu oznámenia. Typy zlyhania zahŕňajú nesprávnu adresu URL spätného volania, Rozhranie REST API časový limit hovoru alebo kód stavu neočakávanej odpovede.
Vrátenie: 202, ak je poskytnutá žiadosť platná, 400 inak.
Očakávané telo: prázdne telo.
Čistenie zariadenia (jedno)
Je dôležité odstrániť zariadenia, ktoré už nie sú platné, z databázy, aby sa zabezpečilo efektívne odosielanie správ. Na odstránenie starých kombinácií zariadení, používateľov a aplikácií z tabuľky zariadení použite nasledujúci postup.
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%"
}
Vrátenie: 202, ak je poskytnutá žiadosť platná, 400 inak.
Definície
Name | Description |
---|---|
MobileAppId | Identifikátor mobilnej aplikácie nakonfigurovaný v Customer Insights - Journeys. |
ApiToken | Váš token API na autorizáciu žiadosti. |
Identifikácia používateľa | Identifikátor používateľa kontaktu, potenciálneho zákazníka alebo Customer Insights - Data profilu z Customer Insights - Journeys. |
DeviceToken | Jedinečný identifikátor tokenu zariadenia vygenerovaný aplikáciou. |
Čistenie zariadenia (viacero)
Je dôležité odstrániť zariadenia, ktoré už nie sú platné, z databázy, aby sa zabezpečilo efektívne odosielanie správ. Na odstránenie starých kombinácií zariadení, používateľov a aplikácií z tabuľky zariadení použite nasledujúci postup.
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%"
}
Vrátenie: 202, ak je poskytnutá žiadosť platná, 400 inak.
Definície
Name | Description |
---|---|
MobileAppId | Identifikátor mobilnej aplikácie nakonfigurovaný v Customer Insights - Journeys. |
ApiToken | Váš token API na autorizáciu žiadosti. |
Identifikácia používateľa | Identifikátor používateľa kontaktu, potenciálneho zákazníka alebo Customer Insights - Data profilu z Customer Insights - Journeys. |
DeviceToken | Jedinečný identifikátor tokenu zariadenia vygenerovaný aplikáciou. |