En esta sección
Guías / Aprovisionamiento de cuentas

Aprovisionamiento de cuentas

Crea cuentas de Met desde tu propio producto y cárgales energía, con una API key de partner.

Actualizada el Ver .md

Si integras Met dentro de tu producto, no necesitas que cada cliente se registre a mano: puedes crear su cuenta desde tu backend y dejarla lista para usar. Es el caso "Meteor como servicio".

Está disponible para Tech Partners aprobados, con una API key de partner. Una key de workspace no puede hacerlo: los permisos de esta guía solo existen en keys de partner.

Scopes

ScopePara qué
workspaces:provisionCrear una cuenta nueva con su dueño
workspaces:rechargeCargarle energía a una cuenta que creaste

Los dos son exclusivos de keys de partner y ninguno funciona con una key de prueba (met_test_): las cuentas que se crean son reales y los cobros también.

Crear una cuenta

import Met from '@meteor.ia/sdk';

const met = new Met(process.env.MET_PARTNER_KEY!);

const cuenta = await met.workspaces.create({
  business_name: 'Inmobiliaria Andes',
  owner_email: 'ana@andes.co',
  owner_name: 'Ana Gómez',
  owner_phone: '+573001234567',
  country: 'CO',
});

console.log(cuenta.id, cuenta.operational); // 1234  false
from meteor_ia import Met

met = Met(api_key=os.environ["MET_PARTNER_KEY"])

cuenta = met.workspaces.create(
    business_name="Inmobiliaria Andes",
    owner_email="ana@andes.co",
    owner_name="Ana Gómez",
    owner_phone="+573001234567",
    country="CO",
)

La cuenta nace con el plan Tech Partner: mensual, sin cargo fijo, con la Energía a tarifa premium. Tu cliente puede subir a un plan comercial cuando quiera, y a partir de ahí paga la tarifa de ese plan.

Tres cosas que conviene saber antes

La cuenta nace sin energía

La respuesta trae operational: false y balance_usd: 0. Una cuenta sin energía no puede correr ni un solo turno de Met: el primer mensaje responde que no hay presupuesto.

La energía la paga siempre la cuenta que la consume, así que el paso siguiente es cargarle saldo (más abajo) o pedirle a tu cliente que lo haga. No lo dejes para después del primer mensaje.

Tú no defines la contraseña

No mandas contraseña en la llamada, y no hay forma de hacerlo. Met le envía al dueño un correo con un enlace para que defina la suya. El campo owner.invitation_sent te dice si ese correo salió; si volvió false, tu cliente puede pedirlo de nuevo desde "Olvidé mi contraseña".

Reintentar no duplica

La cabecera Idempotency-Key es obligatoria. El SDK genera una por ti si no la pasas, pero conviene que pases la tuya —el id de tu propio registro, por ejemplo—: así un reintento por timeout de red devuelve la misma cuenta en vez de crear una segunda.

await met.workspaces.create(datos, { idempotencyKey: `alta-${miRegistro.id}` });

Cargar energía

const pago = await met.workspaces.recharge(cuenta.id, 50);
// pago.checkout_url → enlace de pago de Stripe

La recarga no acredita el saldo al instante: devuelve un checkout_url y la energía entra cuando el pago se completa. El mínimo es USD 5.

Solo funciona sobre cuentas que creaste tú. Una cuenta ajena responde 403.

Cupos

Cada nivel de partner tiene un cupo mensual de cuentas nuevas:

NivelCuentas por mes
Bronce100
Plata300
Oro1000

Al agotarse, la creación responde 403 con el cupo, lo que llevas consumido y cuándo se reinicia. El contador vuelve a cero el primer día de cada mes.

Errores

CódigoQué pasó
403 scope_not_allowed_for_ownerEstás usando una key de workspace; esto necesita una key de partner
403 test_mode_restrictedEstás usando una key met_test_; estas operaciones son reales
403 con mensaje de capacidadTu cuenta de partner no tiene la capacidad Tech Partner aprobada
403 con mensaje de cupoSe agotó tu cupo del mes
400Falta la cabecera Idempotency-Key, o algún dato del dueño no es válido

Para el detalle de reintentos e idempotencia, ver Errores e idempotencia.