馃毀 La documentacion de Bloque est谩 en desarrollo

Organizaciones

Aprende c贸mo crear y gestionar organizaciones usando el SDK de Bloque.

Descripci贸n General

Las organizaciones son la base de la plataforma Bloque. Pueden ser empresas o individuos y contienen toda la informaci贸n de perfil y cumplimiento normativo necesaria.

Crear una Organizaci贸n

Organizaci贸n de Negocios

import { SDK } from '@bloque/sdk';
import type { CreateOrgParams } from '@bloque/sdk/orgs';

const bloque = new SDK({
  origin: 'your-origin',
  auth: {
    type: 'apiKey',
    apiKey: process.env.BLOQUE_API_KEY!,
  },
  mode: 'production',
});

const params: CreateOrgParams = {
  org_type: 'business',
  profile: {
    legal_name: 'Acme Corporation',
    tax_id: '123456789',
    incorporation_date: '2020-01-01',
    business_type: 'llc',
    incorporation_country_code: 'US',
    incorporation_state: 'CA',
    address_line1: '123 Main St',
    postal_code: '94103',
    city: 'San Francisco',
  },
  metadata: {
    source: 'web_app',
    campaign: 'q1_2024',
  },
};

const organization = await bloque.orgs.create(params);

Organizaci贸n Individual

const params: CreateOrgParams = {
  org_type: 'individual',
  profile: {
    legal_name: 'John Doe',
    tax_id: '123-45-6789',
    incorporation_date: '1990-05-20',
    business_type: 'sole_proprietorship',
    incorporation_country_code: 'US',
    address_line1: '456 Oak Ave',
    postal_code: '10001',
    city: 'New York',
  },
};

const organization = await bloque.orgs.create(params);

Par谩metros

CreateOrgParams

CampoTipoRequeridoDescripci贸n
org_type'business' | 'individual'S铆Tipo de organizaci贸n
profileOrgProfileS铆Detalles del perfil de la organizaci贸n
metadataRecord<string, unknown>NoMetadatos personalizados

OrgProfile

CampoTipoRequeridoDescripci贸n
legal_namestringS铆Nombre legal de la organizaci贸n
tax_idstringS铆N煤mero de ID fiscal
incorporation_datestringS铆Fecha de incorporaci贸n (YYYY-MM-DD)
business_typestringS铆Tipo de negocio (ej: 'llc', 'corporation')
incorporation_country_codestringS铆C贸digo de pa铆s (ISO 3166-1 alpha-2)
incorporation_statestringNoEstado/provincia
address_line1stringS铆L铆nea de direcci贸n principal
address_line2stringNoL铆nea de direcci贸n secundaria
postal_codestringS铆C贸digo postal/ZIP
citystringS铆Ciudad
logo_urlstringNoURL del logo
placesPlace[]NoUbicaciones adicionales

Respuesta

Organization

interface Organization {
  urn: string;                           // Nombre 煤nico de recurso
  org_type: 'business' | 'individual';   // Tipo de organizaci贸n
  profile: OrgProfile;                   // Perfil de la organizaci贸n
  metadata?: Record<string, unknown>;    // Metadatos personalizados
  status: OrgStatus;                     // Estado de la organizaci贸n
}

Estado de la Organizaci贸n

EstadoDescripci贸nPuede Transicionar A
awaiting_compliance_verificationPendiente de verificaci贸n de cumplimiento normativoactive, rejected
activeLa organizaci贸n est谩 activasuspended, closed
suspendedLa organizaci贸n est谩 suspendidaactive, closed
closedLa organizaci贸n est谩 cerrada-
stateDiagram-v2
    [*] --> awaiting_compliance_verification
    awaiting_compliance_verification --> active
    awaiting_compliance_verification --> rejected
    active --> suspended
    active --> closed
    suspended --> active
    suspended --> closed
    rejected --> [*]
    closed --> [*]

Organizaciones con M煤ltiples Ubicaciones

Para organizaciones con m煤ltiples ubicaciones, utiliza el campo places:

const params: CreateOrgParams = {
  org_type: 'business',
  profile: {
    legal_name: 'Global Tech Inc',
    tax_id: '98-7654321',
    incorporation_date: '2018-03-10',
    business_type: 'corporation',
    incorporation_country_code: 'US',
    incorporation_state: 'DE',
    address_line1: '789 Corporate Blvd',
    postal_code: '19801',
    city: 'Wilmington',
    places: [
      {
        country_code: 'US',
        state: 'CA',
        address_line1: '100 Silicon Valley Dr',
        postal_code: '94025',
        city: 'Menlo Park',
        is_primary: true,
      },
      {
        country_code: 'US',
        state: 'NY',
        address_line1: '250 Broadway',
        postal_code: '10007',
        city: 'New York',
        is_primary: false,
      },
    ],
  },
};

Metadatos Personalizados

Agrega campos personalizados para rastrear informaci贸n adicional:

const params: CreateOrgParams = {
  org_type: 'business',
  profile: {
    // ... profile fields
  },
  metadata: {
    source: 'api',
    customer_id: 'cust_123',
    plan: 'enterprise',
    referral_code: 'REF2024',
  },
};

Mejores Pr谩cticas

  1. Valida los Datos: Aseg煤rate de que todos los campos requeridos est茅n presentes antes de llamar a la API
  2. Maneja Errores: Siempre usa bloques try-catch
  3. Guarda URNs: Almacena el URN de la organizaci贸n para operaciones futuras
  4. Usa Metadatos: Rastrea contexto adicional usando metadatos
  5. Prueba en Sandbox: Siempre prueba con mode: 'sandbox' primero

Pr贸ximos Pasos