Compartir a través de


Definir API personalizadas

API personalizada de salida

Canales aplicables: SMS, Personalizado

Cuando crea un canal personalizado en Dynamics 365 Customer Insights - Journeys, debe definir una API personalizada saliente para llamar durante el tiempo de ejecución del recorrido. La API personalizada es el punto de entrada para la ejecución de código personalizado. Llama a las API del proveedor y debe aceptar el contrato definido por Customer Insights - Journeys y devolver la respuesta. La API personalizada saliente se asigna al atributo msdyn_outboundendpointurltemplate en el paso de definición del canal.

El contrato que debe implementar la API personalizada de salida debe tener un parámetro de entrada (carga útil) y un atributo de salida (respuesta).

  • La carga útil es un JSON serializado con el siguiente contrato:

    • ChannelDefinitionId: GUID: el ID de definición del canal.
    • RequestId: cadena – El ID de la solicitud.
    • From: cadena – El remitente (instancia de canal).
    • To: cadena - el destinatario.
    • Message: diccionario <cadena, cadena> - contiene todas las partes del mensaje de un canal. Las claves son los nombres de las partes del mensaje, como los valores del atributo msdyn_name correspondiente.
    • MarketingAppContext: objeto: un objeto que representa el contexto del envío. Este objeto solo está disponible cuando el envío se ejecuta desde la aplicación Customer Insights - Journeys. El objeto contiene los siguientes campos:
      • CustomerJourneyId: cadena - El ID de recorrido del cliente que inicia la llamada. Nulo, cuando el envío se solicita desde un envío de prueba.
      • UserId: GUID - Identificador del usuario que recibe el mensaje. Nulo, cuando el envío se solicita desde un envío de prueba.
      • Tipo de entidad de usuario: cadena: tipo de entidad que representa a un usuario que recibe el mensaje. Nulo, cuando el envío se solicita desde un envío de prueba.
      • IsTestSend: booleano: verdadero cuando el envío se inició desde un envío de prueba; en caso contrario, falso.
  • La respuesta es un JSON serializado con el siguiente contrato:

    • ChannelDefinitionId: GUID: el ID de definición del canal.
    • MessageId: cadena – El ID del mensaje. Opcional; puede existir en la respuesta API de un proveedor.
    • RequestId: cadena – El ID de la solicitud. Debe ser igual al valor de ID de la solicitud dentro de la carga útil de la solicitud.
    • Status: cadena: los valores posibles son:
      • NotSent – Hubo un intento de ejecutar el envío al proveedor, pero fue rechazado sin posibilidad de volver a intentarlo.
      • Sent – La solicitud de envío fue aceptada con éxito por el proveedor.

API personalizada de informe de entrega

Canales aplicables: SMS, Personalizado

Si su canal admite informes de entrega o estados de mensajes, debe definir una API personalizada de informe de entrega. El proveedor llama a su API y debe llamar a la API msdyn_D365ChannelsNotification de la solución base, que devuelve la información a Dataverse. Esta información está disponible en análisis de Customer Insights - Journeys.

La API personalizada del informe de enterga llama a la API msdyn_D365ChannelsNotification con el contrato como un parámetro de entrada:

  • notificationPayLoad es un JSON serializado con el siguiente contrato:

    • ChannelDefinitionId: GUID: el ID de definición del canal.
    • RequestId: cadena – El ID de la solicitud.
    • MessageId: cadena – El ID del mensaje.
    • From: cadena – El remitente (instancia de canal).
    • OrganizationId: cadena- Id. de organización.
    • Status: cadena: el estado del informe de entrega. Los valores posibles son:
      • Delivered – El mensaje aceptado se entregó con éxito al destino.
      • NotDelivered – El mensaje aceptado no se entregó con éxito al destino.

API personalizada de entrada

Canales aplicables: SMS

Si su canal admite solicitudes entrantes, necesita definir una API personalizada de entrada. El proveedor llama a su API y debe llamar a la API msdyn_D365ChannelsInbound de la solución base, que devuelve la información a Dataverse.

La API personalizada de entrada llama a la API msdyn_D365ChannelsInbound con el contrato como un parámetro de entrada:

  • inboundPayLoad es un JSON serializado con el siguiente contrato:

    • ChannelDefinitionId: GUID: el ID de definición del canal.
    • To: cadena: el número de teléfono C1 (instancia de canal).
    • De: string - Punto de contacto del usuario C2.
    • OrganizationId: cadena- Id. de organización.
    • Message: diccionario <cadena, cadena> - contiene todas las partes del mensaje de un canal.