Perfil e branding da Organization

Leia e atualize o perfil e o branding white-label da Organization pelo Dashboard.

Esses endpoints sustentam as telas de perfil e branding da Organization. O perfil contém a identidade de compliance da Organization — razão social, registro, país. O branding contém a superfície white-label: logotipo, cores e a aparência que os clientes veem no Customer Portal e nos fluxos hospedados.

Como o Tokeflow é white-label, esse branding é o que seus clientes experimentam como seu produto. As alterações são aplicadas às superfícies em todo o escopo da Organization no próximo carregamento.

Esses endpoints alimentam a interface do Tokeflow Dashboard no nível da Organization. Eles são autenticados por sessão (JWT bearer) — o token vem do login no Dashboard, não de uma chave de API sk_/pk_. As solicitações também carregam o header x-organization-id, e o usuário autenticado deve ser membro dessa Organization.

O objeto Organization

Retornado pelos endpoints de listagem e consulta desta página.

CampoTipoDescrição
idstringID da Organization.
namestringNome da Organization.
slugstringSlug do negócio.
statusstringStatus da Organization.
business_registration_numberstring | nullNúmero de registro empresarial (identificação fiscal).
mccstring | nullMerchant Category Code (MCC).
phone_numberstring | nullNúmero de telefone de contato.
address_line1string | nullLinha 1 do endereço do Merchant.
address_line2string | nullLinha 2 do endereço do Merchant.
citystring | nullCidade do Merchant.
statestring | nullEstado do Merchant.
postal_codestring | nullCódigo postal do Merchant.
country_codestring | nullCódigo do país do Merchant.
external_referencestring | nullReferência/ID externo do sistema da Organization.
created_atstringData em que a Organization foi criada. (ISO 8601 UTC).
updated_atstringData da última atualização da Organization. (ISO 8601 UTC).
brandingobjectInformações de branding da Organization.

Endpoints

GET/api/v1/organization

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Obtém as informações de perfil e branding da Organization.

Exemplo de solicitação

curl https://api.tokeflow.com/api/v1/organization \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3"

Exemplo de resposta — 200

{
  "id": "org_123",
  "name": "Acme Corp",
  "slug": "acme-corp",
  "status": "active",
  "business_registration_number": "12345678000199",
  "mcc": "5732",
  "phone_number": "+55 11 99999-0000",
  "address_line1": "123 Main St",
  "address_line2": "Suite 100",
  "city": "São Paulo",
  "state": "SP",
  "postal_code": "12345-678",
  "country_code": "BR",
  "external_reference": "internal_id_99",
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-02T00:00:00Z",
  "branding": {
    "theme_primary_color": "#FF5733",
    "theme_secondary_color": "#33C1FF",
    "custom_url": "https://www.acme-corp.com",
    "site_title": "Acme Corp Identity Provider",
    "favicon": "https://www.acme-corp.com/favicon.ico",
    "logo_light_mode": "https://www.acme-corp.com/logo-light.png",
    "logo_dark_mode": "https://www.acme-corp.com/logo-dark.png",
    "collapsible_logo_light_mode": "https://www.acme-corp.com/collapsible-logo-light.png",
    "collapsible_logo_dark_mode": "https://www.acme-corp.com/collapsible-logo-dark.png"
  }
}

PATCH/api/v1/organization

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Atualiza as informações de perfil da Organization.

Campos da solicitação

CampoTipoObrigatórioDescrição
namestringSimNome da Organization.
business_registration_numberstring | nullSimNúmero de registro empresarial (identificação fiscal).
mccstring | nullSimMerchant Category Code (MCC).
phone_numberstring | nullSimNúmero de telefone de contato.
address_line1string | nullSimLinha 1 do endereço do Merchant.
address_line2string | nullSimLinha 2 do endereço do Merchant.
citystring | nullSimCidade do Merchant.
statestring | nullSimEstado do Merchant. Código de subdivisão ISO 3166-2 sem o prefixo do país ("SP", e não "BR-SP"). Verificado em relação a country_code quando ambos são enviados.
postal_codestring | nullSimCódigo postal do Merchant.
country_codestring | nullSimCódigo do país do Merchant.
external_referencestring | nullSimReferência/ID externo do sistema da Organization.

Exemplo de solicitação

curl -X PATCH https://api.tokeflow.com/api/v1/organization \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp",
    "business_registration_number": "12345678000199",
    "mcc": "5732",
    "phone_number": "+55 11 99999-0000",
    "address_line1": "123 Main St",
    "address_line2": "Suite 100",
    "city": "São Paulo",
    "state": "SP",
    "postal_code": "12345-678",
    "country_code": "BR",
    "external_reference": "internal_id_99"
  }'

Exemplo de resposta — 202

{
  "id": "org_123",
  "name": "Acme Corp",
  "slug": "acme-corp",
  "status": "active",
  "business_registration_number": "12345678000199",
  "mcc": "5732",
  "phone_number": "+55 11 99999-0000",
  "address_line1": "123 Main St",
  "address_line2": "Suite 100",
  "city": "São Paulo",
  "state": "SP",
  "postal_code": "12345-678",
  "country_code": "BR",
  "external_reference": "internal_id_99",
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-02T00:00:00Z",
  "branding": {
    "theme_primary_color": "#FF5733",
    "theme_secondary_color": "#33C1FF",
    "custom_url": "https://www.acme-corp.com",
    "site_title": "Acme Corp Identity Provider",
    "favicon": "https://www.acme-corp.com/favicon.ico",
    "logo_light_mode": "https://www.acme-corp.com/logo-light.png",
    "logo_dark_mode": "https://www.acme-corp.com/logo-dark.png",
    "collapsible_logo_light_mode": "https://www.acme-corp.com/collapsible-logo-light.png",
    "collapsible_logo_dark_mode": "https://www.acme-corp.com/collapsible-logo-dark.png"
  }
}

GET/api/v1/organization/branding

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Obtém as informações de branding da Organization.

Exemplo de solicitação

curl https://api.tokeflow.com/api/v1/organization/branding \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3"

Exemplo de resposta — 200

{
  "theme_primary_color": "#FF5733",
  "theme_secondary_color": "#33C1FF",
  "custom_url": "https://www.acme-corp.com",
  "site_title": "Acme Corp Identity Provider",
  "favicon": "https://www.acme-corp.com/favicon.ico",
  "logo_light_mode": "https://www.acme-corp.com/logo-light.png",
  "logo_dark_mode": "https://www.acme-corp.com/logo-dark.png",
  "collapsible_logo_light_mode": "https://www.acme-corp.com/collapsible-logo-light.png",
  "collapsible_logo_dark_mode": "https://www.acme-corp.com/collapsible-logo-dark.png"
}

PATCH/api/v1/organization/branding

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Atualiza as informações de branding da Organization.

Campos da solicitação

CampoTipoObrigatórioDescrição
theme_primary_colorstring | nullNãoCor primária em formato hexadecimal.
theme_secondary_colorstring | nullNãoCor secundária em formato hexadecimal.
custom_urlstring | nullNãoURL personalizada da Organization.
site_titlestring | nullNãoTítulo do site da Organization.
faviconstring | nullNãoURL do favicon da Organization.
logo_light_modestring | nullNãoURL do logotipo para o modo claro.
logo_dark_modestring | nullNãoURL do logotipo para o modo escuro.
collapsible_logo_light_modestring | nullNãoURL do logotipo recolhível para o modo claro.
collapsible_logo_dark_modestring | nullNãoURL do logotipo recolhível para o modo escuro.
show_name_with_logobooleanNãoExibe o título do site (ou o nome do Merchant) ao lado do logotipo no Customer Portal, em vez de substituí-lo.

Exemplo de solicitação

curl -X PATCH https://api.tokeflow.com/api/v1/organization/branding \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3" \
  -H "Content-Type: application/json" \
  -d '{
    "theme_primary_color": "#FF5733",
    "theme_secondary_color": "#33C1FF",
    "custom_url": "https://www.acme-corp.com",
    "site_title": "Acme Corp Identity Provider",
    "favicon": "https://www.acme-corp.com/favicon.ico",
    "logo_light_mode": "https://www.acme-corp.com/logo-light.png",
    "logo_dark_mode": "https://www.acme-corp.com/logo-dark.png",
    "collapsible_logo_light_mode": "https://www.acme-corp.com/collapsible-logo-light.png",
    "collapsible_logo_dark_mode": "https://www.acme-corp.com/collapsible-logo-dark.png",
    "show_name_with_logo": false
  }'

Exemplo de resposta — 202

{
  "theme_primary_color": "#FF5733",
  "theme_secondary_color": "#33C1FF",
  "custom_url": "https://www.acme-corp.com",
  "site_title": "Acme Corp Identity Provider",
  "favicon": "https://www.acme-corp.com/favicon.ico",
  "logo_light_mode": "https://www.acme-corp.com/logo-light.png",
  "logo_dark_mode": "https://www.acme-corp.com/logo-dark.png",
  "collapsible_logo_light_mode": "https://www.acme-corp.com/collapsible-logo-light.png",
  "collapsible_logo_dark_mode": "https://www.acme-corp.com/collapsible-logo-dark.png"
}

Erros

Os erros usam o envelope padrão. Os casos mais comuns aqui:

HTTPSignificado
400Parâmetros inválidos ou um estado que não permite esta operação.
401Token de sessão do Dashboard ausente, expirado ou inválido.
403Autenticado, mas o usuário logado não tem acesso a esta entidade.
404O registro não existe ou não está visível para esta entidade.

Relacionados

Nesta página