Registracija naprave za potisno obveščanje za razvijalce aplikacij
Če želite izvedeti več o splošnem pristopu k nastavitvi potisnih obvestil v Customer Insights - Journeys, obiščite pregled nastavitve potisnih obvestil.
Če želite omogočiti potisna obvestila v Customer Insights - Journeys, morate opraviti naslednje korake:
- Konfiguracija aplikacije za potisna obvestila
- Preslikava uporabnikov za potisna obvestila
- Registracija naprave za potisna obvestila
- Prejemanje potisnih obvestil na naprave
- Poročanje o interakciji za potisna obvestila
Ta diagram opisuje dva koraka, potrebna za registracijo naprav in uporabnikov v njih Customer Insights - Journeys.
Registracija naprave
Za dokončanje konfiguracije mobilne aplikacije mora razvijalec registrirati naprave med strežniki. Morali bi že imeti žeton naprave, ID uporabnika od Customer Insights - Journeys (ID stika, ID potencialne stranke, Customer Insights - Data ID profila) in ID mobilne aplikacije od Customer Insights - Journeys.
Ob uspešnem klicu zahteve za registracijo naprave je odgovor 202. Odgovor 202 samo pomeni, da je bila zahteva sprejeta. Če želite potrditi uspešno zahtevo, morate preveriti stanje z uporabo webhooka ali neposredno klicati status končna točka.
API
Registracija naprave (enojna)
Primer zahteve 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%"
}
Primer zahteve 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%"
}
Glave:
- x-ms-track-registration: ko je res, so informacije o uspešni/neuspešni registraciji shranjene in na voljo prek API-ja statusa registracije.
- x-ms-callback-url: Če ni prazno, neuspešna ali uspešna registracija naprave sproži spletni kavelj zahteve POST.
- x-ms-callback-url-headers: Vsebuje serializiran JSON slovarja od niza do niza, ki predstavlja glave, posredovane za zahteve webhook. Uporablja se le, če je definiran x-ms-callback-url.
Vrne: 202, če je podana zahteva veljavna, 400 sicer.
Telo odgovora:
Ko je x-ms-track-registration resnična:
{
"RegistrationRequestId": "%GUID%"
}
V nasprotnem primeru prazno telo.
Definicije
Imenu | Description |
---|---|
MobileAppId | Identifikator mobilne aplikacije, konfigurirane v Customer Insights - Journeys. |
IDUporabnika | Identifikator uporabnika stika, potencialne stranke ali Customer Insights - Data profila od Customer Insights - Journeys. |
ApiToken | Vaš žeton API za odobritev zahteve. |
ApnsDeviceToken | Enolični identifikator žetona naprave, ki ga ustvari iOS aplikacija. To bo poslano samo za iOS napravo |
FcmDeviceToken | Enolični identifikator žetona naprave, ki ga ustvari Android aplikacija. To bo poslano samo za Android napravo |
Registracija naprave (več)
Telo paketne registracije vsebuje matriko do 100 objektov, ki predstavljajo zahteve za registracijo naprave.
Primer zahteve 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%"
}
]
Primer zahteve 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%"
}
]
Glave:
- x-ms-track-registration: Če je res, so informacije o uspešni ali neuspešni registraciji shranjene in na voljo prek API-ja statusa registracije.
-
x-ms-callback-url: Če ni prazen, neuspešna ali uspešna registracija naprave sproži
POST
request webhook. -
x-ms-callback-url-headers: Vsebuje serializiran JSON slovarja od niza do niza, ki predstavlja glave, posredovane za zahteve webhook. Uporablja se le, če je
x-ms-callback-url
definiran.
Vrne: 202, če je podana zahteva veljavna, 400 sicer.
Telo odgovora:
Če je x-ms-track-registration true: matrika postavk, vsak vrstni red postavk ustreza vrstnemu redu iz matrike telesa zahteve.
[
{
"RegistrationRequestId": "%REG_REQUEST_ID%"
},
{
"RegistrationRequestId": "%REG_REQUEST_ID%"
}
]
V nasprotnem primeru prazno telo.
Stanje registracije naprave
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/status/
Telo zahteve:
{
"RegistrationRequestIds": [
"%REG_REQUEST_ID%"
],
"MobileAppId": "%MOBILE_APP_ID%",
"ApiToken": "%API_TOKEN%"
}
Vračilo: 200, če je podana zahteva veljavna, 400 sicer.
Telo odgovora – nabor elementov:
[
{
"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
}
]
Vsako naročilo elementa ustreza naročilu iz RegistrationRequestIds matrike.
Definicije
Imenu | Description |
---|---|
RegistrationRequestIds | Niz posameznih zahtevkov za registracijo. Vrednosti so vzete iz odziva na registracijske klice. To je na voljo le, če je bila za registracijo uporabljena glava x-ms-track-registration |
MobileAppId | Identifikator mobilne aplikacije, konfigurirane v Customer Insights - Journeys. |
IDUporabnika | Identifikator uporabnika stika, potencialne stranke ali Customer Insights - Data profila od Customer Insights - Journeys. |
Pomembno
Obstajajo trije možni razlogi, zakaj se stanje lahko zatakne v stanju »V teku«:
- Prvotna zahteva za registracijo naprave je vsebovala neveljaven žeton API. Da bi preprečili zlonamernim akterjem, da izvedejo napad DoS na okolje s klicem »registracijske naprave« in ustvarjanjem neskončnega dušenja, takšni poskusi ne povzročijo shranjevanja zgodovine registracij. Zato ni podatkov za preverjanje uspeha.
- CRM ostane v dušenem stanju več ur, kar povzroči, da operacija posodobitve statusa ne izvede svojega opravila po večkratnih ponovnih poskusih.
- Zahteva za registracijo naprave je bila podana brez zagotovljene glave x-ms-track-registration .
Webhook stanja registracije naprave
Če je x-ms-status-callback-url naveden URL, ko je registracija naprave uspešna ali neuspešna, Customer Insights - Journeys dostopa do vrednosti glava.
OBJAVI na URL, naveden znotraj x-ms-status-callback-url glave zahteve za registracijo naprave.
Telo:
{
"Status": "Success|Failed",
"Signature": "%SIGNATURE%",
"FailureReason": " DuplicateExists|DryRunSendingFailed|DeviceTokenTooLong|FailedToStoreDevice|ApiTokenNotValid"
}
Nasvet
Podpis je zgoščena vrednost HMACSHA256 URL-ja povratnega klica, izračunana z uporabo žetona API kot ključa. Uporabite vrednost, da preverite, da je Customer Insights - Journeys izvedel klic. Zgostite URL povratnega klica z žetonom API na strani webhooka z uporabo istega algoritma in primerjajte vrednosti.
opomba,
Poskus vložitve zahteve se zgodi enkrat. Vsaka neizvedba zahteve povzroči izgubo obvestila. Vrste napak vključujejo napačen URL za povratni klic, REST API časovno omejitev klica ali nepričakovano statusno kodo odgovora.
Vrne: 202, če je podana zahteva veljavna, 400 sicer.
Pričakovano telo: prazno telo.
Čiščenje naprave (enojno)
Pomembno je, da iz zbirke podatkov odstranite naprave, ki niso več veljavne, da zagotovite učinkovito pošiljanje sporočil. Uporabite naslednji pristop, da odstranite stare kombinacije naprav, uporabnikov in aplikacij iz tabele naprav.
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%"
}
Vrne: 202, če je podana zahteva veljavna, 400 sicer.
Definicije
Imenu | Description |
---|---|
MobileAppId | Identifikator mobilne aplikacije, konfigurirane v Customer Insights - Journeys. |
ApiToken | Vaš žeton API za odobritev zahteve. |
IDUporabnika | Identifikator uporabnika stika, potencialne stranke ali Customer Insights - Data profila od Customer Insights - Journeys. |
DeviceToken | Enolični identifikator žetona naprave, ki ga ustvari aplikacija. |
Čiščenje naprave (večkrat)
Pomembno je, da iz zbirke podatkov odstranite naprave, ki niso več veljavne, da zagotovite učinkovito pošiljanje sporočil. Uporabite naslednji pristop, da odstranite stare kombinacije naprav, uporabnikov in aplikacij iz tabele naprav.
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%"
}
Vrne: 202, če je podana zahteva veljavna, 400 sicer.
Definicije
Imenu | Description |
---|---|
MobileAppId | Identifikator mobilne aplikacije, konfigurirane v Customer Insights - Journeys. |
ApiToken | Vaš žeton API za odobritev zahteve. |
IDUporabnika | Identifikator uporabnika stika, potencialne stranke ali Customer Insights - Data profila od Customer Insights - Journeys. |
DeviceToken | Enolični identifikator žetona naprave, ki ga ustvari aplikacija. |