Reten Docs
Projetos

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

PropriedadeTipoDescrição
idUUIDID do projeto
namestringNome do projeto, único dentro do tenant (sem diferenciar maiúsculas de minúsculas)
rootAudienceIdUUIDID da audiência raiz do projeto
isMainbooleantrue 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ão project:update. Sem ela, a API responde 403 — 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/:id responde 409 — 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ãoConcedeFunções
project:viewListar os projetos do tenantsuper_admin, admin, fde, supervisor, operator, viewer
project:createCriar projetossuper_admin, admin, fde
project:updateRenomear projetos e editar sua audiência raizsuper_admin, admin, fde

Endpoints