Delen via


Aangepaste API's definiëren

Uitgaande aangepaste API

Toepasselijke kanalen: sms, aangepast

Wanneer u een aangepast kanaal maakt in Dynamics 365 Customer Insights - Journeys, moet u een uitgaande aangepaste API definiëren om aan te roepen tijdens de looptijd van de beleving. De aangepaste API is het toegangspunt voor het uitvoeren van aangepaste code. Deze roept de API's van de provider aan en moet het contract accepteren dat is gedefinieerd door Customer Insights - Journeys en de respons retourneren. De uitgaande aangepaste API wordt toegewezen aan het kenmerk msdyn_outboundendpointurltemplate in de kanaaldefinitiestap.

Het contract dat de uitgaande aangepaste API moet implementeren, moet één invoerparameter (payload) en één uitvoerkenmerk (respons) hebben.

  • De payload is een geserialiseerde JSON met het volgende contract:

    • ChannelDefinitionId: GUID – de kanaaldefinitie-id.
    • RequestId: tekenreeks – de aanvraag-id.
    • From: tekenreeks - de afzender (kanaalexemplaar).
    • To: tekenreeks – de ontvanger.
    • Message: woordenboek <tekenreeks, tekenreeks> - bevat alle berichtonderdelen voor een kanaal. Sleutels zijn de namen van berichtonderdelen, zoals de waarden van het corresponderende kenmerk msdyn_name.
    • MarketingAppContext: object - een object dat de context van de inzending vertegenwoordigt. Dit object is alleen beschikbaar wanneer de inzending wordt uitgevoerd vanuit de Customer Insights - Journeys-toepassing. Het object bevat de volgende velden:
      • CustomerJourneyId: tekenreeks - de ID van de klantreis die de oproep start. Null wanneer de inzending wordt aangevraagd vanuit een testverzending.
      • UserId: GUID - id van de gebruiker die het bericht heeft ontvangen. Null wanneer de inzending wordt aangevraagd vanuit een testverzending.
      • UserEntityType: Tekenreeks - type entiteit die een gebruiker die het bericht ontvangt, vertegenwoordigt. Null wanneer de inzending wordt aangevraagd vanuit een testverzending.
      • IsTestSend: booleaans - waar wanneer de inzending werd gestart vanuit een testverzending, onwaar in andere gevallen.
  • De respons is een geserialiseerde JSON met het volgende contract:

    • ChannelDefinitionId: GUID – de kanaaldefinitie-id.
    • MessageId: tekenreeks (optioneel) de bericht-id. Optioneel; het kan voorkomen in de API-respons van een provider.
    • RequestId: tekenreeks – de aanvraag-id. Moet gelijk zijn aan de aanvraag-id-waarde binnen de nettolading van de aanvraag.
    • Status: tekenreeks – de mogelijke waarden zijn:
      • NotSent – Er is een poging ondernomen om de indiening bij de provider uit te voeren, maar deze werd afgewezen zonder de mogelijkheid om het opnieuw te proberen.
      • Sent – De indieningsaanvraag is geaccepteerd door de provider.

Aangepaste API voor leveringsrapport

Toepasselijke kanalen: sms, aangepast

Als uw kanaal leveringsrapporten of statussen voor berichten ondersteunt, moet u een aangepaste API voor leveringsrapporten definiëren. Uw API wordt aangeroepen door de provider en moet de API msdyn_D365ChannelsNotification van de basisoplossing aanroepen, die de informatie retourneert naar Dataverse. Deze informatie is beschikbaar in Customer Insights - Journeys-analyses.

De aangepaste API voor leveringsrapporten roept de API msdyn_D365ChannelsNotification aan met het contract als invoerparameter:

  • notificationPayLoad is een geserialiseerde JSON met het volgende contract:

    • ChannelDefinitionId: GUID – de kanaaldefinitie-id.
    • RequestId: tekenreeks – de aanvraag-id.
    • MessageId: tekenreeks – de bericht-id.
    • From: tekenreeks - de afzender (kanaalexemplaar).
    • OrganizationId: tekenreeks – de organisatie-id.
    • Status: tekenreeks - de status van het leveringsrapport. De mogelijke waarden zijn:
      • Delivered – Het geaccepteerde bericht is afgeleverd bij het doel.
      • NotDelivered – Het geaccepteerde bericht is niet afgeleverd bij het doel.

Inkomende aangepaste API

Toepasselijke kanalen: sms

Als uw kanaal inkomende aanvragen ondersteunt, moet u een inkomende aangepaste API definiëren. Uw API wordt aangeroepen door de provider en moet de API msdyn_D365ChannelsInbound van de basisoplossing aanroepen, die de informatie retourneert naar Dataverse.

De inkomende aangepaste API roept de API msdyn_D365ChannelsInbound aan met het contract als invoerparameter:

  • inboundPayLoad is een geserialiseerde JSON met het volgende contract:

    • ChannelDefinitionId: GUID – de kanaaldefinitie-id.
    • To: tekenreeks - het C1-telefoonnummer (kanaalexemplaar).
    • From: tekenreeks - C2-gebruikerscontactpunt.
    • OrganizationId: tekenreeks – de organisatie-id.
    • Message: woordenboek <tekenreeks, tekenreeks> - bevat alle berichtonderdelen voor een kanaal.