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,