Ir al contenido

Desarrolladores

Conectores

Liquidaciones de conectores de ingresos (Paddle).

GET /connectors/paddle/payouts

Listar liquidaciones de Paddle

Liquidaciones del conector de ingresos con su desglose (en bruto, como Merchant of Record). Usa `aggregate=month` para obtener totales mensuales.

Permiso exigido: connectors:payouts.read (Conectores › Liquidaciones de pasarelas › Leer)

Paginación: Sin paginación: devuelve el conjunto completo.

Parámetros

NombreEnTipoDescripción
fromquerystring (date)
toquerystring (date)
aggregatequerystringDevuelve totales mensuales en lugar de cada liquidación.
Valores: month

Respuestas

200 Lista de liquidaciones · application/json

NombreTipoDescripción
payoutsobject[]
payouts[].idstring
payouts[].companyIdstring
payouts[].payoutDatestring (date)
payouts[].currencystring
payouts[].grossstringCadena decimal
payouts[].feesstringCadena decimal
payouts[].netstringCadena decimal
payouts[].componentsobject[]
payouts[].components[].typestring
payouts[].components[].amountstringCadena decimal

401 Falta el token Bearer o no es válido. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

403 El token no tiene el permiso exigido o el recurso queda fuera de su alcance. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

429 Se ha alcanzado un límite de uso. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

Ejemplos

curl
curl -X GET "https://app.bm.consulting/api/v1/connectors/paddle/payouts" \
  -H "Authorization: Bearer $BMC_TOKEN"
TypeScript (fetch)
const res = await fetch("https://app.bm.consulting/api/v1/connectors/paddle/payouts", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.BMC_TOKEN}`,
  },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Python (requests)
import os
import requests

res = requests.get(
    "https://app.bm.consulting/api/v1/connectors/paddle/payouts",
    headers={"Authorization": f"Bearer {os.environ['BMC_TOKEN']}"},
    timeout=30,
)
res.raise_for_status()
data = res.json()

POST /connectors/paddle/payouts

Registrar una liquidación de Paddle

Idempotente por `paddlePayoutId`: reenviar la misma liquidación devuelve la existente. `companyId` sale del token.

Permiso exigido: connectors:payouts.create (Conectores › Liquidaciones de pasarelas › Crear)

Paginación: Sin paginación: devuelve el conjunto completo.

Cuerpo de la petición application/json

NombreTipoDescripción
paddlePayoutIdobligatoriostring
payoutDateobligatoriostring (date)
currencyobligatoriostring
componentsobligatorioobject[]
components[].typestring
components[].amountstringCadena decimal

Respuestas

200 Reenvío de una liquidación ya registrada: devuelve la existente

201 Liquidación registrada · application/json

NombreTipoDescripción
idstring
companyIdstring
payoutDatestring (date)
currencystring
grossstringCadena decimal
feesstringCadena decimal
netstringCadena decimal
componentsobject[]
components[].typestring
components[].amountstringCadena decimal

401 Falta el token Bearer o no es válido. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

403 El token no tiene el permiso exigido o el recurso queda fuera de su alcance. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

429 Se ha alcanzado un límite de uso. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

Ejemplos

curl
curl -X POST "https://app.bm.consulting/api/v1/connectors/paddle/payouts" \
  -H "Authorization: Bearer $BMC_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"paddlePayoutId":"string","payoutDate":"2026-01-31","currency":"EUR","components":[{"type":"sale","amount":"string"}]}'
TypeScript (fetch)
const res = await fetch("https://app.bm.consulting/api/v1/connectors/paddle/payouts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BMC_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "paddlePayoutId": "string",
    "payoutDate": "2026-01-31",
    "currency": "EUR",
    "components": [
      {
        "type": "sale",
        "amount": "string"
      }
    ]
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Python (requests)
import os
import requests

res = requests.post(
    "https://app.bm.consulting/api/v1/connectors/paddle/payouts",
    headers={"Authorization": f"Bearer {os.environ['BMC_TOKEN']}"},
    json={
        "paddlePayoutId": "string",
        "payoutDate": "2026-01-31",
        "currency": "EUR",
        "components": [{
            "type": "sale",
            "amount": "string",
        }],
    },
    timeout=30,
)
res.raise_for_status()
data = res.json()

POST /connectors/paddle/payouts/{id}/post

Contabilizar una liquidación de Paddle

Contabiliza la liquidación registrada como asiento (tratamiento en bruto de Merchant of Record). Idempotente.

Permiso exigido: connectors:payouts.post (Conectores › Liquidaciones de pasarelas › Contabilizar)

Paginación: Sin paginación: devuelve el conjunto completo.

Parámetros

NombreEnTipoDescripción
idobligatoriorutastring

Respuestas

200 Liquidación contabilizada (asiento creado)

401 Falta el token Bearer o no es válido. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

403 El token no tiene el permiso exigido o el recurso queda fuera de su alcance. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

404 El recurso no existe o queda fuera del alcance del token. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

429 Se ha alcanzado un límite de uso. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

Ejemplos

curl
curl -X POST "https://app.bm.consulting/api/v1/connectors/paddle/payouts/<id>/post" \
  -H "Authorization: Bearer $BMC_TOKEN"
TypeScript (fetch)
const res = await fetch("https://app.bm.consulting/api/v1/connectors/paddle/payouts/<id>/post", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BMC_TOKEN}`,
  },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Python (requests)
import os
import requests

res = requests.post(
    "https://app.bm.consulting/api/v1/connectors/paddle/payouts/<id>/post",
    headers={"Authorization": f"Bearer {os.environ['BMC_TOKEN']}"},
    timeout=30,
)
res.raise_for_status()
data = res.json()
Email
Contacto