Compartilhar via


Definir APIs personalizadas

API personalizada de saída

Canais aplicáveis: SMS, personalizado

Ao criar um canal personalizado no Dynamics 365 Customer Insights - Journeys, você precisa definir uma API personalizada de saída para chamar durante o runtime do percurso. A API personalizada é o ponto de entrada para executar o código personalizado. Ela chama as APIs do provedor, deve aceitar o contrato definido pelo Customer Insights - Journeys e retornar a resposta. A API personalizada de saída é atribuída ao atributo msdyn_outboundendpointurltemplate na etapa de definição do canal.

O contrato a ser implementado pela API personalizada de saída deve ter um parâmetro de entrada (conteúdo) e um atributo de saída (resposta).

  • O conteúdo é um JSON serializado com o seguinte contrato:

    • ChannelDefinitionId: GUID – a ID de definição do canal.
    • RequestId: cadeia de caracteres – a ID da solicitação.
    • From: cadeia de caracteres – o remetente (instância do canal).
    • To: cadeia de caracteres – o destinatário.
    • Message: Dictionary <cadeia de caracteres, cadeia de caracteres> - contém todas as partes da mensagem de um canal. As chaves são os nomes das partes da mensagem, como os valores do atributo msdyn_name correspondente.
    • MarketingAppContext: objeto - um objeto que representa o contexto do envio. Este objeto só está disponível quando o envio é executado desde o aplicativo Customer Insights - Journeys. O objeto contém os seguintes campos:
      • CustomerJourneyId: cadeia de caracteres - a ID do percurso do cliente que iniciou a chamada. Nulo, quando o envio for solicitado de um envio de teste.
      • UserId: GUID - a ID do usuário que está recebendo a mensagem. Nulo, quando o envio for solicitado de um envio de teste.
      • UserEntityType: cadeia de caracteres - tipo de entidade que representa um usuário que está recebendo a mensagem. Nulo, quando o envio for solicitado de um envio de teste.
      • IsTestSend: booliano - Verdadeiro, quando o envio foi iniciado de um envio de teste; caso contrário, será Falso.
  • A resposta é um JSON serializado com o seguinte contrato:

    • ChannelDefinitionId: GUID – a ID de definição do canal.
    • MessageId: cadeia de caracteres – (opcional) a ID da mensagem. Opcional; ele pode existir na resposta da API de um provedor.
    • RequestId: cadeia de caracteres – a ID da solicitação. Deve ser igual ao valor do ID da solicitação dentro do payload da solicitação.
    • Status: cadeia de caracteres – os valores possíveis são:
      • NotSent – houve tentativa de execução do envio ao provedor, mas foi rejeitada sem possibilidade de nova tentativa.
      • Sent – A solicitação de envio foi aceita com êxito pelo provedor.

API personalizada do relatório de entrega

Canais aplicáveis: SMS, personalizado

Se o seu canal der suporte a relatórios de entrega de mensagem ou status, você precisará definir uma API personalizada de relatório de entrega. Sua API é chamada pelo provedor e ele deve chamar a API msdyn_D365ChannelsNotification da solução base, que retorna as informações ao Dataverse. Essas informações estão disponíveis na análise do Customer Insights - Journeys.

A API personalizada do relatório de entrega chama a API msdyn_D365ChannelsNotification com o contrato como um parâmetro de entrada:

  • notificationPayLoad é um JSON serializado com o seguinte contrato:

    • ChannelDefinitionId: GUID – a ID de definição do canal.
    • RequestId: cadeia de caracteres – a ID da solicitação.
    • MessageId: cadeia de caracteres – a ID da mensagem.
    • From: cadeia de caracteres – o remetente (instância do canal).
    • OrganizationId: cadeia de caracteres – a ID da organização.
    • Status: cadeia de caracteres – o status do relatório de entrega. Os valores possíveis são:
      • Delivered – A mensagem aceita foi entregue com êxito no destino.
      • NotDelivered – A mensagem aceita não foi entregue com êxito no destino.

API personalizada de entrada

Canais aplicáveis: SMS

Se o seu canal der suporte a solicitações de entrada, você precisará definir uma API personalizada de entrada. Sua API é chamada pelo provedor e ele deve chamar a API msdyn_D365ChannelsInbound da solução base, que retorna as informações ao Dataverse.

A API personalizada de entrada chama a API msdyn_D365ChannelsInbound com o contrato como um parâmetro de entrada:

  • inboundPayLoad é um JSON serializado com o seguinte contrato:

    • ChannelDefinitionId: GUID – a ID de definição do canal.
    • To: cadeia de caracteres - o número de telefone C1 (instância do canal).
    • From: cadeia de caracteres - ponto de contato do usuário C2.
    • OrganizationId: cadeia de caracteres – a ID da organização.
    • Message: Dictionary <cadeia de caracteres, cadeia de caracteres> - contém todas as partes da mensagem de um canal.