none
CRM 2011 OnPremises: Pesquisa de Satisfação RRS feed

  • Pergunta

  • Pessoal,

    Estou precisando fazer uma funcionalidade para atender uma demanda de pesquisa de satisfação.

    Pretendo criar a seguinte estrutura:

    1 - Criar uma entidade para criar a pesquisa (período de validade, tipo e etc);
    2 - Criar entidade com as perguntas;
    3 - Criar entidade com possíveis respostas;

     Alguém já fez algo parecido? Tem uma outra ideia.

    Também pretendo integrar esta pesquisa com o sistema Survey Monkey, alguém já utilizou, este site de pesquisa disponibiliza alguma API de integração?

    Obrigado,

    Adilson


    Adilson de Alencar Batista


    terça-feira, 7 de maio de 2013 20:32

Respostas

  • Boas Adilson,

    Pela sua especificação parece-me que os diálogos são uma boa opção. Pelo menos os pontos 2 e o 3 serve, pois você cria um processo de perguntas e respostas e mediante uma determinada resposta pode-se mudar o fluxo. Muito parecido com um call center que mediante o problema tem um certo fluxo para resolver. Mas isto só serve se para quem vai fazer o inquérito tiver acesso ao CRM. Veja aquiaqui e aqui mais informações.

    O ponto 1 necessitava de mais informação para poder sugerir uma possibilidade.

    Nunca trabalhei com o Survey Monkey mas existe muita informação. Veja aqui e aqui mais informações.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    terça-feira, 7 de maio de 2013 22:07
  • Adilson,

    Eu fiz isso em um cliente e está funcionando perfeitamente. Mas eu não precisei criar duas entidades, apenas uma, a Pesquisa de Satisfação.

    Mas no meu caso eu criei uma página aspx e fiz a integração com uma entidade do crm.

    O link da pesquisa é enviado por email já com o id da entidade no crm, e ai eu dou um update no registro quando o form é submetido, atualizando com as respostas do cliente. Nesse ponto, o registro da pesquisa pesquisa já tinha sido criada automaticamente quando a ocorrência é encerrada, por isso o upadate.

    ai vai os métodos que eu usei no codebehind da página.

    public static IOrganizationService getCRMService(string ServerURL, string UserName, string PassWord, string Domain) {
                try
                {
                    ClientCredentials credentials = new ClientCredentials();
                    credentials.Windows.ClientCredential = new System.Net.NetworkCredential(UserName, PassWord, Domain);
                    Uri organizationUri = new Uri("http://[ENDEREÇO DO WEB SERVICE DA ORGANIZAÇÃO]");
                    Uri homeRealmUri = null;
                    OrganizationServiceProxy orgService = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
                    IOrganizationService _service = (IOrganizationService)orgService;
                    return _service;       
                   
                }
                catch (Exception ex)
                {
                   throw ex;
                }
            }
    
            public void atualizaPesquisa()
            {
                IOrganizationService _service = getCRMService("URL DO CRM", "USUARIO", "SENHA", "DOMÍNIO");
    
                Guid idPesquisa = new Guid(Request.QueryString["id"]);
    
                Microsoft.Xrm.Sdk.Query.ColumnSet campos = new Microsoft.Xrm.Sdk.Query.ColumnSet();
                campos.AddColumns("new_resposta1", "new_resposta2", "new_resposta3");
    
                Entity pesquisaSatisfacao = _service.Retrieve("new_pesquisadesatisfacao", idPesquisa, campos);
    
                bool resp = false;
                
                if (RadioButtonList1.SelectedValue == "1")
                {
                    resp = true;
                }
    
                pesquisaSatisfacao["new_resposta1"] = resp;
                if (RadioButtonList2.Enabled)
                {
                    pesquisaSatisfacao["new_resposta2"] = RadioButtonList2.SelectedIndex + 1;
                }
    
    
                if (selected)
                {
                    pesquisaSatisfacao["new_resposta3"] = RadioButtonList3.SelectedIndex + 1;
                }
    
                   
                _service.Update(pesquisaSatisfacao);
                
    
            }
    Ai eu chamo o método atualizaPesquisa() no comando do botão "enviar".
    quinta-feira, 9 de maio de 2013 13:01
  • Boas Adilson,

    Pela sua especificação parece-me que os diálogos são uma boa opção. Pelo menos os pontos 2 e o 3 serve, pois você cria um processo de perguntas e respostas e mediante uma determinada resposta pode-se mudar o fluxo. Muito parecido com um call center que mediante o problema tem um certo fluxo para resolver. Mas isto só serve se para quem vai fazer o inquérito tiver acesso ao CRM. Veja aquiaqui e aqui mais informações.

    O ponto 1 necessitava de mais informação para poder sugerir uma possibilidade.

    Nunca trabalhei com o Survey Monkey mas existe muita informação. Veja aqui e aqui mais informações.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    Pedro, 

    Acredito que o ponto 1, seja para que possamos criar validade nas pesquisas, definir um público e conter parâmetros que possamos ter maiores artifícios na utilização. Eu acredito que seria interessante ter uma entidade "capa" nela você armazena as perguntas e poderá ter atributos para diferenciar e colocar validade nas pesquisas.

    Att,

    Tiago Cardoso


    Tiago Michelini Cardoso MVP - MCC - MCTS
    https://tiagomcardoso.wordpress.com/

    quarta-feira, 25 de setembro de 2013 23:50
    Moderador

Todas as Respostas

  • Boas Adilson,

    Pela sua especificação parece-me que os diálogos são uma boa opção. Pelo menos os pontos 2 e o 3 serve, pois você cria um processo de perguntas e respostas e mediante uma determinada resposta pode-se mudar o fluxo. Muito parecido com um call center que mediante o problema tem um certo fluxo para resolver. Mas isto só serve se para quem vai fazer o inquérito tiver acesso ao CRM. Veja aquiaqui e aqui mais informações.

    O ponto 1 necessitava de mais informação para poder sugerir uma possibilidade.

    Nunca trabalhei com o Survey Monkey mas existe muita informação. Veja aqui e aqui mais informações.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    terça-feira, 7 de maio de 2013 22:07
  • Adilson,

    Eu fiz isso em um cliente e está funcionando perfeitamente. Mas eu não precisei criar duas entidades, apenas uma, a Pesquisa de Satisfação.

    Mas no meu caso eu criei uma página aspx e fiz a integração com uma entidade do crm.

    O link da pesquisa é enviado por email já com o id da entidade no crm, e ai eu dou um update no registro quando o form é submetido, atualizando com as respostas do cliente. Nesse ponto, o registro da pesquisa pesquisa já tinha sido criada automaticamente quando a ocorrência é encerrada, por isso o upadate.

    ai vai os métodos que eu usei no codebehind da página.

    public static IOrganizationService getCRMService(string ServerURL, string UserName, string PassWord, string Domain) {
                try
                {
                    ClientCredentials credentials = new ClientCredentials();
                    credentials.Windows.ClientCredential = new System.Net.NetworkCredential(UserName, PassWord, Domain);
                    Uri organizationUri = new Uri("http://[ENDEREÇO DO WEB SERVICE DA ORGANIZAÇÃO]");
                    Uri homeRealmUri = null;
                    OrganizationServiceProxy orgService = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
                    IOrganizationService _service = (IOrganizationService)orgService;
                    return _service;       
                   
                }
                catch (Exception ex)
                {
                   throw ex;
                }
            }
    
            public void atualizaPesquisa()
            {
                IOrganizationService _service = getCRMService("URL DO CRM", "USUARIO", "SENHA", "DOMÍNIO");
    
                Guid idPesquisa = new Guid(Request.QueryString["id"]);
    
                Microsoft.Xrm.Sdk.Query.ColumnSet campos = new Microsoft.Xrm.Sdk.Query.ColumnSet();
                campos.AddColumns("new_resposta1", "new_resposta2", "new_resposta3");
    
                Entity pesquisaSatisfacao = _service.Retrieve("new_pesquisadesatisfacao", idPesquisa, campos);
    
                bool resp = false;
                
                if (RadioButtonList1.SelectedValue == "1")
                {
                    resp = true;
                }
    
                pesquisaSatisfacao["new_resposta1"] = resp;
                if (RadioButtonList2.Enabled)
                {
                    pesquisaSatisfacao["new_resposta2"] = RadioButtonList2.SelectedIndex + 1;
                }
    
    
                if (selected)
                {
                    pesquisaSatisfacao["new_resposta3"] = RadioButtonList3.SelectedIndex + 1;
                }
    
                   
                _service.Update(pesquisaSatisfacao);
                
    
            }
    Ai eu chamo o método atualizaPesquisa() no comando do botão "enviar".
    quinta-feira, 9 de maio de 2013 13:01
  • Boas Adilson,

    Pela sua especificação parece-me que os diálogos são uma boa opção. Pelo menos os pontos 2 e o 3 serve, pois você cria um processo de perguntas e respostas e mediante uma determinada resposta pode-se mudar o fluxo. Muito parecido com um call center que mediante o problema tem um certo fluxo para resolver. Mas isto só serve se para quem vai fazer o inquérito tiver acesso ao CRM. Veja aquiaqui e aqui mais informações.

    O ponto 1 necessitava de mais informação para poder sugerir uma possibilidade.

    Nunca trabalhei com o Survey Monkey mas existe muita informação. Veja aqui e aqui mais informações.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    Pedro, 

    Acredito que o ponto 1, seja para que possamos criar validade nas pesquisas, definir um público e conter parâmetros que possamos ter maiores artifícios na utilização. Eu acredito que seria interessante ter uma entidade "capa" nela você armazena as perguntas e poderá ter atributos para diferenciar e colocar validade nas pesquisas.

    Att,

    Tiago Cardoso


    Tiago Michelini Cardoso MVP - MCC - MCTS
    https://tiagomcardoso.wordpress.com/

    quarta-feira, 25 de setembro de 2013 23:50
    Moderador