Enhetsregistrering av Push-meddelande för programutvecklare
Om du vill ha mer information om den övergripande metoden för att konfigurera push-meddelanden i Customer Insights - Journeys, besök översikt över konfiguration av push-meddelande.
Om du vill aktivera push-meddelanden i Customer Insights - Journeys måste du utföra följande steg:
- Appkonfiguration för push-meddelanden
- Användarmappning för push-meddelanden
- Enhetsregistrering för push-meddelanden
- Ta emot push-meddelanden på enheter
- Interaktionsrapportering för push-meddelanden
Det här diagrammet beskriver de två steg som krävs för att registrera enheter och användare i Customer Insights - Journeys.
Enhetsregistrering
För att mobilappskonfigurationen ska slutföras måste utvecklaren registrera enheter på flera servrar. Du bör redan ha enhetstoken, användar-ID från Customer Insights - Journeys (kontakt-ID, lead-ID, Customer Insights - Data profil-ID) och mobilapp-ID från Customer Insights - Journeys.
När du har ringt upp en registrering av en enhet får du ett 202-svar. Svaret från 202 anger endast att förfrågan har accepterats. Om du vill bekräfta en lyckad förfrågan måste du kontrollera statusen med hjälp av en webhook eller anropa slutpunkten direkt.
API
Enhetsregistrering (enkel)
Exempel HTTP-begäran (iOS):
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"ApiToken": "%API_TOKEN%",
"ApnsDeviceToken": "%APNS_TOKEN%"
}
Exempel HTTP-begäran (Android):
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"ApiToken": "%API_TOKEN%",
"FcmDeviceToken": "%FCM_TOKEN%"
}
Sidhuvuden:
- x-ms-track-registration: när det är sant lagras information om registrering framgång/fel och vara tillgänglig via registrering status-API.
- x-ms-callback-url: När den inte är tom, kommer misslyckad eller lyckad enhetsregistrering att utlösa POST-begäran webhook.
- x-ms-callback-url-headers: Innehåller en serialiserad JSON av en sträng-till-sträng-ordbok, som representerar rubriker som skickas för webhook-förfrågningar. Används endast när x-ms-callback-url har definierats.
Returer: 202 om den angivna begäran är giltig, 400 annars.
Svarstext:
När x-ms-track-registration är sant:
{
"RegistrationRequestId": "%GUID%"
}
I annat fall tom brödtext.
Definitioner
Namn | Beskrivning |
---|---|
MobileAppId | Identifieraren för den mobilapp som konfigurerats i Customer Insights - Journeys. |
AnvändarID | Användar-ID för kontakten, leadet eller Customer Insights - Data-profilen från Customer Insights - Journeys. |
ApiToken | Din API-token som auktoriserar förfrågan. |
ApnsDeviceToken | Det unika enhetstoken-ID som genereras av iOS-programmet. Detta skickas endast för en iOS-enhet |
FcmDeviceToken | Det unika enhetstoken-ID som genereras av Android-programmet. Detta skickas endast för en Android-enhet |
Enhetsregistrering (flera)
Brödtexten i batchregistreringen innehåller en matris med upp till 100 objekt som representerar begäran om enhetsregistrering.
Exempel HTTP-begäran (iOS):
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/batch
[
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"ApiToken": "%API_TOKEN%",
"ApnsDeviceToken": "%APNS_TOKEN%"
},
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"ApiToken": "%API_TOKEN%",
"ApnsDeviceToken": "%APNS_TOKEN%"
}
]
Exempel HTTP-begäran (Android):
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/batch
[
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"ApiToken": "%API_TOKEN%",
"FcmDeviceToken": "%FCM_TOKEN%"
},
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"ApiToken": "%API_TOKEN%",
"FcmDeviceToken": "%FCM_TOKEN%"
}
]
Sidhuvuden:
- x-ms-track-registration:: När det är sant lagras information om registrering framgång eller fel och vara tillgänglig via registrering status-API.
-
x-ms-callback-url: När den inte är tom, kommer misslyckad eller lyckad enhetsregistrering att utlösa
POST
-begäran webhook. -
x-ms-callback-url-headers:: Innehåller en serialiserad JSON av en sträng-till-sträng-ordbok, som representerar rubriker som skickas för webhook-förfrågningar. Används endast när
x-ms-callback-url
definieras.
Returer: 202 om den angivna begäran är giltig, 400 annars.
Svarstext:
När x-ms-track-registration är sant: en matris med objekt motsvarar varje objektordning order från förfrågans brödtextmatris.
[
{
"RegistrationRequestId": "%REG_REQUEST_ID%"
},
{
"RegistrationRequestId": "%REG_REQUEST_ID%"
}
]
I annat fall tom brödtext.
Status för enhetsregistrering
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/status/
Begärandetext:
{
"RegistrationRequestIds": [
"%REG_REQUEST_ID%"
],
"MobileAppId": "%MOBILE_APP_ID%",
"ApiToken": "%API_TOKEN%"
}
Returer: 200 om den angivna begäran är giltig, 400 annars.
Begärandetext – en matris med objekt:
[
{
"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
}
]
Varje objektorder motsvarar ordern från matrisen RegistrationRequestIds.
Definitioner
Namn | Beskrivning |
---|---|
RegistrationRequestIds | En matris med enskilda registreringsförfrågningar. Värdena tas från registreringssamtalens svar. Detta anges endast när rubriken x-ms-track-registration användes för registrering |
MobileAppId | Identifieraren för den mobilapp som konfigurerats i Customer Insights - Journeys. |
AnvändarID | Användar-ID för kontakten, leadet eller Customer Insights - Data-profilen från Customer Insights - Journeys. |
Viktigt
Det finns tre möjliga orsaker till varför statusen kan fastna i status väntande:
- Den ursprungliga begäran om enhetsregistrering hade en ogiltig API-token. Om du vill förhindra att skadliga användare utför en DoS-angrepp mot en miljö genom att anropa "registerenhet" och skapa generering av historik för förfallna miljöer, leder sådana försök inte till att registreringshistorik lagras. Därför finns det ingen information för att kontrollera framgång.
- CRM-systemet fortsätter att fungera i flera timmar, vilket gör att statusuppdateringsåtgärden inte kan köras efter flera uppdateringar.
- Begäran om enhetsregistrering gjordes utan det medföljande x-ms-track-registration-huvudet.
Webhook för enhetsregistreringsstatus
Om en x-ms-status-callback-url anges som URL:en när en enhetsregistrering lyckas eller misslyckas får du Customer Insights - Journeys åtkomst till värdet i rubriken.
POST till webbadressen som tillhandahålls inom x-ms-status-callback-url rubriken för begäran om enhetsregistrering.
Brödtext:
{
"Status": "Success|Failed",
"Signature": "%SIGNATURE%",
"FailureReason": " DuplicateExists|DryRunSendingFailed|DeviceTokenTooLong|FailedToStoreDevice|ApiTokenNotValid"
}
Dricks
Signaturen är HMACSHA256 hasch med callback-URL som beräknas med API-token som en nyckel. Använd värdet för att kontrollera att Customer Insights - Journeys samtalet har ringts upp. Hasha callback-URL:en med API-token på webhooks sida, använda samma algoritm och jämföra värdena.
Kommentar
Ett försök att göra en förfrågan sker en gång. Om det inte går att utföra en förfrågan förloras meddelandet. Feltyper innehåller fel på callback-URL, REST API tidsgräns för samtal eller en oväntad svarsstatuskod.
Returer: 202 om den angivna begäran är giltig, 400 annars.
Förväntad kropp: tom brödtext.
Enhetsrensning (enkel)
Det är viktigt att ta bort enheter som inte längre är giltiga från databasen för att säkerställa att meddelanden skickas. Använd följande metod om du vill ta bort gamla kombinationer av enheter, användare och program från enhetstabellen.
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/cleanup
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"ApiToken": "%API_TOKEN%",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"DeviceToken": "%OPTIONAL_FCM_OR_APNS_DEVICE_TOKEN%"
}
Returer: 202 om den angivna begäran är giltig, 400 annars.
Definitioner
Namn | Beskrivning |
---|---|
MobileAppId | Identifieraren för den mobilapp som konfigurerats i Customer Insights - Journeys. |
ApiToken | Din API-token som auktoriserar förfrågan. |
AnvändarID | Användar-ID för kontakten, leadet eller Customer Insights - Data-profilen från Customer Insights - Journeys. |
DeviceToken | Det unika enhetstoken-ID som genereras av programmet. |
Enhetsrensning (flera)
Det är viktigt att ta bort enheter som inte längre är giltiga från databasen för att säkerställa att meddelanden skickas. Använd följande metod om du vill ta bort gamla kombinationer av enheter, användare och program från enhetstabellen.
POST {PublicEndpoint}/api/v1.0/orgs/%ORG_ID%/pushdeviceregistration/devices/cleanup/batch
{
"MobileAppId": "00000000-0000-0000-0000-000000000000",
"ApiToken": "%API_TOKEN%",
"UserId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"DeviceToken": "%OPTIONAL_FCM_OR_APNS_DEVICE_TOKEN%"
}
Returer: 202 om den angivna begäran är giltig, 400 annars.
Definitioner
Namn | Beskrivning |
---|---|
MobileAppId | Identifieraren för den mobilapp som konfigurerats i Customer Insights - Journeys. |
ApiToken | Din API-token som auktoriserar förfrågan. |
AnvändarID | Användar-ID för kontakten, leadet eller Customer Insights - Data-profilen från Customer Insights - Journeys. |
DeviceToken | Det unika enhetstoken-ID som genereras av programmet. |