Del via


Definere brugerdefinerede API'er

Udgående brugerdefineret API

Relevante kanaler: SMS, tilpasset

Når du opretter en brugerdefineret kanal i Dynamics 365 Customer Insights - Journeys, skal du definere en udgående brugerdefineret API, der skal kaldes under kørsel af kampagnen. Den brugerdefinerede API er indgangspunktet for udførelse af brugerdefineret kode. Den kalder udbyderens API'er og skal acceptere den kontrakt, der er defineret i Customer Insights - Journeys, og returnere svaret. Den udgående brugerdefinerede API tildeles attributten msdyn_outboundendpointurltemplatekanaldefinitionstrinnet.

Den kontrakt, som den udgående brugerdefinerede API skal implementere, skal have én inputparameter (nyttedata) og én outputattribut (svar).

  • Nyttedata en serialiseret JSON med følgende kontrakt:

    • ChannelDefinitionId: GUID – Kanaldefinitions-id.
    • RequestId: streng – Anmodnings-id'et.
    • From: streng – Afsenderen (kanalforekomst).
    • To: streng – Modtageren.
    • Message: Ordbog <streng, streng> - Indeholder alle meddelelsesdelene for en kanal. Nøgler er navnene på meddelelsesdelene, f.eks. værdierne for den tilsvarende attribut msdyn_name.
    • MarketingAppContext: objekt – Et objekt, der repræsenterer konteksten for afsendelsen. Dette objekt er kun tilgængeligt, når afsendelsen udføres fra Customer Insights - Journeys-programmet. Objektet indeholder følgende felter:
      • CustomerSupport: streng – Id'et for det kundekampagneforløb, der starter opkaldet. Null, når der anmodes om afsendelse fra en testafsendelse.
      • UserId: GUID – Id for den bruger, der modtager meddelelsen. Null, når der anmodes om afsendelse fra en testafsendelse.
      • UserEntityType: streng - Objekttype, der repræsenterer en bruger, som modtager meddelelsen. Null, når der anmodes om afsendelse fra en testafsendelse.
      • IsTestSend: boolesk - Sand, hvis afsendelsen blev startet fra en testafsendelse, eller Falsk.
  • Svaret er en serialiseret JSON med følgende kontrakt:

    • ChannelDefinitionId: GUID – Kanaldefinitions-id.
    • MessageId: streng – (Valgfrit) Meddelelses-id'et. Valgfrit, det kan findes i API-svaret fra en udbyder.
    • RequestId: streng – Anmodnings-id'et. Skal være lig med værdien for anmodnings-id i anmodningens nyttedata.
    • Status: streng – De mulige værdier er:
      • NotSent – Der blev gjort et forsøg på at udføre afsendelsen til udbyderen, men det blev afvist uden mulighed for at prøve igen.
      • Sent – Afsendelsesanmodningen blev accepteret af udbyderen.

Brugerdefineret API for leveringsrapport

Relevante kanaler: SMS, tilpasset

Hvis din kanal understøtter leveringsrapporter eller statusser for meddelelser, skal du definere en tilpasset API for leveringsrapport. Din API kaldes af udbyderen, og den skal kalde basisløsningens msdyn_D365ChannelsNotification-API, som returnerer oplysninger til Dataverse. Disse oplysninger er tilgængelige i Customer Insights - Journeys-analyser.

Din egen brugerdefinerede API til leveringsrapport kalder msdyn_D365ChannelsNotification API'en med kontrakten som én inputparameter:

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

    • ChannelDefinitionId: GUID – Kanaldefinitions-id.
    • RequestId: streng – Anmodnings-id'et.
    • MessageId: streng – Meddelelses-id'et.
    • From: streng – Afsenderen (kanalforekomst).
    • OrganizationId: streng - Organisations-id'et.
    • Status: streng – Status for leveringsrapport. De mulige værdier er:
      • Delivered – Den accepterede meddelelse blev leveret til målet.
      • NotDelivered – Den accepterede meddelelse blev ikke leveret til målet.

Indgående brugerdefineret API

Relevante kanaler: SMS

Hvis din kanal understøtter indgående forespørgsler, skal en indgående brugerdefineret API defineres. Din API kaldes af udbyderen, og den skal kalde basisløsningens msdyn_D365ChannelsInbound-API, som returnerer oplysninger til Dataverse.

Den indgående brugerdefinerede API kalder msdyn_D365ChannelsInbound API'en med kontrakten som én inputparameter:

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

    • ChannelDefinitionId: GUID – Kanaldefinitions-id.
    • To: streng – C1-telefonnummeret (kanalforekomst).
    • From: streng - C2-brugerkontaktpunkt.
    • OrganizationId: streng - Organisations-id'et.
    • Message: Ordbog <streng, streng> - Indeholder alle meddelelsesdelene for en kanal.