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: um Refer<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>.

PropriedadeTipoDescrição
idstringIdentificador único do recurso.
typestringTipo do recurso. Para Organization é sempre "Organization".
createdByRefer<User>Usuário que criou.
createdAtstring (date-time)Momento da criação.
updatedByRefer<User>Último usuário que modificou.
updatedAtstring (date-time)Momento da última modificação.
versioninteger (≥1)Versão do recurso. Aumenta em 1 a cada modificação.
isOfficialbooleanIndica se a Organization é oficial.
planRefer<Plan>Plano de assinatura. Por exemplo: free.

Propriedades de corpo:

PropriedadeTipoDescrição
namestring (1 a 64)Nome da Organization. Definido na criação e na modificação.
descriptionstring (1 a 128)Descrição da Organization. Item opcional.
iconstring (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).
consoleHomeUrlstring (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.com nos cabeçalhos da resposta. Se a exibição estiver sendo impedida por X-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.

AtributoO 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ódigoCondição
WGL422078O chamador tentou excluir uma Organization cujo plano não é o gratuito. É preciso primeiro rebaixar a Organization para o plano gratuito.
WGL422079O chamador tentou excluir uma Organization cuja assinatura não foi cancelada ou que tem uma alteração pendente.
WGL422024O chamador tentou excluir uma Organization em que ainda restam Spaces. A exclusão só é possível depois que todas as Spaces forem apagadas.
WGL422046O arquivo enviado como icon ultrapassa o tamanho permitido.
WGL422047O arquivo enviado como icon não é PNG, JPG nem WebP.
WGL400072O 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.