Projetos
Canais comerciais dentro de um tenant — cada projeto é uma fronteira de dados com sua própria audiência raiz.
Visão Geral
Um projeto é um canal comercial dentro de um tenant. É uma fronteira de dados: toda audiência, filtro de eventos, Activity Generation Config, atividade e resultado de atividade pertence a exatamente um projeto desde o momento em que é criado, e nunca passa para outro projeto.
Todo tenant tem pelo menos um projeto: seu projeto principal, marcado com isMain: true. Todo tenant começa com um projeto principal chamado General; nos tenants que existiam antes da introdução dos projetos, ele contém todos os seus dados anteriores. O projeto principal pode ser renomeado; a marca isMain não pode ser alterada.
Os projetos também são gerenciados a partir do painel de administração da Reten, em Configurações → Projetos.
Propriedades do projeto
| Propriedade | Tipo | Descrição |
|---|---|---|
id | UUID | ID do projeto |
name | string | Nome do projeto, único dentro do tenant (sem diferenciar maiúsculas de minúsculas) |
rootAudienceId | UUID | ID da audiência raiz do projeto |
isMain | boolean | true para o projeto principal do tenant |
Audiência raiz
Todo projeto é criado junto com sua audiência raiz, chamada Toda la empresa (a empresa inteira): os comércios ativos. Seu ID é retornado como rootAudienceId, e as respostas de audiências a marcam com isRoot: true.
- Toda audiência do projeto é avaliada dentro da sua audiência raiz: o SQL de qualquer outra audiência é intersectado com ela (veja Gerar SQL).
- A audiência raiz é editada como qualquer outra audiência, com
PATCH /api/audience-criterias/:id, mas editá-la exige também a permissãoproject:update. Sem ela, a API responde403—No tiene permiso para editar la audiencia raíz del proyecto. - A audiência raiz não pode ser excluída:
DELETE /api/audience-criterias/:idresponde409—La audiencia raíz de un proyecto no se puede eliminar.
Escolher o projeto de uma requisição
Os endpoints de projetos (/api/projects) são tenant-level: ignoram o header x-project-id, porque é neles que um cliente descobre os projetos com os quais pode trabalhar.
Os endpoints que leem ou escrevem dados de um projeto são project-scoped: cada requisição trabalha em exatamente um projeto, obtido do header x-project-id ou, com uma chave de projeto, da própria chave. As exceções são GET /api/integration/activities/tasks e POST /api/integration/activity-results/tasks, que são project-optional: nelas o header é opcional e, se for enviado, restringe a requisição a esse projeto. Veja Autenticação → Contexto de Projeto.
Permissões
| Permissão | Concede | Funções |
|---|---|---|
project:view | Listar os projetos do tenant | super_admin, admin, fde, supervisor, operator, viewer |
project:create | Criar projetos | super_admin, admin, fde |
project:update | Renomear projetos e editar sua audiência raiz | super_admin, admin, fde |