Referência de API de compromissos inteligentes

Use o conjunto de APIs de compromissos inteligentes para pesquisar assistentes relevantes, agendar e gerenciar reuniões. A API se baseia na API personalizada do Power Platform.

Nota

Todos os comandos nesta API usam mensagens POST.

Comandos de disponibilidade e agendamento

Comando Descrição
GetSchedulingProperties Recupera todas as informações relacionadas a tipos de reunião do ambiente do Dataverse.
GetAvailableMeetingTimeSlots Busca os intervalos de tempo disponíveis do assistente relevante com base no local, assunto, habilidades e intervalo de datas solicitados.
CreateMeeting Permite agendar uma reunião com os recursos do assistente solicitados.
GetMeeting Busca uma reunião agendada para um contato.
CancelMeeting Cancela uma reunião existente.

GetSchedulingProperties

Descrição: recupera todas as informações relacionadas a tipos de reunião do ambiente do Dataverse.

Nome do plug-in: GetSchedulingPropertiesPlugin.cs

Solicitação HTTP: POST {{url}}/api/data/v9.0/msfsi_GetSchedulingProperties

Solicitar parâmetros de entrada (no corpo): vazio

Parâmetros de saída de resposta:

Nome do Parâmetro Descrição Tipo Notas
Locais Uma matriz de objetos de localização. Esses são locais que residem nos objetos MeetingType. Matriz de objetos Os objetos de local são preenchidos quando as reuniões são apenas no local.
Tópicos Uma matriz de objetos de tópico. Esses são tópicos que residem nos objetos MeetingType. Matriz de objetos
MeetingTypes uma matriz de MeetingTypes Matriz de objetos
Objeto de local
ID A ID do local (entidade OrganizationalUnit). Cadeia de caracteres
Nome O nome da localização (entidade da ramificação). Cadeia de caracteres
Endereço1 A primeira linha no endereço da localização (entidade da ramificação). Cadeia de caracteres
Endereço2 A segunda linha no endereço da localização (entidade da ramificação). Cadeia de caracteres
City A cidade da localização (entidade de ramificação). Cadeia de caracteres
StateOrProvince O estado ou província da localização (entidade de ramificação). Cadeia de caracteres
País/região O país da localização (entidade da ramificação). Cadeia de caracteres
PostalCode O código postal da localização (entidade da ramificação). Cadeia de caracteres
Telefone O número de telefone da localização (entidade da ramificação). Cadeia de caracteres
Objeto do tópico
Identificação A ID do tópico. Cadeia de caracteres
Nome O nome do tópico. Cadeia de caracteres
Descrição Uma descrição do tópico. Cadeia de caracteres
Objeto MeetingType
Identificação A ID de MeetingType. Cadeia de caracteres
Nome O nome de MeetingType. Cadeia de caracteres
Descrição Uma descrição de MeetingType. Cadeia de caracteres
Duração A duração da reunião descrita por MeetingType. Int
Notas As notas para o participante da reunião a seguir. Cadeia de caracteres
Tópicos Uma matriz de IDs para os tópicos conectados a este MeetingType. Cadeia de caracteres[] Uma lista detalhada completa está disponível na matriz Tópicos.
Locais Uma matriz de IDs para os locais conectados a este MeetingType. Cadeia de caracteres[] Os objetos de local são preenchidos quando as reuniões são apenas no local. Uma lista detalhada completa pode ser encontrada na matriz Locais.
Canal O canal definido para este MeetingType. Conjunto de opções
  • 104800000: apenas online
  • 104800001: online ou no local
  • 104800002: apenas no local

Cada conjunto de opções é representado por um objeto que contém o valor e o rótulo.

DefaultMethod O método padrão definido para este MeetingType. Conjunto de opções
  • 104800000: online
  • 104800001: no local

Cada conjunto de opções é representado por um objeto que contém o valor e o rótulo.

Nota

Nem todos os parâmetros são retornados:

  • As reuniões apenas no local e sem ramificações não são exibidas.

  • As reuniões sem campos obrigatórios não são exibidas.

  • Entidades em estado inativo não são exibidas.

  • Os seguintes parâmetros podem não retornar valores:

  • Os parâmetros Channel e DefaultMethod não serão retornados se forem nulos.

    • Se nenhum local estiver conectado ao MeetingType, ele não terá a matriz Locais. Isso só será possível se o canal tiver um valor diferente de No local.

    • Talvez o parâmetro Topics não apareça se nenhum tópico estiver conectado ao MeetingType (por meio da entidade Connection).

    • Os parâmetros Id, Name, Description e Duration sempre fazem parte de cada elemento na resposta.

    • Topic e Location são matrizes que contêm entidades. Id é o único parâmetro obrigatório para os objetos Topic e Location.

Exemplo de resposta:

{
    "@odata.context": "https://orgc7816042.crm.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msfsi_GetSchedulingPropertiesResponse",
    "Locations": [
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "0781fd19-f1a8-ec11-983f-000d3a323337",
            "Name": "Woodgrove Oklahoma City branch",
            "Address1": "91011 East Blue Stone Drive",
            "Address2": "91011 East Blue Stone Drive",
            "City": "Oklahoma City",
            "Country": "USA",
            "PostalCode": "64555",
            "Telephone": "+1(917)145-4533"
        },
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "600ef125-f1a8-ec11-983f-000d3a323337",
            "Name": "Woodgrove Savannah branch",
            "Address1": "678 Van Hoose Drive",
            "Address2": "678 Van Hoose Drive",
            "City": "Savannah",
            "Country": "USA",
            "PostalCode": "48645",
            "Telephone": "+1(403)123-4567"
        }
    ],
    "Topics": [
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "5a007aa3-809f-ec11-b400-0022480b8113",
            "Name": "Everyday banking",
            "Description": "Account opening, credit cards, financial health check ups and general assistance subjects"
        },
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "eb4e85b5-819f-ec11-b400-0022480b8113",
            "Name": "Loans",
            "Description": "Mortgage, Loan consults, follow up and contracting meetings"
        }
    ],
    "MeetingTypes": [
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "5ce28b83-899f-ec11-b400-0022480b8113",
            "Name": "Apply for credit card",
            "Description": "Submitting an application for a credit card program",
            "Duration": 30,
            "Topics@odata.type": "#Collection(String)",
            "Topics": [
                "5a007aa3-809f-ec11-b400-0022480b8113"
            ],
            "Locations@odata.type": "#Collection(String)",
            "Locations": [
                "0781fd19-f1a8-ec11-983f-000d3a323337",
                "600ef125-f1a8-ec11-983f-000d3a323337"
            ],
            "Channel": {
                "@odata.type": "#Microsoft.Dynamics.CRM.expando",
                "Value": 104800002,
                "Label": "Online or on location"
            },
            "DefaultMethod": {
                "@odata.type": "#Microsoft.Dynamics.CRM.expando",
                "Value": 104800000,
                "Label": "Online"
            }
        },
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "1167906a-8d9f-ec11-b400-0022480b8113",
            "Name": "Mortgage Application phase 1",
            "Description": "Onboarding meeting to submit a loan application for a specific property",
            "Duration": 30,
            "Topics@odata.type": "#Collection(String)",
            "Topics": [
                "eb4e85b5-819f-ec11-b400-0022480b8113"
            ],
            "Locations@odata.type": "#Collection(String)",
            "Channel": {
                "@odata.type": "#Microsoft.Dynamics.CRM.expando",
                "Value": 104800002,
                "Label": "Online only"
            },
            "DefaultMethod": {
                "@odata.type": "#Microsoft.Dynamics.CRM.expando",
                "Value": 104800000,
                "Label": "Online"
            }
        }
    ]
}

GetAvailableMeetingTimeSlots

Descrição: busca os intervalos de tempo disponíveis do assistente relevante com base no local, assunto, habilidades e intervalo de datas solicitados.

Nome do plug-in: GetTimeSlotsPlugin.cs

Solicitação HTTP: POST {{url}}/api/data/v9.0/msfsi_GetAvailableMeetingTimeSlots

Solicitar parâmetros de entrada (no corpo):

Nome do Parâmetro Descrição Type Obrigatória Notas
Tipo de Reunião A ID do MeetingType que o usuário deseja pesquisar. Cadeia de caracteres (ID msfsi_meetingtype) Sim O valor deste parâmetro deve ser um GUID válido.
StartDateTime A data e a hora inicial para pesquisar a disponibilidade. DateTime Sim A hora fornecida deve estar em UTC.
EndDateTime A data e a hora final para pesquisar a disponibilidade. DateTime Sim A hora fornecida deve estar em UTC.
Local da Reunião Solicitada A ID do local (OrganizationalUnit) que o usuário deseja pesquisar. Cadeia de caracteres (Id de msdyn_organizationalunit) Não Obrigatório quando IsOnlineMeeting é definido como falso.

O valor deste parâmetro deve ser um GUID válido.

IsOnlineMeeting Indica se o compromisso é uma reunião online ou não. Booliano Sim
Filtro de Habilidades A matriz de cadeia de caracteres que contém todas as IDs das habilidades a serem incluídas na pesquisa de solicitação de disponibilidade. Cadeia de caracteres[] (IDs características) Não Adicionar filtros que já estão definidos como padrão no modelo de grupo de recursos resultará em um erro.

O valor deste parâmetro deve ser um GUID válido.

Paginação A cadeia de paginação. Se nenhum for fornecido, busca a primeira página. Caso contrário, retorna a página correspondente. Cadeia de caracteres Não

Exemplo de solicitação:

{
    "MeetingType": "5ce28b83-899f-ec11-b400-0022480b8113",
    "StartDateTime": "2022-08-21T11:00:00+03:00",
    "EndDateTime": "2022-08-23T12:00:00+03:00",
    "IsOnlineMeeting": false,
    "RequestedMeetingLocation": "cfc7f51f-f1a8-ec11-983f-000d3a323337",
    "SkillFilter": [
        "2953c0d2-d2d9-ec11-a7b6-000d3a3089fb"
    ],
    "Paging": ""
}   

Parâmetros de saída de resposta:

Nome do Parâmetro Descrição Tipo Notas
Intervalos de tempo Uma matriz de objetos Timeslots, representando os intervalos de tempo disponíveis retornados para os orientadores solicitados, tipo de reunião e local. Matriz de objetos de intervalos de tempo
Próxima Paginação A cadeia de caracteres de paginação usada para paginação. Se não houver resultado disponível, esse valor será nulo. String Para obter mais informações, acesse Documentação do URS.
Objeto de intervalos de tempo
StartTime A data e hora de início especificadas na solicitação de pesquisa. DateTime A hora é retornada em UTC.
EndTime A data e hora de término especificadas na solicitação de pesquisa. DateTime A hora é retornada em UTC.
Assistentes Uma lista de objetos que representam os assistentes. Cada objeto contém uma ID e um nome de assistente. Matriz de objetos Essas IDs são usadas ao criar a reunião usando CreateMeeting e buscar as informações do recurso para exibição. Apenas um conjunto de assistentes é retornado para cada intervalo de tempo. Se o requisito para um tipo de reunião for para um único assistente na reunião, cada intervalo de tempo conterá apenas um valor. Se mais de um assistente estiver disponível, o mecanismo de agendamento priorizará os assistentes com base no contexto e na capacidade.

Exemplo de resposta: alguns dos intervalos de tempo retornados foram removidos para fins de espaço.

Nota

NextPaging é adicionado quando mais de 20 intervalos de tempo são retornados.

{
    "@odata.context": "https://demoenvironment.crm.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msfsi_GetAvailableMeetingTimeSlotsResponse",
    "NextPaging": "{\"nte\":\"1\",\"nti\":\"2022-08-21T17:30:00.0000000Z\",\"res\":{\"nfr\":20,\"nft\":20,\"rbd\":{\"2022-08-21T08:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T08:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T09:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T09:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T10:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T10:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T11:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T11:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T12:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T12:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T13:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T13:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T14:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T14:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T15:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T15:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T16:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T16:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T17:00:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null},\"2022-08-21T17:30:00.0000000Z\":{\"cpl\":1,\"nfr\":1,\"nft\":1,\"tic\":null,\"tid\":null}}}}",
"Timeslots": [
      {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "StartTime": "2022-08-21T08:15:00Z",
        "EndTime": "2022-08-21T08:45:00Z",
        "Advisors@odata.type": "#Collection(Microsoft.Dynamics.CRM.crmbaseentity)",
        "Advisors": [
          {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "876b4623-5d08-ed11-82e4-000d3a364a5d",
            "Name": "Temp Admin"
          }
        ]
      },
      {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "StartTime": "2022-08-21T08:45:00Z",
        "EndTime": "2022-08-21T09:15:00Z",
        "Advisors@odata.type": "#Collection(Microsoft.Dynamics.CRM.crmbaseentity)",
        "Advisors": [
          {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "876b4623-5d08-ed11-82e4-000d3a364a5d",
            "Name": "Temp Admin"
          }
        ]
      }
    ]
  }

CreateMeeting

Descrição: Permite agendar uma reunião com os recursos do assistente solicitados.

Nome do plug-in: CreateMeetingPlugin.cs

Solicitação HTTP: POST {{url}}/api/data/v9.0/msfsi_CreateMeeting

Solicitar parâmetros de entrada (no corpo):

Nome do Parâmetro Descrição Tipo Obrigatória Notas
Tipo de Reunião A ID do MeetingType selecionado. Cadeia de caracteres (msfsi_meetingtype) Sim O valor deste parâmetro deve ser um GUID válido.
StartDateTime As datas de início e de término da reunião. DateTime Sim Os compromissos de preparação e resumo são adicionados ao calendário do assistente com base no tipo de reunião e na configuração do administrador.
Contato A ID de contato que representa o cliente que participa da reunião. Cadeia de caracteres (ID do contato) Sim O valor deste parâmetro deve ser um GUID válido.
IsOnlineMeeting Indica se o compromisso é uma reunião online ou não. Booliano Sim Se este valor for Falso, será obrigatório fornecer um local de reunião.
Local da Reunião Solicitada A ID do local (OrganizationalUnit) onde a reunião será realizada. Cadeia de caracteres (Id de OrganizationalUnit(OU)) Não No caso de uma reunião online, este campo não é obrigatório. No caso de uma implementação de reunião online em que os assistentes online estejam em uma OrganizationalUnit(OU) específica, será necessária uma referência OU dedicada.
RequestedAdvisors Uma matriz das IDs de assistente necessárias (IDs de recursos reserváveis). Essas IDs são obtidas da matriz Assistentes fornecida na resposta GetAvailableMeetingTimeSlots. EntityCollection ((Resources) Sim Para que a reserva seja bem-sucedida, os recursos devem ter usuários do sistema associados a eles. Esses usuários aparecem no campo Obrigatório do compromisso. Cadeias de caracteres na matriz devem ser GUIDs válidos.
CustomerAdditionalNotes Observe o que os clientes desejam compartilhar sobre a próxima reunião. Cadeia de caracteres Não Este parâmetro aparece nas comunicações do cliente e na descrição do compromisso no aplicativo CRM.

Exemplo de solicitação:

{
    "MeetingType": "aaafeaad-8c9f-ec11-b400-0022480b8113",
    "StartDateTime": "2022-8-17T12:30:00",
    "Contact": "8788facf-828e-4333-8405-b825b0f29ea0",
    "IsOnlineMeeting": false,
    "RequestedMeetingLocation": "8bcdf8e8-eda8-ec11-983f-000d3a323337",
    "RequestedAdvisors": ["8240fdbc-e20d-ed11-82e5-000d3a593e34"],
    "CustomerAdditionalNotes": "Some test notes"
}

Parâmetros de saída de resposta:

Nome do Parâmetro Descrição Tipo Notas
Identificação Uma ID que representa a reunião agendada. Cadeia de caracteres Representa um GUID.
StartTime As datas de início e de término da reunião. DateTime A hora é fornecida em UTC.
EndTime A data e hora de término da reunião. DateTime A hora é fornecida em UTC.
Duração A duração da reunião agendada em minutos. Int
IsOnline Indica se o compromisso é uma reunião online ou não. Booliano
CustomerAdditionalNotes Observe o que os clientes desejam compartilhar sobre a reunião agendada. Cadeia de caracteres
MeetingJoinUrl O link para ingressar na reunião agendada. Cadeia de caracteres
Estado O estado da reunião agendada. Conjunto de opções (objeto)
  • 0: Aberto
  • 1: Concluído
  • 2: Cancelado
  • 3: Agendado

Cada conjunto de opções é representado por um objeto que contém o valor e o rótulo.

Localização Um objeto do local da reunião para um compromisso no local. Objeto Este parâmetro não está vazio apenas para as reuniões no local.
Consultores Uma lista de objetos que representam os assistentes na reunião agendada. Matriz de objetos
Tipo de Reunião Um objeto que representa o MeetingType. Objeto
Objeto de local
Identificação A ID do local (entidade OrganizationalUnit). Cadeia de caracteres Representa um GUID.
Name O nome da localização (entidade da ramificação). String
Endereço1 A primeira linha no endereço da localização (entidade da ramificação). String
Endereço2 A primeira linha no endereço da localização (entidade da ramificação). String
City A cidade da localização (entidade de ramificação). Cadeia de caracteres
StateOrProvince O estado ou província da localização (entidade de ramificação). Cadeia de caracteres
País/região O país da localização (entidade da ramificação). Cadeia de caracteres
PostalCode O código postal da localização (entidade da ramificação). Cadeia de caracteres
Telefone O número de telefone da localização (entidade da ramificação). Cadeia de caracteres
Objeto do assistente
Identificação A Id do assistente (entidade de recurso reservável). Cadeia de caracteres Representa um GUID.
Nome O nome do assistente. Cadeia de caracteres
Objeto MeetingType
Identificação A ID de MeetingType. Cadeia de caracteres
Nome O nome de MeetingType. Cadeia de caracteres
Notas As notas para o participante da reunião a seguir. Cadeia de caracteres
Descrição A descrição do MeetingType. Cadeia de caracteres

Exemplo de resposta:

{
    "@odata.context": "https://aa-isdaily.crm.dynamics.com/api/data/v9.0/$metadata#expando/$entity",
    "@odata.type": "#Microsoft.Dynamics.CRM.expando",
    "Id": "4d6d4b05-4e0f-ed11-82e5-00224822509a",
    "StartTime": "2022-08-17T12:30:00Z",
    "EndTime": "2022-08-17T13:15:00Z",
    "Duration": 45,
    "IsOnline": false,
    "CustomerAdditionalNotes": "Some test notes",
    "State": {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "Value": 3,
        "Label": "Scheduled"
    },
    "Location": {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "Id": "8bcdf8e8-eda8-ec11-983f-000d3a323337",
        "Name": "Woodgrove Anchorage branch",
        "Address1": "123 Eastview Lane",
        "City": "Anchorage"
    },
    "Advisors@odata.type": "#Collection(Microsoft.Dynamics.CRM.crmbaseentity)",
    "Advisors": [
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "f35a29b9-02b1-ec11-9840-000d3a9937ed",
            "Name": "IS admin"
        }
    ],
    "MeetingType": {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "Id": "aaafeaad-8c9f-ec11-b400-0022480b8113",
        "Name": "Setting Investment goals",
        "Notes": "If this is your first planning meeting, please bring:\n1. 401(k) and other investment plan statements\n2. Mortgage and other debt statements\n3. Pay stubs for you and/or your spouse\n4. Your most recent tax return\n5. Your monthly budget of income and expenses",
        "Description": "Creating wealth management goals"
    }
}

GetMeeting

Descrição: busca uma reunião agendada para um contato.

Nome do plug-in: GetMeetingPlugin.cs

Solicitação HTTP: POST {{url}}/api/data/v9.0/msfsi_GetMeeting

Solicitar parâmetros de entrada (no corpo):

Nome do Parâmetro Descrição Tipo Obrigatória Notas
Reunião A ID da reunião. Cadeia de caracteres Sim O ID da reunião é obtida da resposta CreateMeeting.

O valor deste parâmetro deve ser um GUID válido.

Contato A ID do cliente para quem a reunião é agendada. Cadeia de caracteres Sim O valor deste parâmetro deve ser um GUID válido.

Exemplo de solicitação:

{
    "Meeting": "4d6d4b05-4e0f-ed11-82e5-00224822509a",
    "Contact": "8788facf-828e-4333-8405-b825b0f29ea0"
}

Parâmetros de saída de resposta:

Nome do Parâmetro Descrição Tipo Notas
Identificação Uma ID que representa a reunião agendada. Cadeia de caracteres Representa um GUID.
StartTime As datas de início e de término da reunião. DateTime A hora é fornecida em UTC.
EndTime A data e hora de término da reunião. DateTime A hora é fornecida em UTC.
Duração A duração da reunião agendada em minutos. Int
IsOnline Indica se o compromisso é uma reunião online ou não. Booliano
CustomerAdditionalNotes Observe o que os clientes desejam compartilhar sobre a reunião agendada. Cadeia de caracteres
MeetingJoinUrl O link para ingressar na reunião agendada. Cadeia de caracteres
Estado O estado da reunião agendada. Conjunto de opções (objeto)
  • 0: Aberto
  • 1: Concluído
  • 2: Cancelado
  • 3: Agendado

Cada conjunto de opções é representado por um objeto que contém o valor e o rótulo.

Localização Um objeto do local da reunião para um compromisso no local. Objeto Este parâmetro não está vazio apenas para as reuniões no local.
Consultores Uma lista de objetos que representam os assistentes na reunião agendada. Matriz de objetos
Tipo de Reunião Um objeto que representa o MeetingType. Objeto
Objeto de local
Identificação A ID do local (entidade OrganizationalUnit). Cadeia de caracteres Representa um GUID.
Name O nome da localização (entidade da ramificação). String
Endereço1 A primeira linha no endereço da localização (entidade da ramificação). String
Endereço2 A primeira linha no endereço da localização (entidade da ramificação). String
City A cidade da localização (entidade de ramificação). Cadeia de caracteres
StateOrProvince O estado ou província da localização (entidade de ramificação). Cadeia de caracteres
País/região O país da localização (entidade da ramificação). Cadeia de caracteres
PostalCode O código postal da localização (entidade da ramificação). Cadeia de caracteres
Telefone O número de telefone da localização (entidade da ramificação). Cadeia de caracteres
Objeto do assistente
Identificação A Id do assistente (entidade de recurso reservável). Cadeia de caracteres Representa um GUID.
Nome O nome do assistente. Cadeia de caracteres
Objeto MeetingType
Identificação A ID de MeetingType. Cadeia de caracteres
Nome O nome de MeetingType. Cadeia de caracteres
Notas As notas para o participante da reunião a seguir. Cadeia de caracteres
Descrição A descrição do MeetingType. Cadeia de caracteres

Exemplo de resposta:

{
    "@odata.context": "https://aa-isdaily.crm.dynamics.com/api/data/v9.0/$metadata#expando/$entity",
    "@odata.type": "#Microsoft.Dynamics.CRM.expando",
    "Id": "4d6d4b05-4e0f-ed11-82e5-00224822509a",
    "StartTime": "2022-08-17T12:30:00Z",
    "EndTime": "2022-08-17T13:15:00Z",
    "Duration": 45,
    "IsOnline": false,
    "CustomerAdditionalNotes": "Some test notes",
    "State": {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "Value": 3,
        "Label": "Scheduled"
    },
    "Location": {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "Id": "8bcdf8e8-eda8-ec11-983f-000d3a323337",
        "Name": "Woodgrove Anchorage branch",
        "Address1": "123 Eastview Lane",
        "City": "Anchorage"
    },
    "Advisors@odata.type": "#Collection(Microsoft.Dynamics.CRM.crmbaseentity)",
    "Advisors": [
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.expando",
            "Id": "f35a29b9-02b1-ec11-9840-000d3a9937ed",
            "Name": "IS admin"
        }
    ],
    "MeetingType": {
        "@odata.type": "#Microsoft.Dynamics.CRM.expando",
        "Id": "aaafeaad-8c9f-ec11-b400-0022480b8113",
        "Name": "Setting Investment goals",
        "Notes": "If this is your first planning meeting, please bring:\n1. 401(k) and other investment plan statements\n2. Mortgage and other debt statements\n3. Pay stubs for you and/or your spouse\n4. Your most recent tax return\n5. Your monthly budget of income and expenses",
        "Description": "Creating wealth management goals"
    }
}

CancelMeeting

Descrição: cancela uma reunião existente.

Nome do plug-in: CancelMeetingPlugin.cs

Solicitação HTTP: POST {{url}}/api/data/v9.0/msfsi_CancelMeeting

Solicitar parâmetros de entrada (no corpo):

Nome do Parâmetro Descrição Tipo Obrigatória Notes
Reunião A ID da reunião a ser cancelada. Cadeia de caracteres (ID do compromisso) Sim A ID da reunião é obtida da solicitação de busca de compromissos existentes para o cliente. Apenas reuniões ativas futuras podem ser canceladas.

Compromissos de preparo e resumo vinculados à reunião com o cliente também são cancelados.

O valor deste parâmetro deve ser um GUID válido.

Contact A ID do cliente para quem a reunião é agendada. Cadeia de caracteres (ID do contato) Sim O valor deste parâmetro deve ser um GUID válido.

Exemplo de solicitação:

{
    "Meeting": "5d98de42-8c9f-ec11-b400-0022480b81c4",
    "Contact": "ce43d612-4d9d-ec11-b400-0022480b8d8e"
    "Appointment": {
        "activityid": "5d98de42-8c9f-ec11-b400-0022480b81c4"
    },
    "Contact": {
        "contactid": "ce43d612-4d9d-ec11-b400-0022480b8d8e"
    }
}

Parâmetros de saída de resposta:

Nome do Parâmetro Descrição Tipo Notas
IsAppointmentCancelled Indica se a reunião é cancelada ou não. Boolean Apenas reuniões ativas futuras podem ser canceladas.

Exemplo de resposta:

{
    "@odata.context": "https://#####.crm.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msfsi_CancelMeetingResponse",
    "IsMeetingCancelled": true
}

Comandos de busca de dados

O conjunto de APIs e aplicativos entregues para compromissos inteligentes deve fornecer informações suficientes. Os comandos de busca OData podem ser usados para recuperar informações sobre as entidades subjacentes usadas para as APIs. A busca de dados de entidades é feita usando consultas FetchXML padrão no Dataverse.
Saiba mais: Usar FetchXML para criar uma consulta.

Recomenda-se buscar a seguinte lista de entidades.

  • MeetingTopics: recupera uma lista de tópicos de reunião disponíveis. Um tópico é a entidade com base na qual você pode agrupar as reuniões em diferentes contêineres. Este é um valor opcional.

  • MeetingTypeTopic: representa um mapeamento para identificar o vínculo entre os tipos de reunião e um tópico. Certo tipo de reunião pode ser disponibilizado em vários tópicos. Se forem usados tópicos de reunião, certifique-se de agrupar as reuniões em seus contêineres de tópicos relevantes.

  • MeetingTypes: recupera a lista de tipos de reunião disponíveis.

  • MeetingType: recupera os detalhes de um tipo de reunião específico, como:

    • Métodos de reunião com suporte (online, pessoalmente ou ambos)

    • Descrição da reunião

    • Lista de filiais que oferecem esta reunião

    • Duração da reunião

    • Instruções do cliente para a reunião ao agendá-la.

  • Filiais: recupera uma lista de filiais compatíveis na solução de compromissos inteligentes. Essa lista deve ser cruzada com o tipo de reunião, para verificar se apenas as filiais com suporte ao serviço de reunião específico são disponibilizadas para os clientes selecionarem.

  • Filial: recupera os detalhes de uma filial específica, como o nome da filial, o código da filial e o endereço.

  • Compromissos: recupera uma lista de compromissos do cliente.

  • Compromisso: recupera os detalhes de um compromisso específico por ID de contato. Os detalhes incluem:

    • Status da consulta

    • Link para a reunião online

    • Notas adicionais do cliente adicionadas à reunião

    • Local da reunião

    • Assistentes necessários que participam da reunião

    • Descrição

  • BookableResources: recupera uma lista dos recursos disponíveis e seus detalhes, como nome e título.

Confira também