A chave primária da relação entre estas duas entidades é o endereço de email utilizado ao se cadastrar no sistema. Sendo que várias persons podem levar a mesma people.
Recursos | Serviços | Endpoints |
---|---|---|
Criar Person | Registro de uma Person | /projects/{project_id}/persons |
Acessar Person | Acesso a uma person | /projects/{project_id}/persons/{person_id} |
Deletar Person | Deleção de uma person | /projects/{project_id}/persons/{person_id} |
Atualizar Person | Atualização de uma person | /projects/{project_id}/persons/{person_id} |
Acessar Todas Persons | Acesso a todas as persons de um projeto | /projects/{project_id}/persons |
Acessar Todas Persons por Owner | Acesso a todas as persons de um projeto por owner | /projects/{project_id}/persons/owner/persons |
Enviar Avatar | Upload de imagem de avatar | /projects/{project_id}/persons/{person_id}/avatar |
Deletar Avatar | Deleção de imagem de avatar do repositório | /projects/{project_id}/persons/{person_id}/avatar |
Verificar Person | Verificação de uma person | /peoples/verify-people |
View Person | Criação de view das persons | /projects/{project_id}/persons/view |
Acessar Person pelo Telefone | Acesso a person pelo número de telefone fornecido | /projects/{project_id}/persons/phone-number |
Acessar Company | Acesso a uma company | /projects/{project_id}/companies/{company_id} |
Acessar Companies | Acesso a todas as companies | /projects/{project_id}/companies/ |
Criar uma nova company | Criação de uma nova company | /projects/{project_id}/companies |
Atualizar Company | Atualização de uma company | /projects/{project_id}/companies/{company_id} |
Deletar Company | Deleção de uma company do repositório | /projects/{project_id}/companies/{company_id} |
View Company | Criação de view das companies | /projects/{project_id}/companies/{company_id} |
Para os usuários, as URLs base é:
api.tagcenter.io
A função create() recebe como parâmetro ProjectEntity e newData. Armazena em newData os dados da nova Person - primeiro nome, último nome, email, telefone, endereço, responsável e Id de conexão. Verifica pelo email se já existe uma person no repositório, pela função getByEmailAndProject(). Se encontrar, retorna erro 175. Verifica se existe uma connection como origem e se existe uma connection para distribuir. Salva os dados da person do repositório chamando a função personsRepository.save(). Delega a criação da nova person para a função annotationsService.create(). Retorna a person criada ou erro.
Rota utilizada:
Post /projects/{project_id}/persons
Body:
{
firstName: string,
lastName: string,
email: string,
phoneNumber: string,
address: string
}
Exemplo:
{
"firstName": "Maria",
"lastName": "Silva",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"address": "Rua x, 556"
}
Retorno do exemplo:
{
"firstName": "Maria",
"lastName": "Silva",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"connectionId": null,
"integration_id": null,
"id": "1348",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false
}
Chave | Tipo | Descrição |
---|---|---|
firstName | string | Primeiro nome |
lastName | string | Último nome |
string | Email da person | |
owner | object | Dados do responsável |
connectionId | string | Id da conexão |
integration_id | string | Id da integração |
id | string | Identificador da person |
active | boolean | Usuário ativo ou não |
isEmailConfirmed | boolean | Verifica se o email já foi confirmado |
isPhoneNumberConfirmed | boolean | Verifica se o telefone já foi confirmado |
isWhatsappConfirmed | boolean | Verifica se o whatsapp já foi confirmado |
Permite acessar os dados de uma person passando a query enrichment setada em True ou Falso. A função
getWithEnrichment() recebe como parâmetro o id da person e busca os dados enriquecidos. Retorna a person com os dados de enriquecimento. Caso o id não seja encontrado, retorna erro 173.
Rotas utilizada:
Sem enriquecimento
Get /projects/{project_id}/persons
Com enriquecimento
Get /projects/{project_id}/persons?enrichment=true
Exemplos:
Sem enriquecimento
Get /projects/141/persons
Com enriquecimento
Get /projects/141/persons?enrichment=true
Retornos dos exemplos:
Sem enriquecimento
{
"id": "1348",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"firstName": "Maria",
"lastName": "Silva",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false,
"connectionId": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"integration_id": null,
"sector_id": null,
"enriched_topics": null,
"origin": null,
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
},
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"people": {
"id": 1682,
"email": "teste2@tagchat.com.br",
"basic_data_enriched": false,
"basic_data_date": null,
"enterprise_data_enriched": false,
"enterprise_data_date": null,
"has_enterprise": null,
"geodata_enriched": false,
"geodata_date": null,
"linkedin_url": null,
"linkedin_url_date": null,
"linkedin_enriched": false,
"linkedin_date": null
}
}
Com enriquecimento
{
"id": "1348",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"firstName": "Maria",
"lastName": "Silva",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false,
"connectionId": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"integration_id": null,
"sector_id": null,
"enriched_topics": null,
"origin": null,
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
},
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"people": {
"id": 1682,
"email": "teste2@tagchat.com.br",
"basic_data_enriched": false,
"basic_data_date": null,
"enterprise_data_enriched": false,
"enterprise_data_date": null,
"has_enterprise": null,
"geodata_enriched": false,
"geodata_date": null,
"linkedin_url": null,
"linkedin_url_date": null,
"linkedin_enriched": false,
"linkedin_date": null,
"emergencialAid": [],
"emergencialAidData": [],
"enterprises": [],
"experiences": [],
"educations": [],
"geodata": [],
"linkedin": [],
"skills": []
} }
Chave | Tipo | Descrição |
---|---|---|
people | object | Person com dados enriquecidos |
id | string | Id da person |
basic_data_enriched | boolean | Verifica se os dados básicos foram enriquecidos |
basic_data_date | string | Data do enriquecimento dos dados básicos |
enterprise_data_enriched | boolean | Verifica se os dados sobre empresa foram enriquecidos |
enterprise_data_date | string | Data do enriquecimento dos dados sobre empresa |
has_enterprise | string | Empresas que a person é responsável |
geodata_enriched | boolean | Verifica se os dados geográficos da person foram enriquecidos |
geodata_date | string | Data de enriquecimento dos dados geográficos |
linkedin_url | string | Url do linkedin da person |
linkedin_url_date | string | Data que a url do linkedin foi obtida |
linkedin_enriched | boolean | Verifica se os dados do linkedin foram enriquecidos |
linkedin_date | string | Data que a url do linkedin foi obtida |
emergencialAid | list | Verifica se a person recebeu auxílio emergencial |
emergencialAidData | list | Dados sobre o auxílio emergencial da person |
enterprises | list | Empresas que a person é responsável |
experiences | list | Experiências da person |
educations | list | Educação da person |
list | Linkedin da person | |
skills | list | Skills da person |
Deleta os dados da person no repositório. A função delete() recebe como parâmetro o número de id da
person e delega para a função personsRepository.findOne() buscar no repositório. Se encontrar, delega para a função personsRepository.delete() a deleção da person. Caso não encontre, retorna o erro 151.
Rota utilizada:
Del /projects/{project_id}/persons/{person_id}
Atualiza os dados da person no repositório. A função update() recebe como parâmetro ProjectEntity, o id da person e os seus dados. Delega para a função personsRepository.findOne() a busca no repositório da person usando seu id. Caso a informação a ser modificada seja o email, retorna o erro 150. As demais informações são modificadas pela função addressRepository.update(). Caso o id da person não seja encontrado, retorna erro 151.
Rota utilizada:
Put /projects/{project_id}/persons/{person_id}
Body:
{
firstName: string,
address: string
}
Exemplo:
{
"firstName": "Juliana",
"address": null
}
Retorno do exemplo:
{
"id": "1348",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"firstName": "Juliana",
"lastName": "Silva",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false,
"connectionId": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"integration_id": null,
"sector_id": null,
"enriched_topics": null,
"origin": null,
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
},
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"people": {
"id": 1682,
"email": "teste2@tagchat.com.br",
"basic_data_enriched": false,
"basic_data_date": null,
"enterprise_data_enriched": false,
"enterprise_data_date": null,
"has_enterprise": null,
"geodata_enriched": false,
"geodata_date": null,
"linkedin_url": null,
"linkedin_url_date": null,
"linkedin_enriched": false,
"linkedin_date": null
}
}
Permite a visualização de todas as persons do projeto. A função getAll recebe como parâmetro ProjectEntity e delega a busca no repositório para a função personsRepository.find() utilizando o projeto. Caso encontre, retorna todas as persons. Caso não encontre, retorna o erro 149.
Rota utilizada:
Get /projects/{project_id}/persons/
Exemplo:
Get /projects/141/persons/
Retorno do exemplo:
[
{
"id": "1350",
"email": "teste3@tagchat.com.br",
"phoneNumber": "5517991869702",
"firstName": "teste",
"lastName": "teste",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false,
"connectionId": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"integration_id": null,
"sector_id": null,
"enriched_topics": null,
"origin": null,
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
},
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"people": {
"id": 1684,
"email": "teste3@tagchat.com.br",
"basic_data_enriched": false,
"basic_data_date": null,
"enterprise_data_enriched": false,
"enterprise_data_date": null,
"has_enterprise": null,
"geodata_enriched": false,
"geodata_date": null,
"linkedin_url": null,
"linkedin_url_date": null,
"linkedin_enriched": false,
"linkedin_date": null
}
}
]
Permite a visualização de todas as persons do projeto. A função getAllByOwner() recebe como parâmetro
ProjectEntity e UserEntity e delega a busca no repositório para a função personsRepository.find(), com os
dados do projeto e do owner. Caso encontre, retorna todas as persons. Caso não encontre, retorna o erro
149.
Rota utilizada:
Get /projects/{project_id}/owner/persons
Exemplo:
Get /projects/141/owner/persons
Retorno do Exemplo:
[
{
"id": "1350",
"email": "teste3@tagchat.com.br",
"phoneNumber": "5517991869702",
"firstName": "teste",
"lastName": "teste",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false,
"connectionId": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"integration_id": null,
"sector_id": null,
"enriched_topics": null,
"origin": null,
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
},
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"people": {
"id": 1684,
"email": "teste3@tagchat.com.br",
"basic_data_enriched": false,
"basic_data_date": null,
"enterprise_data_enriched": false,
"enterprise_data_date": null,
"has_enterprise": null,
"geodata_enriched": false,
"geodata_date": null,
"linkedin_url": null,
"linkedin_url_date": null,
"linkedin_enriched": false,
"linkedin_date": null
}
}
]
Permite o envio de uma imagem de avatar para a person. A função addAvatar() recebe como parâmetro o id do projeto e da persona, o buffer da imagem, o nome do arquivo, o tamanho do arquivo e o tipo. Delega a busca no repositório para a função personsRepository.find(). Atualiza o repositório com a nova imagem com a função personsRepository.update(). Retona o avatar.
Rota utilizada:
Post /projects/{project_id}/persons/{person_id}/avatar
Exemplo:
Post /projects/141/persons/1347/avatar
Retorno do exemplo:
{
"url": "https://cdn.tagchat.online/projects/141/persons/1347/pexels-liza-summer-6347705.jpg",
"key": "pexels-liza-summer-6347705.jpg",
"mimetype": "image/jpeg",
"fileSize": 1539499,
"id": "814"
}
Deleta a imagem de avatar da person. A função recebe o id da person e delega a deleção para a função
filesService.deleteFile().
Rota utilizada:
Del /projects/{project_id}/persons/{person_id}/avatar
A função getView() recebe os dados da person e delega para a função entityManager.query() a obtenção da view. Retorna o resultado.
Rota utilizada:
Get /projects/{project_id}/persons/view
Exemplo:
Get /projects/141/persons/view
Retorno do exemplo:
[
{
"id": "1348",
"active": false,
"first_name": "Juliana",
"last_name": "Silva",
"email": "teste2@tagchat.com.br",
"phone_number": "5517991869702",
"owner": "SISTEMA TAGCENTER",
"owner_type": "user",
"enriched_topics": null,
"avatar": {
"url": null
}
}
]
A função getByPhoneNumber() recebe como parâmetro o telefone cadastrado da person e o id do proeto. Delega a busca para a função personsRepository.findOne() utilizando o telefone e retorna a person que possui o número registrado. Caso não encontre, retorna o erro 149.
Rota utilizada:
Get /projects/{project_id}/persons/phone-number
Exemplo:
/projects/141/persons/phone-number?phoneNumber=5517912345678
Retorno do exemplo:
{
"id": "1347",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"firstName": "Maria",
"lastName": "Silva",
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"isWhatsappConfirmed": false,
"connectionId": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"integration_id": null,
"sector_id": null,
"enriched_topics": null,
"origin": null,
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
},
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"people": {
"id": 1681,
"email": "teste@tagchat.com.br",
"basic_data_enriched": false,
"basic_data_date": null,
"enterprise_data_enriched": false,
"enterprise_data_date": null,
"has_enterprise": null,
"geodata_enriched": false,
"geodata_date": null,
"linkedin_url": null,
"linkedin_url_date": null,
"linkedin_enriched": false,
"linkedin_date": null
} }
A função getById() recebe como parâmetro o id da empresa e delega a busca no repositório para a função companyRepository.findOne(). Retorna a company se encontrada, se não, retorna erro 173. Caso não encontre o id, retorna erro 149.
Rota utilizada:
Get /projects/{project_id}/companies/{company_id}
Exemplo:
Get /projects/141/companies/33
Retorno do exemplo:
{
"id": "33",
"name": "Teste empresa 3",
"fantasy_name": null,
"cnpj": "555",
"email": "teste2@teste.com",
"size": null,
"primary_activity": null,
"second_activity": null,
"active": false,
"contactOwner": "Henrique",
"phoneNumber": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"origin": "manually",
"sector_id": null,
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
}
}
Chave | Tipo | Descrição |
---|---|---|
id | string | Id da company |
name | string | Nome da company |
fantasy_name | string | Nome fantasia da company |
cnpj | string | CNPJ da company |
string | Email da company | |
size | string | Tamanho da company |
primary_activity | string | Atividade primária da company |
secondary_activity | string | Atividade secundária da company |
active | boolean | Verifica se a empresa está ativa |
contactOwner | string | Responsável da company |
phoneNumber | string | Telefone da company |
string | Facebook da company | |
string | Linkedin da company | |
string | Instagram da company | |
string | Twitter da company | |
origin | string | Origem da company no sistema |
sector_id | string | Id do setor da company |
address | string | Endereço da company |
avatar | string | Avatar da company |
A função getAll() recebe como parâmetro ProjectEntity e delega a busca no repositório para a função
companyRepository.find(). Retorna as empresas ou erro 149.
Rota utilizada:
Get /projects/{project_id}/companies/
Exemplo:
Get /projects/141/companies/
Retorno do exemplo:
[
{
"id": "33",
"name": "Teste empresa 3",
"fantasy_name": null,
"cnpj": "555",
"email": "teste2@teste.com",
"size": null,
"primary_activity": null,
"second_activity": null,
"active": false,
"contactOwner": "Henrique",
"phoneNumber": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"origin": "manually",
"sector_id": null,
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
}
},
{
"id": "35",
"name": "Teste empresa 4",
"fantasy_name": null,
"cnpj": "222",
"email": "teste3@teste.com",
"size": null,
"primary_activity": null,
"second_activity": null,
"active": false,
"contactOwner": "Henrique",
"phoneNumber": null,
"facebook": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"origin": "manually",
"sector_id": null,
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"address": null,
"avatar": null,
"project": {
"id": "141",
"name": "enriquecimento-leads",
"title": "Projeto de Enrichment Atualizado2",
"description": "Description",
"active": true,
"timezone": "America/Sao_Paulo",
"enrichment_enable": true,
"is_deleted": false,
"auto_social_point": true,
"avatar": null,
"owner": {
"id": "157",
"email": "teste2@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
}
}
}
]
A função create() recebe como parâmetro ProjectEntity e os dados da empresa a ser criada. Verifica se no
repositório ja existe alguma empresa com esse cnpj com a função getByCnpjAndProject(), se encontra retorna erro 175. Caso não, delega para a função annotationsService.create() a criação da empresa no repositório.
Rota utilizada:
Post /projects/{project_id}/companies/
Body:
{
name: string,
cnpj: string,
email: string,
contactOwner: string,
active: boolean,
origin: string
}
Exemplo:
{ "name":"Teste empresa 4", "cnpj":"777", "email":"teste3@teste.com", "contactOwner":"Henrique",
"active":false, "origin":"manually" }
Retorno do exemplo:
{
"name": "Teste empresa 4",
"cnpj": "777",
"email": "teste3@teste.com",
"contactOwner": "Henrique",
"active": false,
"origin": "manually",
"owner": {
"id": "155",
"email": "teste@tagchat.com.br",
"phoneNumber": "5517991869702",
"name": "SISTEMA TAGCENTER",
"active": false,
"isRegisteredWithGoogle": false,
"isTwoFactorAuthenticationEnabled": false,
"isEmailConfirmed": false,
"isPhoneNumberConfirmed": false,
"stripe_customer_id": null,
"user_language": "pt-BR",
"integration_id": null,
"address": null,
"avatar": null
},
"phoneNumber": null,
"sector_id": null,
"id": "36"
}
A função update() recebe como parâmetro ProjectEntity, o id da company e os dados que serão modificados. Verifica se a atualização envolve o email da company, se sim retorna erro 150. Se não, verifica se tem atualização no endereço, se sim delega para a função addressRepository.update(). Se não, a função companyRepository.update() atualiza os dados enviados.
Rota utilizada:
Put /projects/{project_id}/companies/{company_id}
Body:
{
name: string,
cnpj: string,
contactOwner: string,
active: boolean,
origin: string,
facebook: string,
phoneNumber: string
}
Exemplo:
{
"name":"Nome atualizado",
"cnpj":"555",
"contactOwner":"Henrique",
"active":false,
"origin":"manually",
"facebook":"algum teste",
"phoneNumber":"5517997578899"
}
Retorno do exemplo:
{
"id":"33",
"name":"Nome atualizado",
"fantasy_name":null,
"cnpj":"555",
"email":"teste2@teste.com",
"size":null,
"primary_activity":null,
"second_activity":null,
"active":false,
"contactOwner":"Henrique",
"phoneNumber":"5517997578899",
"facebook":"algum teste",
"linkedin":null,
"instagram":null,
"twitter":null,
"origin":"manually",
"sector_id":null,
"owner":{
"id":"155",
"email":"teste@tagchat.com.br",
"phoneNumber":"5517991869702",
"name":"SISTEMA TAGCENTER",
"active":false,
"isRegisteredWithGoogle":false,
"isTwoFactorAuthenticationEnabled":false,
"isEmailConfirmed":false,
"isPhoneNumberConfirmed":false,
"stripe_customer_id":null,
"user_language":"pt-BR",
"integration_id":null,
"address":null,
"avatar":null
},
"address":null,
"avatar":null,
"project":{
"id":"141",
"name":"enriquecimento-leads",
"title":"Projeto de Enrichment Atualizado2",
"description":"Description",
"active":true,
"timezone":"America/Sao_Paulo",
"enrichment_enable":true,
"is_deleted":false,
"auto_social_point":true,
"avatar":null,
"owner":{
"id":"157",
"email":"teste2@tagchat.com.br",
"phoneNumber":"5517991869702",
"name":"SISTEMA TAGCENTER",
"active":false,
"isRegisteredWithGoogle":false,
"isTwoFactorAuthenticationEnabled":false,
"isEmailConfirmed":false,
"isPhoneNumberConfirmed":false,
"stripe_customer_id":null,
"user_language":"pt-BR",
"integration_id":null,
"address":null,
"avatar":null
}
}
}
A função delete() recebe como parâmetro o id da company e delega a busca no repositório para a função
companyRepository.findOne(). Se encontra a company, deleta do repositório com a função companyRepository.delete(). Se não, retorna o erro 151.
Rota utilizada:
Del /projects/{project_id}/companies/{company_id}
A função getView() recebe como parâmetro os dados da empresa. Delega para a função entityManager.query() as queries da empresa. Com query.map() mapea e organiza os dados da empresa.
Retorna o resultado. Caso não encontra a empresa, retorna o erro 173.
Rota utilizada:
Get /projects/{project_id}/companies/view
Código | Descrição |
---|---|
149 | Persons or Company with this id does not exist |
173 | 404 Not Found |
175 | Person or Company with that email/cnpj already exists |
150 | Email update is not allowed |
151 | Person or Company with this id does not exist |
192 | Parameterization with this id does not exist |
149 | Parameterization with this id does not exist |
401 | Unautho |