Del via


Definer egendefinerte API-er

Utgående egendefinert API

Aktuelle kanaler: SMS, egendefinert

Når du oppretter en egendefinert kanal i Dynamics 365 Customer Insights - Journeys, må du definere en utgående egendefinert API å kalle opp i løpet av kjøretiden for reisen. Den egendefinerte API-en er inngangspunktet for kjøring av egendefinert kode. Den kaller opp leverandørens API og må godta kontrakten som er definert av Customer Insights - Journeys-reisen, og returnere svaret. Den utgående egendefinerte API-en er tilordnet til attributtet msdyn_outboundendpointurltemplate i kanaldefinisjonstrinnet.

Kontrakten som den utgående egendefinerte API-en skal implementere, må ha én inndataparameter (nyttelast) og ett utdataattributt (svar).

  • Nyttelasten er en serialisert JSON med følgende kontrakt:

    • ChannelDefinitionId: GUID – Definisjons-ID-en for kanalen.
    • RequestId: streng – Forespørsels-ID-en.
    • From: streng – Avsenderen (kanalforekomst).
    • To: streng – Mottakeren.
    • Message: Dictionary <streng, streng> – Inneholder alle meldingsdelene for en kanal. Nøkler er navn på meldingsdeler, for eksempel verdiene i det tilsvarende msdyn_name-attributtet.
    • MarketingAppContext: objekt – Et objekt som representerer konteksten for sendingen. Dette objektet er bare tilgjengelig når sendingen kjøres fra Customer Insights - Journeys-appen. Objektet inneholder følgende felter:
      • CustomerJourneyId: streng – ID-en for kundereisen som innleder samtalen. Null når sendingen er på forespørsel fra en testsending.
      • UserId: GUID – ID for brukeren som mottar meldingen. Null når sendingen er på forespørsel fra en testsending.
      • UserEntityType: streng – Enhetstypen som representerer en bruker som mottar meldingen. Null når sendingen er på forespørsel fra en testsending.
      • IsTestSend: boolsk – True når sendingen ble startet fra en testsending, ellers False.
  • Svaret er en serialisert JSON med følgende kontrakt:

    • ChannelDefinitionId: GUID – Definisjons-ID-en for kanalen.
    • MessageId: streng – (Valgfritt) Meldings-ID-en. Valgfri; kan finnes i API-svaret til en leverandør.
    • RequestId: streng – Forespørsels-ID-en. Skal være lik verdien for forespørsels-ID inne i forespørselslasten.
    • Status: streng – Mulige verdier er:
      • NotSent – Det ble gjort et forsøk på å kjøre sendingen til leverandøren, men den ble avvist uten mulighet for å gjøre et nytt forsøk.
      • Sent – Sendingsforespørselen ble godtatt av leverandøren.

Egendefinert API for leveringsrapport

Aktuelle kanaler: SMS, egendefinert

Hvis kanalen støtter meldingsleveringsrapporter eller -statuser, må du definere en Egendefinert API for leveringsrapport. API-en kalles opp av leverandøren, og den må kalle opp basisløsningens msdyn_D365ChannelsNotification-API, som returnerer informasjonen til Dataverse. Denne informasjonen er tilgjengelig i Customer Insights - Journeys-analyse.

Den egendefinerte API-en for leveringsrapport kaller opp API-en msdyn_D365ChannelsNotification med kontrakten som én inndataparameter:

  • notificationPayLoad er en serialisert JSON med følgende kontrakt:

    • ChannelDefinitionId: GUID – Definisjons-ID-en for kanalen.
    • RequestId: streng – Forespørsels-ID-en.
    • MessageId: streng – Meldings-ID-en.
    • From: streng – Avsenderen (kanalforekomst).
    • OrganizationId: streng – Organisasjons-ID-en.
    • Status: streng – Statusen for leveringsrapporten. Mulige verdier er:
      • Delivered – Den godtatte meldingen ble levert til målet.
      • NotDelivered – Den godtatte meldingen ble ikke levert til målet.

Innkommende egendefinert API

Aktuelle kanaler: SMS

Hvis kanalen støtter innkommende forespørsler, må du definere en innkommende egendefinert API. API-en kalles opp av leverandøren, og den må kalle opp basisløsningens msdyn_D365ChannelsInbound-API, som returnerer informasjonen til Dataverse.

Den innkommende egendefinerte API-en kaller opp API-en msdyn_D365ChannelsInbound med kontrakten som én inndataparameter:

  • inboundPayLoad er en serialisert JSON med følgende kontrakt:

    • ChannelDefinitionId: GUID – Definisjons-ID-en for kanalen.
    • To: streng – C1-telefonnummeret (kanalforekomst).
    • From: streng – C2-brukerkontaktpunktet.
    • OrganizationId: streng – Organisasjons-ID-en.
    • Message: Dictionary <streng, streng> – Inneholder alle meldingsdelene for en kanal.