Organization
A Organization é o contêiner de nível mais alto que abriga as Spaces. Uma empresa ou equipe corresponde a uma Organization, e sob ela ficam várias Spaces. Como o plano de assinatura (plan) e os membros são gerenciados no nível da Organization, a cobrança e as permissões dos integrantes são aplicadas com base nesta Organization, e não na Space.
A lista de Organizations a que você pertence é consultada por GET /me/organization-memberships. Este recurso não possui um endpoint que retorne a lista completa.
Estrutura do recurso
A seguir está a resposta da consulta individual da Organization "DailyWear Companhia". Ela possui sys (propriedades de sistema) e as propriedades de corpo name e description.
{
"sys": {
"id": "ilLRJxDp",
"type": "Organization",
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-05-11T10:51:16.832Z",
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-05-11T10:51:16.832Z",
"version": 1,
"isOfficial": false,
"plan": { "sys": { "id": "free", "type": "Refer", "targetType": "Plan" } }
},
"name": "DailyWear Companhia",
"description": "Empresa que administra uma loja on-line de roupas e acessórios"
}Chaves principais:
name: o nome da Organization (1 a 64 caracteres). É o nome de exibição da empresa ou equipe.description: uma descrição da Organization (1 a 128 caracteres, opcional).plan: umRefer<Plan>que aponta para o plano de assinatura desta Organization (por exemplo,free). O plano de cobrança está vinculado aqui.isOfficial: indica se a Organization é oficial (boolean).
Propriedades de sistema (sys) e corpo
Toda Organization mantém as propriedades de sistema comuns no objeto sys. createdBy e updatedBy entram no formato Refer ({ "sys": { "id", "type": "Refer", "targetType" } }), e plan é um Refer<Plan>.
| Propriedade | Tipo | Descrição |
|---|---|---|
id | string | Identificador único do recurso. |
type | string | Tipo do recurso. Para Organization é sempre "Organization". |
createdBy | Refer<User> | Usuário que criou. |
createdAt | string (date-time) | Momento da criação. |
updatedBy | Refer<User> | Último usuário que modificou. |
updatedAt | string (date-time) | Momento da última modificação. |
version | integer (≥1) | Versão do recurso. Aumenta em 1 a cada modificação. |
isOfficial | boolean | Indica se a Organization é oficial. |
plan | Refer<Plan> | Plano de assinatura. Por exemplo: free. |
Propriedades de corpo:
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string (1 a 64) | Nome da Organization. Definido na criação e na modificação. |
description | string (1 a 128) | Descrição da Organization. Item opcional. |
icon | string (leitura) / object (escrita) | Ícone da Organization. Na resposta é uma string com a URL da imagem. Na requisição de modificação, é enviado como um objeto que aponta para o arquivo carregado: { "upload": { "sys": { ..., "targetType": "Upload" } } } (referência ao Upload recebido pela Upload API). |
consoleHomeUrl | string (uri) | Página exibida no lugar da tela inicial padrão em todas as Spaces desta Organization. Informe uma URL https que não aponte para o endereço do console (condições). Item opcional. |
A Organization é um recurso de configuração que não possui o conceito de publicação. Por isso, ao contrário de Content e Media, o sys não tem publish, archive nem status, apenas version. O version aumenta a cada modificação da Organization.
A modificação (PUT) substitui o recurso inteiro, e o significado de não enviar um valor é oposto nos dois itens opcionais. Se icon for omitido, o ícone existente é mantido; já se consoleHomeUrl for omitido, o endereço armazenado é apagado. Para manter um endereço já definido, envie esse valor a cada modificação. A modificação parcial (PATCH) altera apenas as propriedades indicadas no patch, portanto, se consoleHomeUrl não for indicado, ele permanece como está.
Condições da página exibida na tela inicial
O fato de o endereço ter sido salvo não significa que a página será exibida. Mesmo que você informe um endereço que recuse a exibição, a requisição de gravação é bem-sucedida e nenhum erro é retornado; isso se manifesta apenas como nada sendo exibido na tela inicial.
Para que a página seja exibida nesse lugar, ela precisa cumprir o seguinte.
- Ser servida por HTTPS. Como o console funciona em HTTPS, o navegador bloqueia a exibição de uma página que não use conexão segura.
- Permitir a exibição dentro de outra página. Informe
Content-Security-Policy: frame-ancestors https://console.weegloo.comnos cabeçalhos da resposta. Se a exibição estiver sendo impedida porX-Frame-Options, ajuste esse cabeçalho junto. - Se usar cookies, emiti-los com
SameSite=None; Secure. Como o contexto é o de exibição dentro de outro site, um cookie sem essa marcação não é enviado.
A página é exibida dentro de um <iframe>, e esse frame tem abertas apenas as permissões abaixo.
| Atributo | O que a página passa a poder fazer |
|---|---|
sandbox="allow-scripts" | Executar scripts. |
sandbox="allow-same-origin" | Ler e gravar os cookies e o armazenamento da própria origem, e enviar requisições ao próprio servidor. |
sandbox="allow-forms" | Enviar formulários. |
sandbox="allow-popups" | Abrir uma nova janela ou uma nova aba. |
sandbox="allow-popups-to-escape-sandbox" | Fazer com que a janela aberta assim não herde estas restrições. |
sandbox="allow-downloads" | Iniciar o download de arquivos. |
sandbox="allow-storage-access-by-user-activation" | Solicitar permissão de acesso ao armazenamento quando o usuário interagir. |
allow="fullscreen" | Alternar para tela cheia. |
allow="clipboard-write" | Gravar na área de transferência. |
O que não está nesta lista não funciona. Nesse caso não ocorre erro e a chamada é ignorada silenciosamente, de modo que o código não tem como saber se houve bloqueio.
O frame também recebe referrerpolicy="strict-origin-when-cross-origin". Por isso, a página recebe apenas a origem do console, sem a informação de em que tela ela foi aberta.
Independentemente do sandbox, uma página que exige login pode não funcionar corretamente. Como a maioria dos provedores de login bloqueia a autenticação dentro de outra página, o login social em geral não funciona.
Erros
São os códigos que você encontra ao lidar com a Organization. Para os códigos comuns a todos os recursos, consulte Erros comuns.
| Código | Condição |
|---|---|
WGL422078 | O chamador tentou excluir uma Organization cujo plano não é o gratuito. É preciso primeiro rebaixar a Organization para o plano gratuito. |
WGL422079 | O chamador tentou excluir uma Organization cuja assinatura não foi cancelada ou que tem uma alteração pendente. |
WGL422024 | O chamador tentou excluir uma Organization em que ainda restam Spaces. A exclusão só é possível depois que todas as Spaces forem apagadas. |
WGL422046 | O arquivo enviado como icon ultrapassa o tamanho permitido. |
WGL422047 | O arquivo enviado como icon não é PNG, JPG nem WebP. |
WGL400072 | O formato de consoleHomeUrl é inválido ou o endereço aponta para o console. |
API
A URL base de todos os endpoints abaixo é https://cma.weegloo.com/v1, e o cabeçalho Authorization exige um token Bearer que autentique no CMA. Para modificação total ou parcial, é necessário enviar também o cabeçalho X-Weegloo-Version (o sys.version atual do recurso) para o controle de concorrência otimista. A criação e a exclusão não usam esse cabeçalho.
Documentos relacionados
- Space: a Space sob esta Organization.
- Organization Membership: membros da Organization e consulta das organizações a que pertenço.
