Versão

1.0

Observaçoes:

  1. As requisições devem ser mandadas como json.
  2. Todas as requisições devem ter um token de acesso gerado pelo [plug =D]

Ações possíveis.

Modelo/Ação Criar Alterar Excluir Listar Exibir
Token X X X X =D
Negociação =D =D X =D =D
Organização =D =D X X X
Contato =D =D X X X
Produto =D =D X X X
Campos Personalizados =D =D =D =D =D

Ações

Token

Exibir

Url: https://plugcrm.net/api/v1/token/check

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
token =D String Token do Usuário N.T

Estrutura em JSON da requisição

{
"token": "MY_TOKEN"
}

Negociação

Criação

Url: https://plugcrm.net/api/v1/deals

Metodo: POST

Nome/Obs Obrigatório Tipo Descrição Observação
name =D String Nome da negociação Minimo 3 Caracteres
user_id X String Id do responsável da negociação N.T
deal_custom_fields X Objeto Campos customizados da negociação Obrigatório se o campo estiver marcado como obrigatório nas configurações do sistema
deal_source X Objeto Fonte da negociação N.T
campaign X Objeto Campanha da negociação N.T
Organization =D Objeto Organização que a negociação pertence Dentro deste objeto tem campos customizados ver na criação de organização a estrutura

Estrutura em JSON da requisição

{
"token": "MY_TOKEN",
"deal": {
    "name": "nome da negociacao",
    "user_id": "ID_DO_RESPONSAVEL"
    "deal_custom_fields": [
      { "custom_field_id": "ID_DO_CAMPO_PERSONALIZADO", "value": "VALOR_DO_CAMPO" },
      { "custom_field_id": "ID_DO_CAMPO_PERSONALIZADO", "value": "VALOR_DO_CAMPO" }
    ]
},
"deal_source": {
    "_id": "ID_DA_FONTE"
},
"campaign": {
    "_id": "ID_DA_CAMPANHA"
},
"organization": {
   "_id": "ID_DA_ORGANIZACAO"
 }
}

Alteração

Url: https://plugcrm.net/api/v1/deals/iddanegociacao

Metodo: PUT

Nome/Obs Obrigatório Tipo Descrição Observação
name X String Nome da negociação Minimo 3 Caracteres
deal_custom_fields X Objeto Campos customizados da negociação Obrigatório se o campo estiver marcado como obrigatório nas configurações do sistema
deal_source X Objeto Fonte da negociação N.T
campaign X Objeto Campanha da negociação N.T
organization X Objeto Organização que a negociação pertence Dentro deste objeto tem campos customizados ver na criação de organização a estrutura
deal_stage X Objeto Etapa que a negociação esta N.T
deal_products X Objeto Produtos da negociação N.T
user X Objeto Usuário responsável pela negociação N.T
hold X Boleano Status da negociação True se a negociação estiver pausada
rating X Integer Avaliação da negociação Inteiro de 1 a 5
win X Boleano Status da negociação True se a negociação estiver ganha
prediction_date X Date Data de Fechamento da negociação Data prevista para o fechamento da negociação
deal_lost_reason_id X String Id do motivo de fechamento N.T
closed_at X Date Data do fechamento da negociação N.T

Imagem da estrutura em JSON da requisição

{
  "token": "MY_TOKEN",
  "deal": {
      "name": "nome da negociacao",
      "amount_montly": 0,
      "amount_unique": 0,
      "closed_at": null,
      "deal_lost_reason_id": null,
      "prediction_date": null,
      "win": null,
      "rating": 1,
      "hold": null,
      "user": {
        "_id": "ID_DO_USUSARIO"
      },
      "organization": {
         "_id": "ID_DA_ORGANIZACAO"
       },
       "deal_stage": {"_id": "ID_DA_ETAPA"}
  },
  "deal_source": {
      "_id": "ID_DA_FONTE"
  },
  "campaign": {
      "_id": "ID_DA_CAMPANHA"
  }
}

Listar

Url: https://plugcrm.net/api/v1/deals?token=MyTOKEN?Parametros

Parâmetros da requisição

page=Page

limit=LimitResult

direction=Direction

name=NomeNegociacao

win=null

user _ id=IdUsuario

start _ date=DATA

end _ date=DATA

closed _ at=bool

closed _ at _ period=bool

created _ at _ period=bool

closed _ by _ id=UserID

deal _ stage _ id=IdDaEtapa

deal _ lost _ reason _ id*=IdMotivoDePerda

organization=IdOrganizacao

hold=bool

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL token para autenticação N.T
Page X URL página da listagem Valor padrão é 1
Limit X URL Limite de negociações por página Valor padrão é 30
direction X URL Ordenação da lista asc ou desc
name X URL Nome da negociação N.T
win X URL Negociações Ganhas com o valor true para trazer as negociações ganhas, para buscar todas as negociações não deve ser estar na requisição
user_id X URL Id do usuário relacionado a negociação N.T
closed_at X URL Informar true, retorna as negociações GANHAS/PERDIDAS. Informando false, retorna as negociações EM ABERTO OU PAUSADAS N.T
closed_at_period X URL Data de fechamento da Deal se true deve ser informado start_date e end_date N.T
created_at_period X URL Data de criação da Deal se true deve ser informado start_date e end_date N.T
start_date X URL N.T
end_date X URL Último dia que deve ser aplicado o filtro para o parâmetro closed_at_period ou created_at_period N.T
deal_stage_id X URL Id da etapa N.T
deal_lost_reason_id X URL Id do motivo de perda N.T
organization X URL Id da organização N.T
hold X URL Estado da negociação Pausada true retorna todas negociações pausadas, não deve ser enviado em outros casos

Exibir

Url: https://plugcrm.net/api/v1/deals/IdNegociacao?token=TokenId

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Id da negociacao =D URL id da negociação que deseja listar N.T
Token =D URL token para autenticação N.T

Organização

Criação

Url: https://plugcrm.net/api/v1/organizations

Metodo: POST

Nome/Obs Obrigatório Tipo Descrição Observação
name =D String Nome da organização Minimo 3 Caracteres, não pode se repetir
organization_custom_fields X Objeto Campos customizados da organização Obrigatório se o campo estiver marcado como obrigatório nas configurações do sistema
resume X String Resumo da organiação N.T
url X String Url da organização N.T
organization_segments X Objeto Segmentos da organização Área de atuação da organização

{

"token": "MY_TOKEN",
"organization": {
  "name": "nome da organizacao",
  "resume": "resumo da organizacao",
  "url", "url da organizacao",
  "organization_segments": [{"id": "ID_SEGMENTO}],
  "organization_custom_fields": [
    {"custom_field_id": "ID_DO_CAMPO_PERSONALIZADO", "value": "VALOR_DO_CAMPO"},
    {"custom_field_id": "ID_DO_CAMPO_PERSONALIZADO", "value": "VALOR_DO_CAMPO"}
  ]
}

}

Alteração

Url: https://plugcrm.net/api/v1/organizations/iddaorganizacao

Metodo: PUT

Nome/Obs Obrigatório Tipo Descrição Observação
name X String Nome da organização Minimo 3 Caracteres
organization_custom_fields X Objeto Campos customizados da organização Obrigatório se o campo estiver marcado como obrigatório nas configurações do sistema
resume X String Resumo da organiação N.T
url X String Url da organização N.T
organization_segments X Objeto Segmentos da organização Área de atuação da organização

{

"token": "MY_TOKEN",
"organization": {
  "name": "nome da organizacao",
  "resume": "resumo da organizacao",
  "url", "url da organizacao",
  "organization_segments": [{"id": "ID_SEGMENTO}],
  "organization_custom_fields": [
    {"custom_field_id": "ID_DO_CAMPO_PERSONALIZADO", "value": "VALOR_DO_CAMPO"},
    {"custom_field_id": "ID_DO_CAMPO_PERSONALIZADO", "value": "VALOR_DO_CAMPO"}
  ]
}

}

Listar

Url: https://plugcrm.net/api/v1/organizations/?token=MyToken&page=Page&limit=Limit&organization_segment=IdSegment

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL Token de autenticação N.T
Page X URL Página da listagem e organização Valor padrão e 1
Limit X URL limite organizações que vão vir por listagem Valor padrão é 30
Organization Segment X URL id do segmento busca todas as organizações que tem este segmento

Exibir

Url: https://plugcrm.net/api/v1/organizations/OrganizationId?token=MyToken

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Id da organização =D URL id da organização a ser listada N.T
Token =D URL Token de autenticação N.T

Contato

Criação

url: https://plugcrm.net/api/v1/contacts

Metodo: POST

Nome/Obs Obrigatório Tipo Descrição Observação
name =D String Nome do contato Minimo 3 Caracteres
title X String Cargo do contato N.T
notes X String Observaçõa sobre o contato N.T
url X String Url da organização N.T
emails X Objeto Emails do contato N.T
organization_id =D String Id da organização que este contato pertence N.T
deal_ids X Array Ids das negociações que o contato esta envolvido N.T

{

"token": "MY_TOKEN",
"contact": {
    "name": "nomedocontato",
    "title": "titulodocontato",
    "notes": "notassobreocontato",
    "emails": [
        {
            "email": "fulano@email.com.br"
        }
    ],
    "phones": [
        {
            "phone": "71304556"
        }
    ],
    "organization_id": "ID_ORGANIZACAO",
    "deal_ids": [
        "ID_NEGOCIACAO1",
        "ID_NEGOCIACAO2"
    ]
}

}

Alteração

Nome/Obs Obrigatório Tipo Descrição Observação
name =D String Nome do contato Minimo 3 Caracteres
title X String Cargo do contato N.T
notes X String Observaçõa sobre o contato N.T
url X String Url da organização N.T
emails X Objeto Emails do contato N.T
organization_id =D String Id da organização que este contato pertence N.T
deal_ids X Array Ids das negociações que o contato esta envolvido N.T

{

"token": "MY_TOKEN",
"contact": {
    "name": "nomedocontato",
    "title": "titulodocontato",
    "notes": "notassobreocontato",
    "emails": [
        {
            "email": "fulano@email.com.br"
        }
    ],
    "phones": [
        {
            "phone": "71304556"
        }
    ],
    "organization_id": "ID_ORGANIZACAO",
    "deal_ids": [
        "ID_NEGOCIACAO1",
        "ID_NEGOCIACAO2"
    ]
}

}

Listar

url: https://plugcrm.net/api/v1/contacts?token=MyToken&page=Page&limit=Limit$deal_id=IdNegociacao

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL Token para a autenticação N.T
Page X URL Número da página listada Valor padrão é 1
Limit X URL Limite de contatos que vão vir listados Valor padrão é 30
Deal Id X URL Id da negociação que os contatos estão N.T

Exibir

url: https://plugcrm.net/api/v1/contacts/IdContato?token=MyToken

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Id Contato X URL Id do contato a ser exibido N.T
Token =D URL Token para a autenticação N.T

Produto

Criação

Url: https://plugcrm.net/api/v1/products

Metodo: POST

Nome/Obs Obrigatório Tipo Descrição Observação
name =D String Nome do producto N.T
description X String Descriçao do produto N.T
base_price X Float Preço do produto Valor padrão é 0.00

{

"token": "MY_TOKEN",
"product": {
  "name": "nome do produto",
  "description": "descrcao do produto",
  "base_price": "10.00"
}

}

Alteração

Url: https://plugcrm.net/api/v1/products/:iddoproduto

Metodo: PUT

Nome/Obs Obrigatório Tipo Descrição Observação
name X String Nome do producto N.T
description X String Descriçao do produto N.T
base_price X Float Preço do produto N.T

{

"token": "MY_TOKEN",
"product": {
  "name": "nome do produto",
  "description": "descrcao do produto",
  "base_price": "10.00"
}

}

Listar

url: https://plugcrm.net/api/v1/products?token=MyToken&page=Page&limit=Limit

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL Token para a autenticação N.T
Page X URL Número da página listada Valor padrão é 1
Limit X URL Limite de produtos que vão vir listados Valor padrão é 30

Exibir

url: https://plugcrm.net/api/v1/products/IdProduct?token=MyToken

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Id Produto X URL Id do produto a ser exibido N.T
Token =D URL Token para a autenticação N.T

Campos Personalizados

Criação

Url: https://plugcrm.net/api/v1/custom_fields

Metodo: POST

Nome/Obs Obrigatório Tipo Descrição Observação
label =D String Texto do campo personalizado N.T
type =D String Tipo do campo personalizado Valores permitidos: option, text, date
for =D String Modelo para qual campo personalizado será anexado Valores permitidos: deal e organization
unique X Boolean Define se o campo terá valor único, em relação aos outros cadastrados N.T
required X Boolean Define se o campo deverá ser preenchido obrigatoriamente. N.T
allow_new X Boolean Define se o campo personalizado aceitará novas entradas, se o tipo de campo for option. N.T
options X Array Define as opções do campo personalizado do tipo option. N.T
order X Int Define a ordem que o campo personalizado será exibido no modelo. Menor valor tem maior prioridade

{

"token": "MY_TOKEN",
"custom_field": {
  "label": "label do campo personalizado",
  "for": "deal",
  "type": "option",
  "required": true,
  "unique": false,
  "order": 0
  "allow_new": false,
  "options": ["SIM", "NÃO"]
}

}

Alteração

Url: https://plugcrm.net/api/v1/customfields/:iddocampopersonalizado

Metodo: PUT

Nome/Obs Obrigatório Tipo Descrição Observação
label =D String Texto do campo personalizado N.T
unique X Boolean Define se o campo terá valor único, em relação aos outros cadastrados N.T
required X Boolean Define se o campo deverá ser preenchido obrigatoriamente. N.T
allow_new X Boolean Define se o campo personalizado aceitará novas entradas, se o tipo de campo for option. N.T
options X Array Define as opções do campo personalizado do tipo option. N.T
order X Int Define a ordem que o campo personalizado será exibido no modelo. Menor valor tem maior prioridade

{

"token": "MY_TOKEN",
"custom_field": {
  "label": "label do campo personalizado",
  "required": true,
  "unique": false,
  "order": 0
  "allow_new": false,
  "options": ["SIM", "NÃO"]
}

}

Listar

url: https://plugcrm.net/api/v1/custom_fields?token=MyToken

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL Token para a autenticação N.T
for X URL Selecione os campos personalizados do modelo fornecido N.T

Exibir

url: https://plugcrm.net/api/v1/custom_fields/:ID-DO-CAMPO-PERSONALIZADO?token=MyToken

Metodo: GET

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL Token para a autenticação N.T

Apagar

url: https://plugcrm.net/api/v1/custom_fields/:id-do-campo-personalizado?token=MyToken

Metodo: DELETE

Nome/Obs Obrigatório Tipo Descrição Observação
Token =D URL Token para a autenticação N.T

Retorno de erros

Os erros das requisições para a API do Plug CRM, é um objeto com o nome do campo e um array com as mensagens dos erros ocorridos

{

"all_object":{

}
"errors": {
  "name_field": ["messages"]
}

}