La API propia de Partners
Además de operar los workspaces de sus clientes (la superficie de meteorus, compartida con las keys de workspace), una key de partner accede a su propio negocio: clientes atribuidos, comisiones y payouts. En el SDK vive bajo el namespace met.partner.*.
Exclusiva de keys de partner. Ningún scope
partner:*se puede emitir en una key de workspace, y el servidor lo re-verifica en cada request. Una key de workspace que intente estas rutas recibe403.
En v1 todo es solo lectura: crear o editar comisiones y payouts desde afuera queda deshabilitado a propósito — son procesos con reconciliación humana. La escritura (leads, proyectos, provisioning) llega más adelante.
Referencia interactiva de met.partner.* → (generada del contrato OpenAPI, con try-it).
Autenticación
Usas la misma key met_* que para el resto del SDK. El SDK enruta automáticamente las llamadas met.partner.* al backend de partners — no tienes que configurar nada.
import Met from '@meteor.ia/sdk';
const met = new Met(process.env.MET_API_KEY!);
// El namespace partner usa el host de partners de forma transparente.
const clientes = await met.partner.clients.list();
Si operas contra un entorno distinto (staging), puedes apuntar el host de partners a mano:
const met = new Met(process.env.MET_API_KEY!, {
partnerBaseUrl: 'https://api.partners.staging.meteor.com.co',
});
Clientes
Lista los clientes (workspaces) atribuidos a tu organización, con su estado, plan y consumo — lo mismo que ves en tu panel. Paginado y con búsqueda.
const page = await met.partner.clients.list({
page: 1,
limit: 50,
search: 'acme', // opcional: filtra por nombre
});
// → { items: [{ workspace_id, status, plan_name, price_usd,
// commission_usd, energy_usd, ... }], pagination }
Cada cliente incluye su plan y estado en Met, la tarifa de comisión del originador y el consumo de Energía del periodo. Nunca verás datos de clientes de otro partner: el tenancy se aplica por el dueño de la key.
Comisiones
Lista tus comisiones. Filtra por estado (PENDING, APPROVED, PAID, CANCELLED).
const comisiones = await met.partner.commissions.list({
status: 'PAID',
page: 1,
limit: 50,
});
Payouts
Lista tus payouts (liquidaciones) y consulta el resumen de tu wallet.
const payouts = await met.partner.payouts.list({ page: 1, limit: 50 });
const wallet = await met.partner.payouts.summary();
// → { pending, approved, paid, scheduled, next_payout, ... }
Scopes
Cada key de partner porta solo los scopes que le asignes al crearla. La superficie read-only de v1 usa:
| Recurso | Método del SDK | Scope |
|---|---|---|
| Clientes atribuidos | met.partner.clients.list() | partner:clients:read |
| Comisiones | met.partner.commissions.list() | partner:commissions:read |
| Payouts | met.partner.payouts.list() · .summary() | partner:payouts:read |
Próximamente
La escritura y las superficies de crecimiento llegan en fases posteriores del plan:
- Leads y oportunidades —
partner:leads:read/write - Proyectos de implementación —
partner:projects:read - Provisioning de workspaces —
workspaces:provision, para partners que dan de alta clientes por API
Los dominios financieros (comisiones, payouts) se mantienen read-only por diseño: su escritura pasa por reconciliación humana.