Pular para o conteúdo principal

Atividades

Tarefas, agenda e tipos de atividade.

18 rotas. Todas exigem a chave de API no header Authorization, salvo quando marcadas como públicas. Abrir este módulo no Swagger.

Listar atividades por período, status e filtros​

POST /companie/activities/filterAdvanced/{filter}/{date_start}/{date_end}

O período (filter) é aplicado sobre a data da atividade (date). Com other_period, informe date_start e date_end (YYYY-MM-DD).

  • status: Em andamento, Realizado ou Todos.
  • Filtros em array (vazio = sem filtro): companieUserIdOwner (responsáveis), personId, opportunityId, activitieId (tipos), id, funnelId, organization.
  • Envie companieUserIdOwner, personId, opportunityId, activitieId e id sempre, mesmo vazios ([]). Sem eles a rota responde 500.
  • Usuário com perfil Vendedor vê só as atividades em que é responsável; companieUserIdOwner é ignorado.
  • order: created_at_desc (padrão, por data desc), created_at_asc, alpha_asc ou alpha_desc (pelo título do tipo).
  • Paginação por skip e take.

Parâmetros

NomeEmTipoObrigatórioDescrição
filterURLall · today · yesterday · this_week · last_week · this_month · last_month · last_30_days · …sim
date_startURLstringOpcional na URL: pode ser omitido junto com os segmentos seguintes.
date_endURLstringOpcional na URL: pode ser omitido junto com os segmentos seguintes.

Corpo (application/json)

CampoTipoObrigatórioDescrição
statusEm andamento · Realizado · Todossim
companieUserIdOwnernúmero[]
personIdnúmero[]
opportunityIdnúmero[]
organizationstring[]
funnelIdnúmero[]
activitieIdnúmero[]
idnúmero[]
skipnúmerosim
takenúmerosim
orderstring ou null

Respostas

StatusDescrição
200Atividades da página.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar todas as atividades da empresa​

GET /companie/activities

Sem paginação: devolve tudo, em ordem de id. Para volumes grandes, prefira filterAdvanced.

Respostas

StatusDescrição
200Atividades da empresa.
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Criar atividade​

POST /companie/activities

  • companie_user_id: quem cria; normalmente o dono da chave.
  • companie_user_id_owner: responsável pela atividade (usuário da empresa). Na prática é obrigatório.
  • activitie_id: tipo de atividade (GET /companie/activitie/type).
  • person_id: contato da mesma empresa do responsável, ou null.
  • date no formato YYYY-MM-DD e hour como HH:mm.
  • product_id: serviço agendado (opcional). A duração do serviço (time) define o fim do evento no Google Agenda.

Se o criador tiver o Google Agenda conectado, o evento é criado lá também.

Corpo (application/json)

CampoTipoObrigatórioDescrição
companie_user_idnúmerosim
companie_user_id_ownernúmero ou null
person_idnúmero ou nullsim
opportunity_idnúmero ou null
activitie_idnúmerosim
datedatasim
hourstringsim
descriptionstringsim
product_idnúmero ou null

Respostas

StatusDescrição
200Atividade criada.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
409error_companie_user_id_not_exist, error_companie_user_id_owner_not_exist, error_person_id_not_exist, error_opportunity_id_not_exist ou error_activitie_id_not_exist (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar as atividades de um contato​

GET /companie/activities/person/{personId}

Parâmetros

NomeEmTipoObrigatórioDescrição
personIdURLstringsim

Respostas

StatusDescrição
200Atividades do contato.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar as próximas atividades em andamento de um usuário​

GET /companie/activities/userInProgress/{companieUserId}

Devolve no máximo 10 atividades Em andamento em que o usuário é responsável, da data mais distante para a mais próxima. O person vem com as anotações (person_annotation).

Parâmetros

NomeEmTipoObrigatórioDescrição
companieUserIdURLstringsim

Respostas

StatusDescrição
200Até 10 atividades.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Editar atividade​

PUT /companie/activities/{id}

Mesmas regras da criação. Envie companie_user_id_owner: sem ele a rota devolve error_companie_user_id_owner_not_exist. Atualiza ou cria o evento no Google Agenda do dono da chave, se conectado.

Parâmetros

NomeEmTipoObrigatórioDescrição
idURLstringsim

Corpo (application/json)

CampoTipoObrigatórioDescrição
companie_user_idnúmero
companie_user_id_ownernúmero ou null
person_idnúmero ou nullsim
opportunity_idnúmero ou null
activitie_idnúmerosim
datedatasim
hourstringsim
descriptionstringsim
product_idnúmero ou null

Respostas

StatusDescrição
200Atividade atualizada.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
409error_companie_user_id_owner_not_exist, error_person_id_not_exist, error_opportunity_id_not_exist, error_activities_not_exist ou error_activitie_id_not_exist (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Excluir atividade​

DELETE /companie/activities/{id}

Se a atividade foi criada pelo dono da chave e tem evento no Google Agenda, o evento também é removido.

Parâmetros

NomeEmTipoObrigatórioDescrição
idURLstringsim

Respostas

StatusDescrição
200Atividade excluída.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
409error_activities_not_exist (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Mudar o status da atividade​

PUT /companie/activities/status/{id}

status: Em andamento ou Realizado.

Parâmetros

NomeEmTipoObrigatórioDescrição
idURLstringsim

Corpo (application/json)

CampoTipoObrigatórioDescrição
statusEm andamento · Realizado

Respostas

StatusDescrição
200Atividade atualizada.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
409error_activities_not_exist (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Marcar atividade como realizada​

PATCH /companie/activities/realize/{id}

Muda o status para Realizado. Se a atividade já estiver realizada, responde 204 sem corpo.

Parâmetros

NomeEmTipoObrigatórioDescrição
idURLnúmerosimId da atividade.

Respostas

StatusDescrição
200Atividade realizada.
204A atividade já estava realizada.
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
404error_activities_not_exist (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar os tipos de atividade da empresa​

GET /companie/activitie/type

Use o id como activitie_id ao criar atividades. Aceita ?q= para buscar pelo título. Se a empresa ainda não tiver o tipo reservado Agendamento de Serviço, esta chamada o cria.

Parâmetros

NomeEmTipoObrigatórioDescrição
qquerystringBusca no título.

Respostas

StatusDescrição
200Tipos em ordem alfabética.
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Criar tipo de atividade​

POST /companie/activitie/type

companie_user_id: usuário dono do registro; normalmente o dono da chave. O título Agendamento de Serviço é reservado e só existe um por empresa.

Corpo (application/json)

CampoTipoObrigatórioDescrição
companie_user_idnúmerosim
titlestringsim

Respostas

StatusDescrição
200Tipo criado.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
409error_companie_user_not_exist ou error_reserved_type_already_exists_for_company (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Editar tipo de atividade​

PUT /companie/activitie/type/{id}

O tipo reservado Agendamento de Serviço não pode ser editado.

Parâmetros

NomeEmTipoObrigatórioDescrição
idURLstringsim

Corpo (application/json)

CampoTipoObrigatórioDescrição
titlestringsim

Respostas

StatusDescrição
200Tipo atualizado.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403error_reserved_type_cannot_be_updated (ErrorCode)
409error_activitie_type_not_exist ou error_reserved_type_already_exists_for_company (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Excluir tipo de atividade​

DELETE /companie/activitie/type/{id}

Atenção: excluir o tipo apaga em cascata todas as atividades desse tipo. O tipo reservado Agendamento de Serviço não pode ser excluído.

Parâmetros

NomeEmTipoObrigatórioDescrição
idURLstringsim

Respostas

StatusDescrição
200Tipo excluído.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403error_reserved_type_cannot_be_deleted (ErrorCode)
409error_activitie_type_not_exist (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar horários livres de um usuário num dia​

GET /companie/activities/availability/{userId}

Gera horários de 30 em 30 minutos dentro da agenda de disponibilidade do usuário para o dia da semana de date (YYYY-MM-DD), tirando os horários que já têm atividade. Lista vazia se o usuário não tiver agenda nesse dia.

Parâmetros

NomeEmTipoObrigatórioDescrição
userIdURLstringsim
datequerystringsim

Respostas

StatusDescrição
200Horários HH:mm livres.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar horários livres de um usuário para um serviço​

GET /companie/activities/availability/{userId}/{productId}

Igual à rota sem productId, mas devolve lista vazia se o usuário não estiver vinculado ao serviço (produto) na empresa.

Parâmetros

NomeEmTipoObrigatórioDescrição
userIdURLstringsim
productIdURLstringsim
datequerystringsim

Respostas

StatusDescrição
200Horários HH:mm livres.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar os serviços que um usuário atende​

GET /companie/activities/services/{userId}

Parâmetros

NomeEmTipoObrigatórioDescrição
userIdURLstringsim

Respostas

StatusDescrição
200Opções { label: título, value: id do produto }.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar os usuários que atendem um serviço​

GET /companie/activities/users/{productId}

Parâmetros

NomeEmTipoObrigatórioDescrição
productIdURLstringsim

Respostas

StatusDescrição
200Opções { label: nome, value: id do usuário }.
400Parâmetros inválidos. (ValidationError)
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger

Listar todos os produtos e serviços da empresa​

GET /companie/activities/all-services

Inclui produtos e serviços, ativos ou não.

Respostas

StatusDescrição
200Opções { label: título, value: id do produto }.
401Chave ausente, inválida, revogada ou vencida. (ErrorCode)
403Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode)
429Limite de requisições excedido. (ErrorCode)
Testar no Swagger