Ir para o conteúdo

FoccoSMF - IntegraCRM

Utilização de Serviços de Envio e Consulta de Dados para CRM

Para utilização dos serviços do CRM é utilizado o padrão REST, utilizando JSON para envio e recebimento das informações.

A URL base para utilização dos serviços é o http://<IP>:<PORTA>/service/<SERVIÇO> do FoccoSMF.

Exemplo: http://172.16.11.109:8878/service/SendProposalCrm

1. Envio de Tarefas para o FoccoSMF

1.1 - JSON de envio de Tarefas

Atributo Informação
Chave de Acesso Chave do ambiente do cliente do FoccoERP.
Modelo Modelo de serviço do FoccoSMF, utilizar "CRM".
CodigoGenerico Deve ser utilizado o nome do CRM que se deseja enviar/receber informações.
CrmData Aqui devem ser enviados os dados que serão enviados ao CRM, sendo os dados de Autenticação, a URL base do CRM e os Dados (Contas, Usuários, Funis, Propostas) conforme as estruturas definidas.
CrmData.UrlBase URL base do CRM. Exemplo: https://api.pipe.run/
CrmData.Authentication Dados de autenticação.
CrmData.Data Dados do CRM conforme o serviço utilizado, por exemplo, se utilizado o serviço de envio de propostas, deve ser enviada a estrutura da proposta.

Exemplo:

{
    "ChaveAmbiente": "F39B0F66-14D9-4608-9A44-8434B2EF2D1E",
    "Modelo": "CRM",
    "CodigoGenerico": "PIPERUN",
    "CrmData": {
        "UrlBase": "https://api.pipe.run/",
        "Authentication": { },
        "Data": { }
    },
}

1.2 - JSON de envio para consulta de resultado de tarefas

URL: <URL base para utilização dos serviços>/service/GetTaskResult

Atributo Informação
ChaveAmbiente Chave do ambiente do cliente do FoccoERP.
Token Token/chave da tarefa criada no FoccoSMF, que será utilizada para consulta do resultado da tarefa.

Exemplo

{
    "ChaveAmbiente": "F39B0F66-14D9-4608-9A44-8434B2EF2D1E",
    "Token": "4041A17B-D946-4233-840A-6281DA13BF28"
}

1.3 - JSON de retorno do FoccoSMF

Essa estrutura de retorno é tanto para o agendamento de tarefas, quanto para a consulta de situação de tarefas.

Atributo Iinformação
Token Token/chave da tarefa criada no FoccoSMF, que será utilizada para consulta do resultado da tarefa.
Status Status/situação da tarefa no FoccoSMF. Situações possíveis: Pendente, Sucesso e Falha.
Modelo Modelo de serviço do FoccoSMF, será o modelo utilizado no envio, no caso "CRM".
Acao Identifica a ação/método executado pela tarefa, será o serviço utilizado. Exemplo:"SendProposalCrm"
Resultado Retorna o resultado da execução da tarefa.

Observação

Como os serviços do CRM são executados de maneira assíncrona com a chamada do serviço, o retorno do envio da tarefa sempre será "null". Na consulta de resultado da tarefa, quando a mesma for executada, será retornado o JSON de retorno, com o resultado do envio dos dados ao CRM.

Exemplo

{
    "Token": "6D7AC256-9A47-4372-85F4-DDBC3E212AB2",
    "Status": "Pendente",
    "Modelo": "CRM",
    "Acao": "SendProposalCrm",
    "Resultado": null
}

2 - Envio de Propostas para o CRM via FoccoSMF

2.1. - Serviço de Envio de Propostas

URL: <URL base para utilização dos serviços>/SendProposalCrm

JSON (Enviados em "Data" dos dados do CRM ("CrmData")

Atributo Tipo Informação Obrigatório
Proposta <object> Estrutura da Proposta para envio ao CRM. Sim
Proposta.PropostaCrmId string ID da proposta no CRM.
Proposta.ContaId long ID da conta no CRM. Sim
Proposta.UsuarioId long ID do usuário no CRM. Sim
Proposta.OportunidadeId long ID da oportunidade no CRM. Sim
Proposta.MoedaId long ID da moeda no CRM.
Proposta.OrcamentoId long ID do orçamento gerado no FoccoERP. Sim
Proposta.NumeroOrcamento long Número do orçamento gerado no FoccoERP. Sim
Proposta.Observacao string Observação do orçamento/proposta.
Proposta.ValorOrcamento decimal Valor do orçamento gerado no FoccoERP. Sim
Proposta.CondicaoPagamento <object> Condição de Pagamento. Sim
Proposta.CondicaoPagamento.TipoCondicaoPagamentoId long ID do tipo da condição de pagamento. Sim
Proposta.CondicaoPagamento.Descricao string Descrição da condição de pagamento. Sim
Proposta.CondicaoPagamento.Tipo int Tipo da condição de pagamento. Sim
Proposta.CondicaoPagamento.TipoConfiguracao int Tipo da configuração da condição de pagamento. Sim
Proposta.CondicaoPagamento.CondicaoPagamentoCrmId string ID da condição de pagamento no CRM.
Proposta.CondicaoPagamento.CondicaoPagamentoId long ID da condição de pagamento no FoccoERP.
Proposta.Itens List\<object> Lista de itens do orçamento/proposta. Sim
Proposta.Itens.PropostaCrmId string ID da proposta no CRM.
Proposta.Itens.CategoriaId long ID da categoria do item. Sim
Proposta.Itens.ItemEmpresaId long ID da tabela "TITENS_EMPR" do FoccoERP. Sim
Proposta.Itens.MascaraItemId long ID da máscara do item no FoccoERP.
Proposta.Itens.Descricao long Descrição do item. Sim
Proposta.Itens.ValorMinimo decimal Valor mínimo do item. Sim
Proposta.Itens.ValorCusto decimal Valor de custo do item. Sim
Proposta.Itens.Tipo int Tipo do item. Sim
Proposta.Itens.CodigoItem string Código do item. Sim
Proposta.Itens.Valor decimal Valor do item. Sim
Proposta.Itens.ItemCrmId string ID do item no CRM.
Proposta.Itens.Quantidade decimal Quantidade do item no orçamento/proposta. Sim
Proposta.Itens.ContaId long ID da conta no CRM. Sim

Exemplo

"Data":{
         "Proposta":{
            "PropostaCrmId":null,
            "ContaId":1,
            "UsuarioId":14566,
            "OportunidadeId":5495272,
            "MoedaId":1,
            "OrcamentoId":51122,
            "NumeroOrcamento":15,
            "Observacao":null,
            "ValorOrcamento":23.0,
            "CondicaoPagamento":{
               "TipoCondicaoPagamentoId":1,
               "Descricao":"30/60/90",
               "Tipo":1,
               "TipoConfiguracao":2,
               "CondicaoPagamentoCrmId":"4511",
               "CondicaoPagamentoId":619
            },
            "Itens":[
               {
                  "PropostaCrmId":0,
                  "CategoriaId":0,
                  "ItemEmpresaId":32447,
                  "MascaraItemId":null,