Bendrinti naudojant


"Push" pranešimų įrenginio registracija programų kūrėjams

Norėdami sužinoti daugiau apie bendrą "push" pranešimų Customer Insights - Journeys nustatymo metodą, apsilankykite "push" pranešimų sąrankos apžvalgoje.

Norėdami įjungti tiesioginius pranešimus Customer Insights - Journeys, turite atlikti šiuos veiksmus:

  1. "Push" pranešimų programos konfigūracija
  2. Naudotojų susiejimas tiesioginiams pranešimams
  3. Įrenginio registracija tiesioginiams pranešimams
  4. "Push" pranešimų gavimas įrenginiuose
  5. Sąveikos ataskaitų teikimas iš karto gaunamiems pranešimams

Šioje diagramoje aprašomi du žingsniai, kurių reikia norint užregistruoti įrenginius ir vartotojus Customer Insights - Journeys.

Įrenginio registracija

Norėdamas užbaigti programos mobiliesiems konfigūraciją, kūrėjas turi užregistruoti įrenginius visuose serveriuose. Jau turėtumėte turėti įrenginio atpažinimo ženklą, vartotojo ID iš Customer Insights - Journeys (kontakto ID, potencialaus kliento ID, Customer Insights - Data profilio ID) ir mobiliosios programos ID iš Customer Insights - Journeys.

Sėkmingai iškvietus įrenginio registracijos užklausą, gaunamas 202 atsakymas. 202 atsakyme tik nurodoma, kad prašymas buvo patenkintas. Norėdami patvirtinti sėkmingą užklausą, turite patikrinti būseną naudodami "webhook" arba tiesiogiai paskambindami būsenos galiniu punktu.

API

Įrenginio registracija (vienas)

HTTP užklausos pavyzdys (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 užklausos pavyzdys (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%"
}

Antraštes:

  • x-ms-track-registration: kai teisinga, informacija apie registracijos sėkmę / nesėkmę saugoma ir pasiekiama naudojant registracijos būsenos API.
  • x-ms-callback-url: Kai įrenginys nėra tuščias, nepavykusi arba sėkminga įrenginio registracija suaktyvina POST užklausos žiniatinklio kabliuką.
  • x-ms-callback-url-headers: Yra žodyno iš eilutės į eilutę nuoseklusis JSON, nurodantis antraštes, perduotas žiniatinklio kablio užklausoms. Naudojamas tik tada, kai apibrėžtas x-ms-callback-url.

Grąžinimas: 202, jei pateiktas prašymas galioja, 400 kitaip.

Reagavimo įstaiga:

Kai x-ms-track-registracija yra teisinga:

{
    "RegistrationRequestId": "%GUID%"
}

Priešingu atveju tuščias kūnas.

Apibrėžimai
Pavadinimą Aprašą
MobileAppId Mobiliosios programos, sukonfigūruotos Customer Insights - Journeys, identifikatorius.
Vartotojo ID Kontakto, galimo kliento arba Customer Insights - Data profilio iš Customer Insights - Journeys vartotojo identifikatorius.
ApiToken Jūsų API prieigos raktas, skirtas užklausai įgalioti.
ApnsDeviceToken Unikalus įrenginio atpažinimo ženklo identifikatorius, iOS kurį sugeneruoja programa. Tai bus siunčiama iOS tik įrenginiui
FcmDeviceToken Unikalus įrenginio atpažinimo ženklo identifikatorius, Android kurį sugeneruoja programa. Tai bus siunčiama Android tik įrenginiui

Įrenginio registracija (keli)

Paketinės registracijos tekste yra iki 100 objektų, atitinkančių įrenginio registracijos užklausas, masyvas.

HTTP užklausos pavyzdys (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 užklausos pavyzdys (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%"
    }
]

Antraštes:

  • x-ms-track-registration: kai teisinga, informacija apie registracijos sėkmę arba nesėkmę saugoma ir pasiekiama naudojant registracijos būsenos API.
  • x-ms-callback-url: kai įrenginys nėra tuščias, nepavykusi arba sėkminga įrenginio registracija suaktyvina POST užklausą "Webhook".
  • x-ms-callback-url-headers: yra žodyno nuo eilutės iki eilutės nuoseklusis JSON, nurodantis antraštes, perduotas žiniatinklio kabliuko užklausoms. Naudojamas tik tada, kai x-ms-callback-url yra apibrėžtas.

Grąžinimas: 202, jei pateiktas prašymas galioja, 400 kitaip.

Reagavimo įstaiga:

Kai x-ms-track-registration yra teisinga: elementų masyvas, kiekvienas prekės užsakymas atitinka užsakymą iš užklausos turinio masyvo.

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

Priešingu atveju tuščias kūnas.

Įrenginio registracijos būsena

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

Prašymą pateikusi institucija:

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

Grąžinimas: 200, jei pateiktas prašymas galioja, 400 kitaip.

Atsakymo kūnas - elementų masyvas:

[
    {
        "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
    }
]

Kiekvienas prekės užsakymas atitinka užsakymą iš RegistrationRequestIds masyvo.

Apibrėžimai
Pavadinimą Aprašą
RegistrationRequestIds Atskirų registracijos užklausų masyvas. Vertės paimtos iš atsakymo į registracijos skambučius. Tai pateikiama tik tada, kai registracijai buvo naudojama x-ms-track-registration antraštė
MobileAppId Mobiliosios programos, sukonfigūruotos Customer Insights - Journeys, identifikatorius.
Vartotojo ID Kontakto, galimo kliento arba Customer Insights - Data profilio iš Customer Insights - Journeys vartotojo identifikatorius.

Svarbu

Yra trys galimos priežastys, kodėl būsena gali įstrigti būsenoje "Laukiama":

  1. Pradinėje įrenginio registracijos užklausoje buvo netinkamas API prieigos raktas. Siekiant užkirsti kelią kenkėjiškiems veikėjams atlikti DoS ataką prieš aplinką iškviečiant "registro įrenginį" ir generuojant begalinį droselį, tokie bandymai nesukuria registracijos istorijos saugojimo. Todėl nėra informacijos, kad būtų galima patikrinti sėkmę.
  2. CRM kelias valandas išlieka droselio būsenoje, todėl būsenos naujinimo operacija nepavyksta atlikti savo užduoties po kelių pakartotinių bandymų.
  3. Įrenginio registracijos užklausa buvo pateikta nepateikus x-ms-track-registration antraštės.

Įrenginio registracijos būsena "Webhook"

Jei pateikiamas x-ms-status-callback-url , URL, kai įrenginio registracija yra sėkminga arba nepavyko, Customer Insights - Journeys pasiekia antraštės reikšmę.

POST į URL, pateiktą įrenginio registracijos užklausos x-ms-status-callback-url antraštėje.

Tekstas:

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

Arbatpinigiai

Parašas yra atgalinio iškvietimo URL, apskaičiuoto naudojant API prieigos raktą kaip raktą, HMACSHA256 maiša. Naudokite reikšmę, kad patvirtintumėte, jog Customer Insights - Journeys skambinote. Maišos atgalinio iškvietimo URL su API žetonu "Webhook" pusėje naudojant tą patį algoritmą ir lyginant reikšmes.

Pastaba.

Bandymas pateikti prašymą įvyksta vieną kartą. Jei užklausos nevykdoma, pranešimas prarandamas. Gedimų tipai apima neteisingą atgalinio iškvietimo URL, REST API skambučio skirtąjį laiką arba netikėto atsakymo būsenos kodą.

Grąžinimas: 202, jei pateiktas prašymas galioja, 400 kitaip.

Laukiamas kūnas: tuščias kūnas.

Įrenginio valymas (vienas)

Svarbu iš duomenų bazės pašalinti nebegaliojančius įrenginius, kad būtų užtikrintas našus pranešimų siuntimas. Naudokite šį būdą, kad pašalintumėte senus įrenginio, vartotojo ir programų derinius iš įrenginių lentelės.

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%"
}

Grąžinimas: 202, jei pateiktas prašymas galioja, 400 kitaip.

Apibrėžimai
Pavadinimą Aprašą
MobileAppId Mobiliosios programos, sukonfigūruotos Customer Insights - Journeys, identifikatorius.
ApiToken Jūsų API prieigos raktas, skirtas užklausai įgalioti.
Vartotojo ID Kontakto, galimo kliento arba Customer Insights - Data profilio iš Customer Insights - Journeys vartotojo identifikatorius.
"DeviceToken" Unikalus įrenginio atpažinimo ženklo identifikatorius, kurį sugeneruoja programa.

Įrenginio valymas (keli)

Svarbu iš duomenų bazės pašalinti nebegaliojančius įrenginius, kad būtų užtikrintas našus pranešimų siuntimas. Naudokite šį būdą, kad pašalintumėte senus įrenginio, vartotojo ir programų derinius iš įrenginių lentelės.

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%"
}

Grąžinimas: 202, jei pateiktas prašymas galioja, 400 kitaip.

Apibrėžimai
Pavadinimą Aprašą
MobileAppId Mobiliosios programos, sukonfigūruotos Customer Insights - Journeys, identifikatorius.
ApiToken Jūsų API prieigos raktas, skirtas užklausai įgalioti.
Vartotojo ID Kontakto, galimo kliento arba Customer Insights - Data profilio iš Customer Insights - Journeys vartotojo identifikatorius.
"DeviceToken" Unikalus įrenginio atpažinimo ženklo identifikatorius, kurį sugeneruoja programa.