Skip to main content

Evento organization.updated

Disparado para a organização da plataforma quando o status de ativação financeira de uma organização conectada muda — por exemplo, quando o cadastro sai de activation_pending para active após aprovação, ou para disabled quando o perfil financeiro atual deixa de estar apto. data.object carrega o snapshot atual completo da organização conectada (incluindo activation_status e bank_account quando preenchidos), e data.previous_attributes mostra o valor anterior dos campos que mudaram — útil pra detectar transições. Use este evento para sincronizar o admin da plataforma. Quando a conta bancária ativa muda, data.object.bank_account traz a conta atual e data.previous_attributes.bank_account traz a conta anterior.

Exemplo de payload

{
  "id": "evt_123",
  "object": "event",
  "created_at": "2026-04-30T18:35:00.000Z",
  "data": {
    "object": {
      "id": "org_789",
      "object": "organization",
      "activation_status": "active",
      "activation_status_updated_at": "2026-04-30T18:35:00.000Z",
      "avatar_url": "https://cdn.meusite.com/avatar.png",
      "bank_account": {
        "id": "ba_123",
        "object": "bank_account",
        "account_number_last4": "5678",
        "bank_code": "260",
        "bank_name": "Nu Pagamentos S.A.",
        "created_at": "2026-04-30T18:31:20.000Z",
        "holder_name": "Acme Importadora LTDA",
        "is_active": true,
        "is_verified": false,
        "livemode": true,
        "metadata": {},
        "routing_number": "0001",
        "type": "checking",
        "updated_at": "2026-04-30T18:35:00.000Z"
      },
      "billing_additional_info": "Recebedor: Financeiro",
      "billing_address": {
        "city": "São Paulo",
        "country": "BR",
        "line1": "Av. Paulista, 1000",
        "line2": null,
        "postal_code": "01310-100",
        "state": "SP"
      },
      "billing_name": "Acme Importadora LTDA",
      "branding_settings": {
        "accent_color": null,
        "border_style": null,
        "brand_color": null,
        "font_family": null,
        "theme": null
      },
      "created_at": "2026-04-28T13:42:10.000Z",
      "document": "12345678000190",
      "document_type": "cnpj",
      "email": "contato@meusite.com",
      "livemode": true,
      "metadata": {},
      "name": "Acme Importadora",
      "platform": "plat_456",
      "socials": [
        {
          "platform": "instagram",
          "url": "https://instagram.com/meusite"
        }
      ],
      "updated_at": "2026-04-30T18:35:00.000Z",
      "website": "https://meusite.com"
    },
    "previous_attributes": {
      "activation_status": "activation_pending"
    }
  },
  "livemode": true,
  "organization": "org_789",
  "request": {
    "id": null
  },
  "type": "organization.updated"
}

Campos do payload

Payload

CampoTipoDescrição
idstringID único do evento (evt_*).
objectstringSempre "event".
created_atstringData/hora ISO 8601 da geração do evento.
livemodebooleanMesmo valor de data.object.livemode.
organizationstringID da organização conectada que originou o evento. Mesmo valor de data.object.id.
typestring"organization.updated"

data

CampoTipoDescrição
objectobjectSnapshot atual da organização conectada. Ver tabela abaixo.
previous_attributesobjectMapa dos campos do data.object que mudaram, com o valor anterior. Pode incluir status financeiro ou dados públicos editáveis da organização.

data.object

CampoTipoDescrição
idstringID público da organização conectada (org_*).
objectstringSempre "organization".
livemodebooleantrue em produção; false em ambiente de teste.
namestringNome ou razão social.
emailstring | nullE-mail principal da organização conectada.
avatar_urlstring | nullURL da imagem de perfil/logo, quando definida.
documentstring | nullCPF (PF) ou CNPJ (PJ), somente dígitos.
document_type"cpf" | "cnpj" | nullTipo fiscal.
websitestring | nullSite público da organização conectada.
socialsarrayLista de { platform, url }. platform é um enum: x, github, facebook, instagram, youtube, linkedin, other. Vazia quando não há redes cadastradas.
billing_namestring | nullNome usado em cobranças.
billing_addressobject | nullEndereço de cobrança quando informado. Campos: line1, line2, city, state, postal_code, country.
billing_additional_infostring | nullInformação adicional para cobranças (ex: setor responsável).
branding_settingsobjectIdentidade visual aplicada ao checkout hospedado. Campos não configurados vêm null.
created_atstringData/hora de criação da organização conectada.
updated_atstring | nullData/hora da última modificação da organização conectada.
activation_statusstringStatus atual de ativação financeira. Valores: activation_pending, pending, active, disabled. disabled significa que o perfil financeiro atual não está apto; a organização pode iniciar uma nova tentativa de onboarding.
activation_status_updated_atstring | nullData/hora ISO 8601 da última atualização de activation_status.
bank_accountobject | nullConta bancária ativa conectada à organização. Use para exibir banco, agência/roteamento, titular e últimos 4 dígitos no admin da plataforma. null quando ainda não há conta conectada.
platformstringID da sua plataforma (plat_*).
metadataobjectMetadata pública da relação plataforma↔organização conectada. Objeto vazio ({}) quando não houver metadata.

data.previous_attributes

CampoTipoDescrição
<field>anyValor anterior de um campo alterado em data.object. Exemplos comuns: activation_status quando o cadastro financeiro passa de activation_pending para active, ou bank_account quando a conta ativa muda.

Uso típico

switch (event.type) {
  case "organization.updated": {
    const organization = event.data.object;
    const previous = event.data.previous_attributes ?? {};
    if (
      previous.activation_status !== "active" &&
      organization.activation_status === "active"
    ) {
      await db.organizations.update({
        id: organization.id,
        status: "active",
        activated_at: new Date(),
        bank_account: organization.bank_account,
      });
    }
    break;
  }
}