OpenAPI 3.1

Referencia API

Busca una operación y abre sus campos, límites, respuestas y errores. Los contratos se generan desde OpenAPI; los ejemplos usan datos ficticios.

Grupo de recursos

Tiendas

Identidad de la tienda autorizada y fuente de verdad de cada dominio.

GET/vendorsvendors.read

Listar la tienda autorizada

Un PAT válido está vinculado a una sola tienda. La respuesta conserva el formato de lista para futuras autorizaciones multitienda.

Ver contrato y ejemplos

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Tienda vinculada al PAT

Tienda vinculada al PAT

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [
    {
      "id": "vendor_demo_ceramica",
      "name": "Cerámica de ejemplo",
      "slug": "ceramica-de-ejemplo"
    }
  ]
}
Token ausente o no válido

Token ausente o no válido

Solicitud · ejemplo ilustrativo

cURL
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors' \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const url = new URL('https://moku.cl/api/v1/vendors');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php

$url = 'https://moku.cl/api/v1/vendors';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 401 application/problem+json

{
  "type": "https://developers.moku.cl/reference/errors/#unauthenticated",
  "title": "Authentication required",
  "status": 401,
  "code": "UNAUTHENTICATED",
  "detail": "Provide a valid Moku personal access token.",
  "request_id": "req_00000000000000000000000000000002"
}

Respuestas

Respuesta 200

Granted vendors

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres máximos 128
    • namestring obligatorio #
      • Caracteres máximos 500
    • slugstring obligatorio #

      string

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}vendors.read

Consultar una tienda

Devuelve los datos de la tienda autorizada por el token.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Respuestas

Respuesta 200

Vendor summary

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres máximos 128
    • namestring obligatorio #
      • Caracteres máximos 500
    • slugstring obligatorio #

      string

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/authorityconnections.read

Consultar la fuente de verdad

Devuelve quién controla catálogo, precio e inventario por Stock Pool. El origen y fulfillment permanecen fijados en cada pedido.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Autoridad vigente de la tienda

Autoridad vigente de la tienda

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/authority' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/authority');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/authority';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "vendor_id": "vendor_demo_ceramica",
    "catalog_master": {
      "type": "connection",
      "connection_id": "con_demo_woocommerce"
    },
    "base_price_master": {
      "type": "connection",
      "connection_id": "con_demo_woocommerce"
    },
    "inventory_pools": [
      {
        "stock_pool_id": "default",
        "master": {
          "type": "moku",
          "connection_id": null
        }
      }
    ]
  }
}

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • catalog_masterobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • typestring obligatorio #
        • Valores permitidos "moku" · "connection"
      • connection_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

    • base_price_masterobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • typestring obligatorio #
        • Valores permitidos "moku" · "connection"
      • connection_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

    • inventory_poolsarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 1
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • stock_pool_idstring obligatorio #
        • Valores permitidos "default"
      • masterobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • typestring obligatorio #
          • Valores permitidos "moku" · "connection"
        • connection_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
          Regla 2 · null

          null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Productos

Contenido del catálogo, variaciones y estados de publicación.

GET/vendors/{vendor_id}/productsproducts.read

Listar productos

Incluye todos los estados del catálogo con paginación por cursor. Los productos pueden cambiar entre páginas; la lectura no es una foto inmutable.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Primera página de productos

Primera página de productos

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode 'limit=1'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products');
url.searchParams.set('limit', '1');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products';
$query = [
    'limit' => '1',
];
$url .= '?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986);
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [
    {
      "id": "product_demo_tazon",
      "vendor_id": "vendor_demo_ceramica",
      "catalog_status": "active",
      "status": "published",
      "revision": 3,
      "kind": "variable",
      "name": "Tazón de cerámica",
      "slug": "tazon-de-ceramica",
      "description": "Tazón de cerámica hecho a mano.",
      "price": 15000,
      "original_price": null,
      "discount": 0,
      "category": "shopify-hg",
      "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
      "image_urls": [
        "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
      ],
      "badge": null,
      "options": {
        "Color": [
          "Azul"
        ]
      },
      "default_options": {
        "Color": "Azul"
      },
      "variations": [
        {
          "id": "variation_demo_azul",
          "status": "active",
          "options": {
            "Color": "Azul"
          },
          "price": 15000,
          "original_price": null,
          "sku": "TAZ-AZUL",
          "weight_kg": 0.45
        }
      ],
      "features": [
        "Hecho a mano"
      ],
      "related_product_ids": [],
      "tags": [
        "ceramica"
      ],
      "sku": null,
      "weight_kg": 0.4,
      "source_region": "metropolitana",
      "created_at": "2026-08-01T12:00:00.000Z",
      "updated_at": "2026-08-26T09:00:00.000Z",
      "published_at": "2026-08-01T12:00:00.000Z",
      "archived_at": null
    }
  ],
  "page": {
    "next_cursor": "eyJ2IjoxLCJraW5kIjoicHJvZHVjdCIsInZlbmRvcklkIjoidmVuZG9yX2RlbW9fY2VyYW1pY2EiLCJwcm9kdWN0SWQiOiJwcm9kdWN0X2RlbW9fdGF6b24ifQ.KalmHw2-bJJUEJF6PFqDKKyNmWuniEUIYAG3mWI_TM4"
  }
}
Catálogo vacío

Catálogo vacío

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode 'limit=1'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products');
url.searchParams.set('limit', '1');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products';
$query = [
    'limit' => '1',
];
$url .= '?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986);
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [],
  "page": {
    "next_cursor": null
  }
}
Página siguiente de productos

Página siguiente de productos

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode 'limit=1' \
  --data-urlencode 'page_after=eyJ2IjoxLCJraW5kIjoicHJvZHVjdCIsInZlbmRvcklkIjoidmVuZG9yX2RlbW9fY2VyYW1pY2EiLCJwcm9kdWN0SWQiOiJwcm9kdWN0X2RlbW9fdGF6b24ifQ.KalmHw2-bJJUEJF6PFqDKKyNmWuniEUIYAG3mWI_TM4'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products');
url.searchParams.set('limit', '1');
url.searchParams.set('page_after', 'eyJ2IjoxLCJraW5kIjoicHJvZHVjdCIsInZlbmRvcklkIjoidmVuZG9yX2RlbW9fY2VyYW1pY2EiLCJwcm9kdWN0SWQiOiJwcm9kdWN0X2RlbW9fdGF6b24ifQ.KalmHw2-bJJUEJF6PFqDKKyNmWuniEUIYAG3mWI_TM4');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products';
$query = [
    'limit' => '1',
    'page_after' => 'eyJ2IjoxLCJraW5kIjoicHJvZHVjdCIsInZlbmRvcklkIjoidmVuZG9yX2RlbW9fY2VyYW1pY2EiLCJwcm9kdWN0SWQiOiJwcm9kdWN0X2RlbW9fdGF6b24ifQ.KalmHw2-bJJUEJF6PFqDKKyNmWuniEUIYAG3mWI_TM4',
];
$url .= '?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986);
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [
    {
      "id": "product_demo_vaso",
      "vendor_id": "vendor_demo_ceramica",
      "catalog_status": "active",
      "status": "published",
      "revision": 1,
      "kind": "simple",
      "name": "Vaso de greda",
      "slug": "vaso-de-greda",
      "description": "Vaso de greda hecho a mano.",
      "price": 12000,
      "original_price": null,
      "discount": 0,
      "category": "shopify-hg",
      "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
      "image_urls": [
        "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/9737f82749c2e76e531b41e44a75031a1a61c76aa8126e115b52ea6eeef633e0.webp"
      ],
      "badge": null,
      "options": {},
      "default_options": null,
      "variations": [],
      "features": [
        "Hecho a mano"
      ],
      "related_product_ids": [],
      "tags": [
        "ceramica"
      ],
      "sku": "VAS-GREDA",
      "weight_kg": 0.3,
      "source_region": "metropolitana",
      "created_at": "2026-08-01T12:00:00.000Z",
      "updated_at": "2026-08-26T09:00:00.000Z",
      "published_at": "2026-08-01T12:00:00.000Z",
      "archived_at": null
    }
  ],
  "page": {
    "next_cursor": null
  }
}

Respuestas

Respuesta 200

Catalog product page

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/productsproducts.write

Crear un borrador

Asigna IDs de producto y variaciones y crea inventario en cero. Una repetición idéntica con la misma clave recupera el producto durante la retención de 30 días del recibo.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • No se admiten propiedades fuera de las reglas combinadas.

Se deben cumplir todas las reglas:

Regla 1 · object
  • kindstring obligatorio #
    • Valores permitidos "simple" · "variable" · "grouped"
  • namestring obligatorio #
    • Caracteres máximos 120
  • descriptionstring obligatorio #
    • Caracteres máximos 20000
  • priceinteger | null obligatorio #
    • Mínimo 0
    • Máximo 1000000000
  • original_priceinteger | null opcional #

    When present, must be greater than price.

    • Mínimo 1
    • Máximo 1000000000
  • categorystring obligatorio #

    Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • Caracteres máximos 120
  • subcategorystring obligatorio #

    Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • Caracteres máximos 120
  • image_urlsarray<string> obligatorio #

    Only images this store uploaded: send the bytes with PUT /vendors/{vendor_id}/media/{sha256} and use the url it returns. Moku rejects any other URL, including an unchanged one, with a media field error.

    • Elementos máximos 12
    • Elementos únicos
    Ver campos de cada elemento · string
    • Caracteres máximos 2048
    • Formato "uri"
  • optionsobject obligatorio #
    • Claves máximas 8
    Valores de las claves adicionales · array<string>
    • Elementos máximos 50
    • Elementos únicos
    Ver campos de cada elemento · string

    Option values cannot contain commas or line breaks.

    • Caracteres mínimos 1
    • Caracteres máximos 64
    • Patrón "^[^,\\r\\n]+$"
    Reglas para los nombres de claves

    Option names must be single-line so they round-trip through the seller editor.

    • Caracteres máximos 64
    • Patrón "^[^\\r\\n]+$"
  • default_optionsobject | null opcional #
    • Claves máximas 8
    Valores de las claves adicionales · string
    • Caracteres mínimos 1
    • Caracteres máximos 64
    • Patrón "^[^,\\r\\n]+$"
    Reglas para los nombres de claves
    • Caracteres máximos 64
    • Patrón "^[^\\r\\n]+$"
  • featuresarray<string> obligatorio #
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string

    Each feature must be a single line.

    • Caracteres mínimos 1
    • Caracteres máximos 200
    • Patrón "^[^\\r\\n]+$"
  • related_product_idsarray<string> obligatorio #
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string
    • Caracteres mínimos 1
    • Caracteres máximos 128
  • tagsarray<string> opcional #
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string

    Tags cannot contain commas or line breaks.

    • Caracteres mínimos 1
    • Caracteres máximos 64
    • Patrón "^[^,\\r\\n]+$"
  • skustring | null opcional #
    • Caracteres máximos 100
  • weight_kgnumber obligatorio #
    • Mínimo 0
    • Máximo 2500
  • source_regionstring | null opcional #

    string | null

Se deben cumplir todas las reglas:

Regla 1 · cualquier JSON
Reglas condicionales del contrato
{
  "if": {
    "properties": {
      "kind": {
        "const": "grouped"
      }
    },
    "required": [
      "kind"
    ]
  },
  "then": {
    "properties": {
      "price": {
        "type": "null"
      },
      "original_price": {
        "type": "null"
      },
      "variations": {
        "maxItems": 0
      },
      "options": {
        "maxProperties": 0
      }
    }
  },
  "else": {
    "properties": {
      "price": {
        "type": "integer"
      }
    }
  }
}
Regla 2 · object
  • variationsarray<object> opcional #
    • Elementos máximos 100
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • optionsobject obligatorio #
      • Claves máximas 8
      Valores de las claves adicionales · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
      • Patrón "^[^,\\r\\n]+$"
      Reglas para los nombres de claves
      • Caracteres máximos 64
      • Patrón "^[^\\r\\n]+$"
    • priceinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • original_priceinteger | null opcional #

      When present, must be greater than this variation price.

      • Mínimo 1
      • Máximo 1000000000
    • skustring | null opcional #
      • Caracteres máximos 100
    • weight_kgnumber | null opcional #

      Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

      • Mínimo 0
      • Máximo 2500
  • catalog_authority_connection_idstring | null opcional #

    Exact Connection that owns Catalog, or null when Moku owns Catalog.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • base_price_authority_connection_idstring | null opcional #

    Exact Connection that owns base price, or null when Moku owns base price.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • kindstring opcional #
    • Valores permitidos "simple" · "variable"

Se deben cumplir todas las reglas:

Regla 1 · cualquier JSON
Reglas condicionales del contrato
{
  "if": {
    "properties": {
      "kind": {
        "const": "simple"
      }
    },
    "required": [
      "kind"
    ]
  },
  "then": {
    "properties": {
      "options": {
        "maxProperties": 0
      },
      "variations": {
        "maxItems": 0
      }
    }
  }
}
Regla 2 · cualquier JSON
Reglas condicionales del contrato
{
  "if": {
    "properties": {
      "kind": {
        "const": "variable"
      }
    },
    "required": [
      "kind"
    ]
  },
  "then": {
    "properties": {
      "sku": {
        "type": "null"
      }
    }
  }
}

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Crear un borrador con variaciones

Crear un borrador con variaciones

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: demo_product_001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "variable",
  "name": "Tazón nuevo de cerámica",
  "description": "Tazón de cerámica hecho a mano.",
  "price": 15000,
  "original_price": null,
  "category": "shopify-hg",
  "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
  "image_urls": [
    "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
  ],
  "options": {
    "Color": [
      "Azul"
    ]
  },
  "default_options": {
    "Color": "Azul"
  },
  "variations": [
    {
      "options": {
        "Color": "Azul"
      },
      "price": 15000,
      "original_price": null,
      "sku": "TAZ-NUEVO-AZUL"
    }
  ],
  "features": [
    "Hecho a mano"
  ],
  "related_product_ids": [],
  "tags": [
    "ceramica"
  ],
  "sku": null,
  "weight_kg": 0.4,
  "source_region": "metropolitana",
  "catalog_authority_connection_id": "con_demo_woocommerce",
  "base_price_authority_connection_id": "con_demo_woocommerce"
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products');
const body = {
  "kind": "variable",
  "name": "Tazón nuevo de cerámica",
  "description": "Tazón de cerámica hecho a mano.",
  "price": 15000,
  "original_price": null,
  "category": "shopify-hg",
  "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
  "image_urls": [
    "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
  ],
  "options": {
    "Color": [
      "Azul"
    ]
  },
  "default_options": {
    "Color": "Azul"
  },
  "variations": [
    {
      "options": {
        "Color": "Azul"
      },
      "price": 15000,
      "original_price": null,
      "sku": "TAZ-NUEVO-AZUL"
    }
  ],
  "features": [
    "Hecho a mano"
  ],
  "related_product_ids": [],
  "tags": [
    "ceramica"
  ],
  "sku": null,
  "weight_kg": 0.4,
  "source_region": "metropolitana",
  "catalog_authority_connection_id": "con_demo_woocommerce",
  "base_price_authority_connection_id": "con_demo_woocommerce"
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Idempotency-Key': 'demo_product_001',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products';
$body = <<<'MOKU_REQUEST_JSON'
{
  "kind": "variable",
  "name": "Tazón nuevo de cerámica",
  "description": "Tazón de cerámica hecho a mano.",
  "price": 15000,
  "original_price": null,
  "category": "shopify-hg",
  "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
  "image_urls": [
    "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
  ],
  "options": {
    "Color": [
      "Azul"
    ]
  },
  "default_options": {
    "Color": "Azul"
  },
  "variations": [
    {
      "options": {
        "Color": "Azul"
      },
      "price": 15000,
      "original_price": null,
      "sku": "TAZ-NUEVO-AZUL"
    }
  ],
  "features": [
    "Hecho a mano"
  ],
  "related_product_ids": [],
  "tags": [
    "ceramica"
  ],
  "sku": null,
  "weight_kg": 0.4,
  "source_region": "metropolitana",
  "catalog_authority_connection_id": "con_demo_woocommerce",
  "base_price_authority_connection_id": "con_demo_woocommerce"
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Idempotency-Key: demo_product_001',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 201 application/json

{
  "data": {
    "id": "AAECAwQFBgcICQoLDA0ODw",
    "vendor_id": "vendor_demo_ceramica",
    "catalog_status": "active",
    "status": "draft",
    "revision": 1,
    "kind": "variable",
    "name": "Tazón nuevo de cerámica",
    "slug": "tazon-nuevo-de-ceramica-000102030405060708090a0b0c0d0e0f",
    "description": "Tazón de cerámica hecho a mano.",
    "price": 15000,
    "original_price": null,
    "discount": 0,
    "category": "shopify-hg",
    "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
    "image_urls": [
      "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
    ],
    "badge": null,
    "options": {
      "Color": [
        "Azul"
      ]
    },
    "default_options": {
      "Color": "Azul"
    },
    "variations": [
      {
        "id": "variation_demo_azul_nueva",
        "status": "active",
        "options": {
          "Color": "Azul"
        },
        "price": 15000,
        "original_price": null,
        "sku": "TAZ-NUEVO-AZUL",
        "weight_kg": 0.45
      }
    ],
    "features": [
      "Hecho a mano"
    ],
    "related_product_ids": [],
    "tags": [
      "ceramica"
    ],
    "sku": null,
    "weight_kg": 0.4,
    "source_region": "metropolitana",
    "created_at": "2026-08-26T09:04:00.000Z",
    "updated_at": "2026-08-26T09:04:00.000Z",
    "published_at": null,
    "archived_at": null
  }
}

Respuestas

Respuesta 201

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, product revision, lifecycle state, or variation retirement conflicts with the request, or a platform-generated product URL conflicts with an existing URL.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/products/{product_id}products.read

Consultar un producto

Lee su contenido, variaciones, estado y revisión actual antes de modificarlo.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • product_idstring ruta obligatorio

    Opaque product identity returned by the product collection.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Producto y variaciones

Producto y variaciones

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_tazon' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_tazon');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_tazon';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "id": "product_demo_tazon",
    "vendor_id": "vendor_demo_ceramica",
    "catalog_status": "active",
    "status": "published",
    "revision": 3,
    "kind": "variable",
    "name": "Tazón de cerámica",
    "slug": "tazon-de-ceramica",
    "description": "Tazón de cerámica hecho a mano.",
    "price": 15000,
    "original_price": null,
    "discount": 0,
    "category": "shopify-hg",
    "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
    "image_urls": [
      "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
    ],
    "badge": null,
    "options": {
      "Color": [
        "Azul"
      ]
    },
    "default_options": {
      "Color": "Azul"
    },
    "variations": [
      {
        "id": "variation_demo_azul",
        "status": "active",
        "options": {
          "Color": "Azul"
        },
        "price": 15000,
        "original_price": null,
        "sku": "TAZ-AZUL",
        "weight_kg": 0.45
      }
    ],
    "features": [
      "Hecho a mano"
    ],
    "related_product_ids": [],
    "tags": [
      "ceramica"
    ],
    "sku": null,
    "weight_kg": 0.4,
    "source_region": "metropolitana",
    "created_at": "2026-08-01T12:00:00.000Z",
    "updated_at": "2026-08-26T09:00:00.000Z",
    "published_at": "2026-08-01T12:00:00.000Z",
    "archived_at": null
  }
}

Respuestas

Respuesta 200

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PATCH/vendors/{vendor_id}/products/{product_id}products.write

Reemplazar campos editables

Envía el cuerpo editable completo y expected_revision, no un parche parcial ni la respuesta de GET. El tipo de producto y los IDs existentes son inmutables; retirar variaciones exige stock y compromisos en cero.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • product_idstring ruta obligatorio

    Opaque product identity returned by the product collection.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • No se admiten propiedades fuera de las reglas combinadas.

Se deben cumplir todas las reglas:

Regla 1 · object
  • kindstring obligatorio #
    • Valores permitidos "simple" · "variable" · "grouped"
  • namestring obligatorio #
    • Caracteres máximos 120
  • descriptionstring obligatorio #
    • Caracteres máximos 20000
  • priceinteger | null obligatorio #
    • Mínimo 0
    • Máximo 1000000000
  • original_priceinteger | null opcional #

    When present, must be greater than price.

    • Mínimo 1
    • Máximo 1000000000
  • categorystring obligatorio #

    Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • Caracteres máximos 120
  • subcategorystring obligatorio #

    Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • Caracteres máximos 120
  • image_urlsarray<string> obligatorio #

    Only images this store uploaded: send the bytes with PUT /vendors/{vendor_id}/media/{sha256} and use the url it returns. Moku rejects any other URL, including an unchanged one, with a media field error.

    • Elementos máximos 12
    • Elementos únicos
    Ver campos de cada elemento · string
    • Caracteres máximos 2048
    • Formato "uri"
  • optionsobject obligatorio #
    • Claves máximas 8
    Valores de las claves adicionales · array<string>
    • Elementos máximos 50
    • Elementos únicos
    Ver campos de cada elemento · string

    Option values cannot contain commas or line breaks.

    • Caracteres mínimos 1
    • Caracteres máximos 64
    • Patrón "^[^,\\r\\n]+$"
    Reglas para los nombres de claves

    Option names must be single-line so they round-trip through the seller editor.

    • Caracteres máximos 64
    • Patrón "^[^\\r\\n]+$"
  • default_optionsobject | null opcional #
    • Claves máximas 8
    Valores de las claves adicionales · string
    • Caracteres mínimos 1
    • Caracteres máximos 64
    • Patrón "^[^,\\r\\n]+$"
    Reglas para los nombres de claves
    • Caracteres máximos 64
    • Patrón "^[^\\r\\n]+$"
  • featuresarray<string> obligatorio #
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string

    Each feature must be a single line.

    • Caracteres mínimos 1
    • Caracteres máximos 200
    • Patrón "^[^\\r\\n]+$"
  • related_product_idsarray<string> obligatorio #
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string
    • Caracteres mínimos 1
    • Caracteres máximos 128
  • tagsarray<string> opcional #
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string

    Tags cannot contain commas or line breaks.

    • Caracteres mínimos 1
    • Caracteres máximos 64
    • Patrón "^[^,\\r\\n]+$"
  • skustring | null opcional #
    • Caracteres máximos 100
  • weight_kgnumber obligatorio #
    • Mínimo 0
    • Máximo 2500
  • source_regionstring | null opcional #

    string | null

Se deben cumplir todas las reglas:

Regla 1 · cualquier JSON
Reglas condicionales del contrato
{
  "if": {
    "properties": {
      "kind": {
        "const": "grouped"
      }
    },
    "required": [
      "kind"
    ]
  },
  "then": {
    "properties": {
      "price": {
        "type": "null"
      },
      "original_price": {
        "type": "null"
      },
      "variations": {
        "maxItems": 0
      },
      "options": {
        "maxProperties": 0
      }
    }
  },
  "else": {
    "properties": {
      "price": {
        "type": "integer"
      }
    }
  }
}
Regla 2 · object
  • expected_revisioninteger obligatorio #
    • Mínimo 0
  • variationsarray<object> opcional #
    • Elementos máximos 100
    Ver campos de cada elemento · object

    Se debe cumplir exactamente una alternativa:

    Regla 1 · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 128
    • statusstring obligatorio #
      • Valores permitidos "active" · "retired"
    • optionsobject obligatorio #
      • Claves máximas 8
      Valores de las claves adicionales · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
      • Patrón "^[^,\\r\\n]+$"
      Reglas para los nombres de claves
      • Caracteres máximos 64
      • Patrón "^[^\\r\\n]+$"
    • priceinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • original_priceinteger | null opcional #

      When present, must be greater than this variation price.

      • Mínimo 1
      • Máximo 1000000000
    • skustring | null opcional #
      • Caracteres máximos 100
    • weight_kgnumber | null opcional #

      Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

      • Mínimo 0
      • Máximo 2500
    Regla 2 · object
    • Esta regla no permite propiedades adicionales.
    • optionsobject obligatorio #
      • Claves máximas 8
      Valores de las claves adicionales · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
      • Patrón "^[^,\\r\\n]+$"
      Reglas para los nombres de claves
      • Caracteres máximos 64
      • Patrón "^[^\\r\\n]+$"
    • priceinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • original_priceinteger | null opcional #

      When present, must be greater than this variation price.

      • Mínimo 1
      • Máximo 1000000000
    • skustring | null opcional #
      • Caracteres máximos 100
    • weight_kgnumber | null opcional #

      Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

      • Mínimo 0
      • Máximo 2500
  • catalog_authority_connection_idstring | null opcional #

    Exact Connection that owns Catalog, or null when Moku owns Catalog.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • base_price_authority_connection_idstring | null opcional #

    Exact Connection that owns base price, or null when Moku owns base price.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

Se deben cumplir todas las reglas:

Regla 1 · cualquier JSON
Reglas condicionales del contrato
{
  "if": {
    "properties": {
      "kind": {
        "const": "simple"
      }
    },
    "required": [
      "kind"
    ]
  },
  "then": {
    "properties": {
      "variations": {
        "maxItems": 0
      }
    }
  }
}
Regla 2 · cualquier JSON
Reglas condicionales del contrato
{
  "if": {
    "properties": {
      "kind": {
        "const": "variable"
      }
    },
    "required": [
      "kind"
    ]
  },
  "then": {
    "required": [
      "variations"
    ],
    "properties": {
      "sku": {
        "type": "null"
      }
    }
  }
}

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Reemplazar los campos editables del producto

Reemplazar los campos editables del producto

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request PATCH \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_tazon' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "variable",
  "name": "Tazón de cerámica",
  "description": "Tazón de cerámica hecho a mano, esmaltado en azul.",
  "price": 15000,
  "original_price": null,
  "category": "shopify-hg",
  "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
  "image_urls": [
    "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
  ],
  "options": {
    "Color": [
      "Azul"
    ]
  },
  "default_options": {
    "Color": "Azul"
  },
  "variations": [
    {
      "id": "variation_demo_azul",
      "status": "active",
      "options": {
        "Color": "Azul"
      },
      "price": 15000,
      "original_price": null,
      "sku": "TAZ-AZUL",
      "weight_kg": 0.45
    }
  ],
  "features": [
    "Hecho a mano"
  ],
  "related_product_ids": [],
  "tags": [
    "ceramica"
  ],
  "sku": null,
  "weight_kg": 0.4,
  "source_region": "metropolitana",
  "expected_revision": 3,
  "catalog_authority_connection_id": "con_demo_woocommerce",
  "base_price_authority_connection_id": "con_demo_woocommerce"
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_tazon');
const body = {
  "kind": "variable",
  "name": "Tazón de cerámica",
  "description": "Tazón de cerámica hecho a mano, esmaltado en azul.",
  "price": 15000,
  "original_price": null,
  "category": "shopify-hg",
  "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
  "image_urls": [
    "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
  ],
  "options": {
    "Color": [
      "Azul"
    ]
  },
  "default_options": {
    "Color": "Azul"
  },
  "variations": [
    {
      "id": "variation_demo_azul",
      "status": "active",
      "options": {
        "Color": "Azul"
      },
      "price": 15000,
      "original_price": null,
      "sku": "TAZ-AZUL",
      "weight_kg": 0.45
    }
  ],
  "features": [
    "Hecho a mano"
  ],
  "related_product_ids": [],
  "tags": [
    "ceramica"
  ],
  "sku": null,
  "weight_kg": 0.4,
  "source_region": "metropolitana",
  "expected_revision": 3,
  "catalog_authority_connection_id": "con_demo_woocommerce",
  "base_price_authority_connection_id": "con_demo_woocommerce"
};
const response = await fetch(url, {
  method: 'PATCH',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_tazon';
$body = <<<'MOKU_REQUEST_JSON'
{
  "kind": "variable",
  "name": "Tazón de cerámica",
  "description": "Tazón de cerámica hecho a mano, esmaltado en azul.",
  "price": 15000,
  "original_price": null,
  "category": "shopify-hg",
  "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
  "image_urls": [
    "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
  ],
  "options": {
    "Color": [
      "Azul"
    ]
  },
  "default_options": {
    "Color": "Azul"
  },
  "variations": [
    {
      "id": "variation_demo_azul",
      "status": "active",
      "options": {
        "Color": "Azul"
      },
      "price": 15000,
      "original_price": null,
      "sku": "TAZ-AZUL",
      "weight_kg": 0.45
    }
  ],
  "features": [
    "Hecho a mano"
  ],
  "related_product_ids": [],
  "tags": [
    "ceramica"
  ],
  "sku": null,
  "weight_kg": 0.4,
  "source_region": "metropolitana",
  "expected_revision": 3,
  "catalog_authority_connection_id": "con_demo_woocommerce",
  "base_price_authority_connection_id": "con_demo_woocommerce"
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'PATCH',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "id": "product_demo_tazon",
    "vendor_id": "vendor_demo_ceramica",
    "catalog_status": "active",
    "status": "published",
    "revision": 4,
    "kind": "variable",
    "name": "Tazón de cerámica",
    "slug": "tazon-de-ceramica",
    "description": "Tazón de cerámica hecho a mano, esmaltado en azul.",
    "price": 15000,
    "original_price": null,
    "discount": 0,
    "category": "shopify-hg",
    "subcategory": "gid://shopify/TaxonomyCategory/hg-11-10-4",
    "image_urls": [
      "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp"
    ],
    "badge": null,
    "options": {
      "Color": [
        "Azul"
      ]
    },
    "default_options": {
      "Color": "Azul"
    },
    "variations": [
      {
        "id": "variation_demo_azul",
        "status": "active",
        "options": {
          "Color": "Azul"
        },
        "price": 15000,
        "original_price": null,
        "sku": "TAZ-AZUL",
        "weight_kg": 0.45
      }
    ],
    "features": [
      "Hecho a mano"
    ],
    "related_product_ids": [],
    "tags": [
      "ceramica"
    ],
    "sku": null,
    "weight_kg": 0.4,
    "source_region": "metropolitana",
    "created_at": "2026-08-01T12:00:00.000Z",
    "updated_at": "2026-08-26T09:03:00.000Z",
    "published_at": "2026-08-01T12:00:00.000Z",
    "archived_at": null
  }
}

Respuestas

Respuesta 200

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, product revision, lifecycle state, or variation retirement conflicts with the request, or a platform-generated product URL conflicts with an existing URL.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/products/{product_id}/publishproducts.write

Publicar un producto

Pasa un borrador completo a publicado. Repetirlo sobre un producto ya publicado con su revisión actual no lo modifica.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • product_idstring ruta obligatorio

    Opaque product identity returned by the product collection.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

Publish/unpublish controls the Moku Offer and requires the verified Vendor owner grant, independent of Catalog/base-price authority. Archive/restore changes the canonical identity and requires both current source authority bindings.

  • Esta regla no permite propiedades adicionales.
  • expected_revisioninteger obligatorio #
    • Mínimo 0
  • catalog_authority_connection_idstring | null opcional #

    Exact Connection that owns Catalog, or null when Moku owns Catalog.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • base_price_authority_connection_idstring | null opcional #

    Exact Connection that owns base price, or null when Moku owns base price.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Publicar un borrador sin categoría

Publicar un borrador sin categoría

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_borrador/publish' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "expected_revision": 1
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_borrador/publish');
const body = {
  "expected_revision": 1
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/products/product_demo_borrador/publish';
$body = <<<'MOKU_REQUEST_JSON'
{
  "expected_revision": 1
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 400 application/problem+json

{
  "type": "https://developers.moku.cl/reference/errors/#invalid-request",
  "title": "Invalid request",
  "status": 400,
  "code": "INVALID_REQUEST",
  "detail": "The product is not ready to publish.",
  "request_id": "req_00000000000000000000000000000003",
  "errors": [
    {
      "pointer": "/category",
      "code": "required",
      "detail": "Choose a category before publishing."
    }
  ]
}

Respuestas

Respuesta 200

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, product revision, lifecycle state, or variation retirement conflicts with the request, or a platform-generated product URL conflicts with an existing URL.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/products/{product_id}/unpublishproducts.write

Despublicar un producto

Vuelve de publicado a borrador sin archivar ni cambiar inventario. Repetirlo con la revisión vigente de un borrador no lo modifica.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • product_idstring ruta obligatorio

    Opaque product identity returned by the product collection.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

Publish/unpublish controls the Moku Offer and requires the verified Vendor owner grant, independent of Catalog/base-price authority. Archive/restore changes the canonical identity and requires both current source authority bindings.

  • Esta regla no permite propiedades adicionales.
  • expected_revisioninteger obligatorio #
    • Mínimo 0
  • catalog_authority_connection_idstring | null opcional #

    Exact Connection that owns Catalog, or null when Moku owns Catalog.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • base_price_authority_connection_idstring | null opcional #

    Exact Connection that owns base price, or null when Moku owns base price.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

Respuestas

Respuesta 200

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, product revision, lifecycle state, or variation retirement conflicts with the request, or a platform-generated product URL conflicts with an existing URL.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/products/{product_id}/archiveproducts.write

Archivar un producto

Archiva un borrador o producto publicado sin cambiar su inventario. Repetirlo sobre un archivo con la revisión vigente no lo modifica.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • product_idstring ruta obligatorio

    Opaque product identity returned by the product collection.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

Publish/unpublish controls the Moku Offer and requires the verified Vendor owner grant, independent of Catalog/base-price authority. Archive/restore changes the canonical identity and requires both current source authority bindings.

  • Esta regla no permite propiedades adicionales.
  • expected_revisioninteger obligatorio #
    • Mínimo 0
  • catalog_authority_connection_idstring | null opcional #

    Exact Connection that owns Catalog, or null when Moku owns Catalog.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • base_price_authority_connection_idstring | null opcional #

    Exact Connection that owns base price, or null when Moku owns base price.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

Respuestas

Respuesta 200

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, product revision, lifecycle state, or variation retirement conflicts with the request, or a platform-generated product URL conflicts with an existing URL.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/products/{product_id}/restoreproducts.write

Restaurar un producto

Devuelve un producto archivado a borrador, no lo publica ni modifica inventario.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • product_idstring ruta obligatorio

    Opaque product identity returned by the product collection.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

Publish/unpublish controls the Moku Offer and requires the verified Vendor owner grant, independent of Catalog/base-price authority. Archive/restore changes the canonical identity and requires both current source authority bindings.

  • Esta regla no permite propiedades adicionales.
  • expected_revisioninteger obligatorio #
    • Mínimo 0
  • catalog_authority_connection_idstring | null opcional #

    Exact Connection that owns Catalog, or null when Moku owns Catalog.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • base_price_authority_connection_idstring | null opcional #

    Exact Connection that owns base price, or null when Moku owns base price.

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

Respuestas

Respuesta 200

Current catalog product

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • statusstring obligatorio #

      Moku Offer publication state. Draft products remain available to private channel synchronization; archived retires the canonical identity.

      • Valores permitidos "draft" · "published" · "archived"
    • revisioninteger obligatorio #
      • Mínimo 0
    • kindstring obligatorio #
      • Valores permitidos "simple" · "variable" · "grouped" · "external"
    • namestring obligatorio #

      string

    • slugstring obligatorio #

      string

    • descriptionstring obligatorio #

      string

    • priceinteger | null obligatorio #
      • Mínimo 0
    • original_priceinteger | null obligatorio #

      Null or a value greater than price.

      • Mínimo 1
    • discountinteger obligatorio #
      • Mínimo 0
      • Máximo 100
    • categorystring obligatorio #

      Moku taxonomy root key, shopify-<root> (for example shopify-aa). Drafts may leave it empty; publication requires an existing root.

    • subcategorystring obligatorio #

      Moku taxonomy category ID (gid://shopify/TaxonomyCategory/...). Drafts may leave it empty; publication requires the category root itself or an existing descendant under it.

    • image_urlsarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Formato "uri"
    • badgestring | null obligatorio #
      • Valores permitidos "sale" · "new" · null
    • optionsobject obligatorio #
      Valores de las claves adicionales · array<string>
      Ver campos de cada elemento · string

      string

    • default_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

    • variationsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "active" · "retired"
      • optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • priceinteger | null obligatorio #
        • Mínimo 0
      • original_priceinteger | null obligatorio #

        Null or a value greater than this variation price.

        • Mínimo 1
      • skustring | null obligatorio #

        string | null

      • stock_poolstring opcional #
        • Valores permitidos "product" · "variant" · "untracked"
      • weight_kgnumber | null obligatorio #

        Own shipping weight in kilograms. Null inherits the product weight_kg, as a WooCommerce variation does.

        • Mínimo 0
        • Máximo 2500
    • featuresarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • related_product_idsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • tagsarray<string> obligatorio #
      Ver campos de cada elemento · string

      string

    • skustring | null obligatorio #

      string | null

    • weight_kgnumber obligatorio #
      • Mínimo 0
    • source_regionstring | null obligatorio #

      string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • published_atstring | null obligatorio #
      • Formato "date-time"
    • archived_atstring | null obligatorio #
      • Formato "date-time"
    • catalog_statusstring obligatorio #

      Canonical Product availability. Active includes privately synchronized products whose Moku Offer remains draft. Derived only from validated schema-2 lifecycle; archiving retires the shared identity.

      • Valores permitidos "active" · "archived"
    • inventory_modestring opcional #
      • Valores permitidos "per_variant" · "shared" · "untracked"
    • grouped_product_idsarray<string> opcional #
      • Elementos máximos 100
      Ver campos de cada elemento · string

      string

    • external_urlstring | null opcional #
      • Caracteres máximos 2048
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, product revision, lifecycle state, or variation retirement conflicts with the request, or a platform-generated product URL conflicts with an existing URL.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PUT/vendors/{vendor_id}/media/{sha256}products.write

Cargar una imagen de producto

Envía bytes de imagen con su SHA-256. Moku publica una copia WebP sin metadatos, con límites por imagen y por tienda.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • sha256string ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · image/jpeg string

Raw image bytes, at most 2097152 bytes (2 MiB).

  • Formato "binary"
Campos del cuerpo · image/png string

Raw image bytes, at most 2097152 bytes (2 MiB).

  • Formato "binary"
Campos del cuerpo · image/webp string

Raw image bytes, at most 2097152 bytes (2 MiB).

  • Formato "binary"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      SHA-256 of the original uploaded bytes, not the re-encoded image.

      • Patrón "^[a-f0-9]{64}$"
    • urlstring obligatorio #

      Immutable public URL in the Moku marketplace media bucket.

      • Formato "uri"
    • content_typestring obligatorio #
      • Valor exacto "image/webp"
    • size_bytesinteger obligatorio #
      • Mínimo 1
      • Máximo 2097152
    • widthinteger obligatorio #
      • Mínimo 1
      • Máximo 16000000
    • heightinteger obligatorio #
      • Mínimo 1
      • Máximo 16000000
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

413 · Respuesta declarada

MEDIA_TOO_LARGE: uploaded or sanitized image exceeds 2 MiB.

application/problem+json · Problem

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PUT/vendors/{vendor_id}/woocommerce/catalog-media/{sha256}discovery.write

Cargar una imagen privada de WooCommerce

Envía bytes de imagen y su SHA-256 con la credencial y las generaciones de la conexión vigente. Moku conserva una copia WebP privada; la carga no publica el producto ni activa la sincronización.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • sha256string ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"
  • expected_account_generationinteger consulta obligatorio
    • Mínimo 1
    • Máximo 9007199254740991
  • expected_credential_generationinteger consulta obligatorio
    • Mínimo 1
    • Máximo 9007199254740991

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · image/jpeg string

Raw image bytes, at most 2097152 bytes (2 MiB).

  • Formato "binary"
Campos del cuerpo · image/png string

Raw image bytes, at most 2097152 bytes (2 MiB).

  • Formato "binary"
Campos del cuerpo · image/webp string

Raw image bytes, at most 2097152 bytes (2 MiB).

  • Formato "binary"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • digeststring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • widthinteger obligatorio #
      • Mínimo 1
    • heightinteger obligatorio #
      • Mínimo 1
    • size_bytesinteger obligatorio #
      • Mínimo 1
      • Máximo 2097152
    • content_typestring obligatorio #
      • Valor exacto "image/webp"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

413 · Respuesta declarada

MEDIA_TOO_LARGE: uploaded or sanitized image exceeds 2 MiB.

application/problem+json · Problem

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/woocommerce/source-mediadiscovery.read

Consultar imágenes pendientes de importación

Obtén un producto de origen pendiente con las imágenes de su galería y variantes. Cada nueva observación exige volver a calcular el hash de los archivos locales, aunque sus identificadores no cambien.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • expected_account_generationinteger consulta obligatorio
    • Mínimo 1
    • Máximo 9007199254740991
  • expected_credential_generationinteger consulta obligatorio
    • Mínimo 1
    • Máximo 9007199254740991
  • afterstring consulta opcional
    • Patrón "^[1-9][0-9]{0,15}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    • Elementos máximos 1
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • external_item_idstring obligatorio #
      • Patrón "^[1-9][0-9]{0,15}$"
    • snapshotstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • imagesarray<object> obligatorio #
      • Elementos máximos 2100
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • variant_native_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[1-9][0-9]{0,15}$"
        Regla 2 · null

        null

      • native_idstring obligatorio #
        • Patrón "^[1-9][0-9]{0,15}$"
      • positioninteger obligatorio #
        • Mínimo 0
      • digeststring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[a-f0-9]{64}$"
        Regla 2 · null

        null

  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[1-9][0-9]{0,15}$"
      Regla 2 · null

      null

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

413 · Respuesta declarada

MEDIA_TOO_LARGE: uploaded or sanitized image exceeds 2 MiB.

application/problem+json · Problem

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/source-media/{item_id}discovery.write

Vincular imágenes al catálogo importado

Asocia hasta 25 imágenes privadas ya cargadas a la versión exacta del producto de origen. Conserva la misma clave de idempotencia al reintentar. También permite informar un archivo inválido o una cuota agotada; un fallo de transporte no es un rechazo definitivo.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • item_idstring ruta obligatorio
    • Patrón "^[1-9][0-9]{0,15}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

Se debe cumplir exactamente una alternativa:

Regla 1 · object
  • Esta regla no permite propiedades adicionales.
  • expected_account_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740991
  • expected_credential_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740991
  • snapshotstring obligatorio #
    • Patrón "^[a-f0-9]{64}$"
  • attachmentsarray<object> obligatorio #
    • Elementos máximos 25
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • variant_native_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[1-9][0-9]{0,15}$"
      Regla 2 · null

      null

    • native_idstring obligatorio #
      • Patrón "^[1-9][0-9]{0,15}$"
    • positioninteger obligatorio #
      • Mínimo 0
    • digeststring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
Regla 2 · object
  • Esta regla no permite propiedades adicionales.
  • expected_account_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740991
  • expected_credential_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740991
  • snapshotstring obligatorio #
    • Patrón "^[a-f0-9]{64}$"
  • failureobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • variant_native_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[1-9][0-9]{0,15}$"
      Regla 2 · null

      null

    • native_idstring obligatorio #
      • Patrón "^[1-9][0-9]{0,15}$"
    • positioninteger obligatorio #
      • Mínimo 0
    • codestring obligatorio #
      • Valores permitidos "INVALID_MEDIA" · "MEDIA_QUOTA_EXCEEDED"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • external_item_idstring obligatorio #
      • Patrón "^[1-9][0-9]{0,15}$"
    • snapshotstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • media_statestring obligatorio #
      • Valores permitidos "pending" · "ready" · "failed"
    • media_error_codecualquier JSON obligatorio #
      • Valores permitidos "INVALID_MEDIA" · "MEDIA_QUOTA_EXCEEDED" · null

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

413 · Respuesta declarada

MEDIA_TOO_LARGE: uploaded or sanitized image exceeds 2 MiB.

application/problem+json · Problem

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Inventario

Stock físico, reservas y cantidades disponibles para vender.

GET/vendors/{vendor_id}/inventory-itemsinventory.read

Listar items de inventario

Recorre identidades de stock por producto y variación con limit y page_after. No acepta filtro product_id; compara los IDs en tu integración.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Inventario de la tienda

Inventario de la tienda

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode 'limit=50'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items');
url.searchParams.set('limit', '50');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items';
$query = [
    'limit' => '50',
];
$url .= '?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986);
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [
    {
      "id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
      "vendor_id": "vendor_demo_ceramica",
      "location_id": "default",
      "stock_pool_id": "default",
      "product_id": "product_demo_tazon",
      "product_name": "Tazón de cerámica",
      "product_image_url": "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp",
      "variation_id": "variation_demo_azul",
      "variation_options": {
        "Color": "Azul"
      },
      "sku": "TAZ-AZUL",
      "on_hand": 10,
      "reserved": 2,
      "available": 8,
      "version": 7,
      "status": "low_stock"
    },
    {
      "id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
      "vendor_id": "vendor_demo_ceramica",
      "location_id": "default",
      "stock_pool_id": "default",
      "product_id": "product_demo_vaso",
      "product_name": "Vaso de greda",
      "product_image_url": "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/9737f82749c2e76e531b41e44a75031a1a61c76aa8126e115b52ea6eeef633e0.webp",
      "variation_id": null,
      "variation_options": {},
      "sku": "VAS-GREDA",
      "on_hand": 4,
      "reserved": 0,
      "available": 4,
      "version": 1,
      "status": "low_stock"
    }
  ],
  "page": {
    "next_cursor": null
  }
}

Respuestas

Respuesta 200

Inventory page

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      Opaque inventory identity.

    • vendor_idstring obligatorio #

      string

    • location_idstring obligatorio #

      Vendor-scoped Inventory Location. The single explicit default location is an accounting identity, not a warehouse-management feature. It does not change the opaque item ID. Other locations and allocation are not supported yet.

      • Valor exacto "default"
    • stock_pool_idstring obligatorio #

      Logical sellable Stock Pool. The first Commerce OS generation exposes one default pool without changing the opaque Inventory Item ID.

      • Valor exacto "default"
    • product_idstring obligatorio #

      string

    • product_namestring obligatorio #

      string

    • product_image_urlstring | null obligatorio #
      • Formato "uri"
    • variation_idstring | null obligatorio #

      string | null

    • variation_optionsobject obligatorio #
      Valores de las claves adicionales · string

      string

    • skustring | null obligatorio #

      string | null

    • on_handinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • reservedinteger obligatorio #
      • Mínimo 0
    • availableinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • statusstring obligatorio #
      • Valores permitidos "in_stock" · "low_stock" · "out_of_stock"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/inventory-items/{inventory_item_id}inventory.read

Consultar stock y versión

Lee stock físico, reservado, disponible y versión. Actualiza esta lectura después de un conflicto de escritura.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • inventory_item_idstring ruta obligatorio

    Opaque, stable inventory identity. Persist this value instead of interpreting it.

    • Caracteres mínimos 1
    • Caracteres máximos 1000

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Stock y versión del item

Stock y versión del item

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
    "vendor_id": "vendor_demo_ceramica",
    "location_id": "default",
    "stock_pool_id": "default",
    "product_id": "product_demo_tazon",
    "product_name": "Tazón de cerámica",
    "product_image_url": "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp",
    "variation_id": "variation_demo_azul",
    "variation_options": {
      "Color": "Azul"
    },
    "sku": "TAZ-AZUL",
    "on_hand": 10,
    "reserved": 2,
    "available": 8,
    "version": 7,
    "status": "low_stock"
  }
}

Respuestas

Respuesta 200

Current inventory item

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      Opaque inventory identity.

    • vendor_idstring obligatorio #

      string

    • location_idstring obligatorio #

      Vendor-scoped Inventory Location. The single explicit default location is an accounting identity, not a warehouse-management feature. It does not change the opaque item ID. Other locations and allocation are not supported yet.

      • Valor exacto "default"
    • stock_pool_idstring obligatorio #

      Logical sellable Stock Pool. The first Commerce OS generation exposes one default pool without changing the opaque Inventory Item ID.

      • Valor exacto "default"
    • product_idstring obligatorio #

      string

    • product_namestring obligatorio #

      string

    • product_image_urlstring | null obligatorio #
      • Formato "uri"
    • variation_idstring | null obligatorio #

      string | null

    • variation_optionsobject obligatorio #
      Valores de las claves adicionales · string

      string

    • skustring | null obligatorio #

      string | null

    • on_handinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • reservedinteger obligatorio #
      • Mínimo 0
    • availableinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • statusstring obligatorio #
      • Valores permitidos "in_stock" · "low_stock" · "out_of_stock"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/inventory-items/{inventory_item_id}/adjustmentsinventory.write

Establecer stock físico

Fija on_hand sin sobrescribir reservas. Requiere expected_version e Idempotency-Key; una repetición idéntica devuelve el resultado original durante 30 días.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • inventory_item_idstring ruta obligatorio

    Opaque, stable inventory identity. Persist this value instead of interpreting it.

    • Caracteres mínimos 1
    • Caracteres máximos 1000
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • target_on_handinteger obligatorio #
    • Mínimo 0
    • Máximo 1000000000
  • expected_versioninteger obligatorio #
    • Mínimo 0
  • authority_connection_idstring | null opcional #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Ajustar stock físico de forma idempotente

Ajustar stock físico de forma idempotente

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0/adjustments' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: demo_stock_001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "target_on_hand": 8,
  "expected_version": 7
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0/adjustments');
const body = {
  "target_on_hand": 8,
  "expected_version": 7
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Idempotency-Key': 'demo_stock_001',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0/adjustments';
$body = <<<'MOKU_REQUEST_JSON'
{
  "target_on_hand": 8,
  "expected_version": 7
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Idempotency-Key: demo_stock_001',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
    "vendor_id": "vendor_demo_ceramica",
    "location_id": "default",
    "stock_pool_id": "default",
    "product_id": "product_demo_tazon",
    "product_name": "Tazón de cerámica",
    "product_image_url": "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp",
    "variation_id": "variation_demo_azul",
    "variation_options": {
      "Color": "Azul"
    },
    "sku": "TAZ-AZUL",
    "on_hand": 8,
    "reserved": 2,
    "available": 6,
    "version": 8,
    "status": "low_stock"
  }
}
Conflicto por una versión antigua

Conflicto por una versión antigua

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0/adjustments' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: demo_stock_002' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "target_on_hand": 9,
  "expected_version": 7
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0/adjustments');
const body = {
  "target_on_hand": 9,
  "expected_version": 7
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Idempotency-Key': 'demo_stock_002',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/inventory-items/WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0/adjustments';
$body = <<<'MOKU_REQUEST_JSON'
{
  "target_on_hand": 9,
  "expected_version": 7
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Idempotency-Key: demo_stock_002',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 409 application/problem+json

{
  "type": "https://developers.moku.cl/reference/errors/#inventory-version-conflict",
  "title": "Inventory version conflict",
  "status": 409,
  "code": "INVENTORY_VERSION_CONFLICT",
  "detail": "Inventory changed; retrieve the item and retry with a new idempotency key.",
  "request_id": "req_00000000000000000000000000000001"
}

Respuestas

Respuesta 200

Updated or replayed inventory item

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      Opaque inventory identity.

    • vendor_idstring obligatorio #

      string

    • location_idstring obligatorio #

      Vendor-scoped Inventory Location. The single explicit default location is an accounting identity, not a warehouse-management feature. It does not change the opaque item ID. Other locations and allocation are not supported yet.

      • Valor exacto "default"
    • stock_pool_idstring obligatorio #

      Logical sellable Stock Pool. The first Commerce OS generation exposes one default pool without changing the opaque Inventory Item ID.

      • Valor exacto "default"
    • product_idstring obligatorio #

      string

    • product_namestring obligatorio #

      string

    • product_image_urlstring | null obligatorio #
      • Formato "uri"
    • variation_idstring | null obligatorio #

      string | null

    • variation_optionsobject obligatorio #
      Valores de las claves adicionales · string

      string

    • skustring | null obligatorio #

      string | null

    • on_handinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • reservedinteger obligatorio #
      • Mínimo 0
    • availableinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • statusstring obligatorio #
      • Valores permitidos "in_stock" · "low_stock" · "out_of_stock"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The idempotency key, version, or reservation floor conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Conexiones

Canales externos, estado de la integración y perfiles de autoridad.

GET/vendors/{vendor_id}/connectionsconnections.read

Listar conexiones

Consulta canales registrados, cuentas externas, estado y roles por dominio.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Conexiones existentes

Conexiones existentes

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/connections' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode 'limit=50'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/connections');
url.searchParams.set('limit', '50');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/connections';
$query = [
    'limit' => '50',
];
$url .= '?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986);
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [
    {
      "id": "con_demo_woocommerce",
      "vendor_id": "vendor_demo_ceramica",
      "provider": "woocommerce",
      "external_account_id": "https://tienda.example.com",
      "display_name": "WooCommerce de ejemplo",
      "status": "active",
      "roles": {
        "catalog": "source",
        "base_price": "source",
        "inventory": "destination",
        "order_ingress": "enabled",
        "external_order_fulfillment": "moku"
      },
      "health": {
        "state": "unknown",
        "last_observed_at": null,
        "last_success_at": null,
        "blockers": []
      },
      "active_listing_count": 1,
      "active_reservation_count": 0,
      "unresolved_external_order_count": 0,
      "active_channel_fulfillment_count": 0,
      "version": 2,
      "created_at": "2026-08-26T09:00:00.000Z",
      "updated_at": "2026-08-26T09:01:00.000Z"
    }
  ],
  "page": {
    "next_cursor": null
  }
}

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/connectionsconnections.write

Crear una conexión

Registra un canal y asigna sus roles por dominio. Ceder inventario al canal exige que no haya reservas Moku ni operaciones sin resolver.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • providerstring obligatorio #
    • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
  • external_account_idstring obligatorio #

    Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

    • Caracteres mínimos 1
    • Caracteres máximos 256
    • Máximo de bytes UTF-8 256
  • display_namestring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 120
  • rolesobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • catalogstring obligatorio #
      • Valores permitidos "source" · "destination" · "disabled"
    • base_pricestring obligatorio #
      • Valores permitidos "source" · "destination" · "disabled"
    • inventorystring obligatorio #
      • Valores permitidos "source" · "destination" · "disabled"
    • order_ingressstring obligatorio #
      • Valores permitidos "enabled" · "disabled"
    • external_order_fulfillmentstring obligatorio #
      • Valores permitidos "moku" · "channel"

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Crear una conexión con autoridad híbrida

Crear una conexión con autoridad híbrida

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/connections' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: demo_connection_001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "provider": "woocommerce",
  "external_account_id": "https://tienda.example.com",
  "display_name": "WooCommerce de ejemplo",
  "roles": {
    "catalog": "source",
    "base_price": "source",
    "inventory": "destination",
    "order_ingress": "enabled",
    "external_order_fulfillment": "moku"
  }
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/connections');
const body = {
  "provider": "woocommerce",
  "external_account_id": "https://tienda.example.com",
  "display_name": "WooCommerce de ejemplo",
  "roles": {
    "catalog": "source",
    "base_price": "source",
    "inventory": "destination",
    "order_ingress": "enabled",
    "external_order_fulfillment": "moku"
  }
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Idempotency-Key': 'demo_connection_001',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/connections';
$body = <<<'MOKU_REQUEST_JSON'
{
  "provider": "woocommerce",
  "external_account_id": "https://tienda.example.com",
  "display_name": "WooCommerce de ejemplo",
  "roles": {
    "catalog": "source",
    "base_price": "source",
    "inventory": "destination",
    "order_ingress": "enabled",
    "external_order_fulfillment": "moku"
  }
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Idempotency-Key: demo_connection_001',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 201 application/json

{
  "data": {
    "id": "con_demo_woocommerce",
    "vendor_id": "vendor_demo_ceramica",
    "provider": "woocommerce",
    "external_account_id": "https://tienda.example.com",
    "display_name": "WooCommerce de ejemplo",
    "status": "active",
    "roles": {
      "catalog": "source",
      "base_price": "source",
      "inventory": "destination",
      "order_ingress": "enabled",
      "external_order_fulfillment": "moku"
    },
    "health": {
      "state": "unknown",
      "last_observed_at": null,
      "last_success_at": null,
      "blockers": []
    },
    "active_listing_count": 0,
    "active_reservation_count": 0,
    "unresolved_external_order_count": 0,
    "active_channel_fulfillment_count": 0,
    "version": 1,
    "created_at": "2026-08-26T09:00:00.000Z",
    "updated_at": "2026-08-26T09:00:00.000Z"
  }
}

Respuestas

Respuesta 201

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/connections/{connection_id}connections.read

Consultar una conexión

Obtén los roles, estado, versión y contadores actuales de una conexión.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PATCH/vendors/{vendor_id}/connections/{connection_id}connections.write

Renombrar, pausar o reanudar

Actualiza nombre y estado con expected_version. Pausar no cambia automáticamente la fuente de verdad.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • display_namestring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 120
  • statusstring obligatorio #
    • Valores permitidos "active" · "paused"
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PUT/vendors/{vendor_id}/connections/{connection_id}/rolesconnections.write

Cambiar los roles de la conexión

Exige terminar listings activos y resolver reservas, pedidos y preparación del canal, además de los compromisos Moku de la tienda.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • rolesobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • catalogstring obligatorio #
      • Valores permitidos "source" · "destination" · "disabled"
    • base_pricestring obligatorio #
      • Valores permitidos "source" · "destination" · "disabled"
    • inventorystring obligatorio #
      • Valores permitidos "source" · "destination" · "disabled"
    • order_ingressstring obligatorio #
      • Valores permitidos "enabled" · "disabled"
    • external_order_fulfillmentstring obligatorio #
      • Valores permitidos "moku" · "channel"
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/connections/{connection_id}/disconnectconnections.write

Desconectar una conexión

Desconecta una integración ya conciliada usando su versión actual. No lo uses para eludir operaciones pendientes.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/connections/{connection_id}/reconnectconnections.write

Reconectar una integración

Reactiva una conexión desconectada y reclama únicamente los dominios fuente aún disponibles de sus roles guardados.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • providerstring obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre" · "falabella" · "paris" · "ripley" · "walmart_chile"
    • external_account_idstring obligatorio #

      Trimmed opaque channel account identifier, limited to 256 UTF-8 bytes.

      • Caracteres mínimos 1
      • Caracteres máximos 256
      • Máximo de bytes UTF-8 256
    • display_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
    • statusstring obligatorio #
      • Valores permitidos "active" · "paused" · "disconnected"
    • rolesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • base_pricestring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • inventorystring obligatorio #
        • Valores permitidos "source" · "destination" · "disabled"
      • order_ingressstring obligatorio #
        • Valores permitidos "enabled" · "disabled"
      • external_order_fulfillmentstring obligatorio #
        • Valores permitidos "moku" · "channel"
    • healthobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unknown" · "healthy" · "degraded" · "blocked"
      • last_observed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_success_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • blockersarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • active_listing_countinteger obligatorio #
      • Mínimo 0
    • active_reservation_countinteger obligatorio #
      • Mínimo 0
    • unresolved_external_order_countinteger obligatorio #
      • Mínimo 0
    • active_channel_fulfillment_countinteger obligatorio #
      • Mínimo 0
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Mapeos de publicaciones

Relaciones estables entre publicaciones externas, productos e inventario Moku.

GET/vendors/{vendor_id}/channel-listingslistings.read

Listar mapeos de publicaciones

Recorre los mapeos de toda la tienda y sus IDs de conexión, producto, variación e inventario.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Mapeos existentes

Mapeos existentes

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/channel-listings' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode 'limit=50'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/channel-listings');
url.searchParams.set('limit', '50');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/channel-listings';
$query = [
    'limit' => '50',
];
$url .= '?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986);
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": [
    {
      "id": "lst_demo_tazon_azul",
      "vendor_id": "vendor_demo_ceramica",
      "connection_id": "con_demo_woocommerce",
      "product_id": "product_demo_tazon",
      "variation_id": "variation_demo_azul",
      "external_listing_id": "101:102",
      "external_product_id": "101",
      "external_variation_id": "102",
      "external_sku": "TAZ-AZUL",
      "state": "active",
      "source_revision": "2026-08-26T09:00:00Z",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
      "version": 1,
      "created_at": "2026-08-26T09:01:00.000Z",
      "updated_at": "2026-08-26T09:01:00.000Z"
    }
  ],
  "page": {
    "next_cursor": null
  }
}

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • inventory_item_idstring obligatorio #

      Opaque inventory identity. Persist this value instead of interpreting or constructing it.

      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • external_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
      Regla 2 · null

      null

    • external_skustring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "active" · "paused" · "ended"
    • source_revisionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/channel-listingslistings.write

Crear un mapeo de publicación

Relaciona una publicación externa con un producto o variación existente y devuelve su inventory_item_id. No publica el producto en el canal externo.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • product_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • variation_idstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • external_listing_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:/-]+$"
  • external_product_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:/-]+$"
  • external_variation_idstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:/-]+$"
    Regla 2 · null

    null

  • external_skustring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres máximos 160
    Regla 2 · null

    null

  • statestring obligatorio #
    • Valores permitidos "active" · "paused"
  • source_revisionstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres máximos 160
    Regla 2 · null

    null

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Vincular una variación a un listing

Vincular una variación a un listing

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/channel-listings' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: demo_listing_001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "connection_id": "con_demo_woocommerce",
  "product_id": "product_demo_tazon",
  "variation_id": "variation_demo_azul",
  "external_listing_id": "101:102",
  "external_product_id": "101",
  "external_variation_id": "102",
  "external_sku": "TAZ-AZUL",
  "state": "active",
  "source_revision": "2026-08-26T09:00:00Z"
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/channel-listings');
const body = {
  "connection_id": "con_demo_woocommerce",
  "product_id": "product_demo_tazon",
  "variation_id": "variation_demo_azul",
  "external_listing_id": "101:102",
  "external_product_id": "101",
  "external_variation_id": "102",
  "external_sku": "TAZ-AZUL",
  "state": "active",
  "source_revision": "2026-08-26T09:00:00Z"
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Idempotency-Key': 'demo_listing_001',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/channel-listings';
$body = <<<'MOKU_REQUEST_JSON'
{
  "connection_id": "con_demo_woocommerce",
  "product_id": "product_demo_tazon",
  "variation_id": "variation_demo_azul",
  "external_listing_id": "101:102",
  "external_product_id": "101",
  "external_variation_id": "102",
  "external_sku": "TAZ-AZUL",
  "state": "active",
  "source_revision": "2026-08-26T09:00:00Z"
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Idempotency-Key: demo_listing_001',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 201 application/json

{
  "data": {
    "id": "lst_demo_tazon_azul",
    "vendor_id": "vendor_demo_ceramica",
    "connection_id": "con_demo_woocommerce",
    "product_id": "product_demo_tazon",
    "variation_id": "variation_demo_azul",
    "external_listing_id": "101:102",
    "external_product_id": "101",
    "external_variation_id": "102",
    "external_sku": "TAZ-AZUL",
    "state": "active",
    "source_revision": "2026-08-26T09:00:00Z",
    "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
    "version": 1,
    "created_at": "2026-08-26T09:01:00.000Z",
    "updated_at": "2026-08-26T09:01:00.000Z"
  }
}

Respuestas

Respuesta 201

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • inventory_item_idstring obligatorio #

      Opaque inventory identity. Persist this value instead of interpreting or constructing it.

      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • external_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
      Regla 2 · null

      null

    • external_skustring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "active" · "paused" · "ended"
    • source_revisionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/channel-listings/{listing_id}listings.read

Consultar un mapeo

Obtén las identidades de ambos sistemas, estado y versión de una publicación mapeada.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • listing_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • inventory_item_idstring obligatorio #

      Opaque inventory identity. Persist this value instead of interpreting or constructing it.

      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • external_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
      Regla 2 · null

      null

    • external_skustring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "active" · "paused" · "ended"
    • source_revisionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PATCH/vendors/{vendor_id}/channel-listings/{listing_id}listings.write

Actualizar estado o revisión fuente

Actualiza el estado o la revisión de origen de un mapeo existente con control de versión.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • listing_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • statestring obligatorio #
    • Valores permitidos "active" · "paused" · "ended"
  • external_skustring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres máximos 160
    Regla 2 · null

    null

  • source_revisionstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres máximos 160
    Regla 2 · null

    null

  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • inventory_item_idstring obligatorio #

      Opaque inventory identity. Persist this value instead of interpreting or constructing it.

      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • external_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • external_variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
      Regla 2 · null

      null

    • external_skustring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "active" · "paused" · "ended"
    • source_revisionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 160
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/connections/{connection_id}/pricinglistings.read

Revisar precios por canal

Recorre todas las publicaciones vinculadas con la misma revisión de precios. Cada página muestra referencias, precios observados, reglas y bloqueos; la vista previa no autoriza escrituras remotas.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • limitinteger consulta opcional
    • Mínimo 1
    • Máximo 100
  • page_afterstring consulta opcional
    • Caracteres máximos 160
  • pricing_revisioninteger consulta opcional
    • Mínimo 0
    • Máximo 9007199254740991

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • connection_idstring obligatorio #

      string

    • pricing_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740991
    • policyobject obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • modestring obligatorio #
        • Valor exacto "keep_native"
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • modestring obligatorio #
        • Valor exacto "managed"
      • adjustment_basis_pointsinteger obligatorio #
        • Mínimo -10000
        • Máximo 100000
      • fixed_clpinteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
    • itemsarray<object> obligatorio #
      • Elementos máximos 100
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • listing_idstring obligatorio #

        string

      • connection_idstring obligatorio #

        string

      • listing_versioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740991
      • product_idstring obligatorio #

        string

      • variation_idstring | null obligatorio #

        string | null

      • external_listing_idstring obligatorio #

        string

      • external_product_idstring obligatorio #

        string

      • external_variation_idstring | null obligatorio #

        string | null

      • referencenull | object obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · null

        null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • price_clpinteger obligatorio #
          • Mínimo 1
          • Máximo 1000000000
        • product_revisioninteger obligatorio #
          • Mínimo 0
          • Máximo 9007199254740991
        • source_connection_idstring | null obligatorio #

          string | null

        • reference_revisioninteger obligatorio #
          • Mínimo 0
          • Máximo 9007199254740990
        • source_membership_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Patrón "^[a-f0-9]{64}$"
          Regla 2 · null

          null

      • observednull | object obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · null

        null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • revisioninteger obligatorio #
          • Mínimo 1
          • Máximo 9007199254740991
        • regular_price_clpinteger obligatorio #
          • Mínimo 1
          • Máximo 1000000000
        • effective_price_clpinteger obligatorio #
          • Mínimo 1
          • Máximo 1000000000
        • promotion_activeboolean obligatorio #

          boolean

        • provider_revisionstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • observed_atstring obligatorio #
          • Formato "date-time"
        • received_atstring obligatorio #
          • Formato "date-time"
      • overrideobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • revisioninteger obligatorio #
          • Mínimo 0
          • Máximo 9007199254740991
        • price_clpinteger | null obligatorio #
          • Mínimo 1
          • Máximo 1000000000
      • intended_regular_price_clpinteger | null obligatorio #
        • Mínimo 1
        • Máximo 1000000000
      • statestring obligatorio #
        • Valores permitidos "keep_native" · "unchanged" · "change" · "blocked"
      • blockersarray<string> obligatorio #
        Ver campos de cada elemento · string
        • Valores permitidos "CONNECTION_INACTIVE" · "LISTING_INACTIVE" · "REFERENCE_UNAVAILABLE" · "REFERENCE_AUTHORITY_INACTIVE" · "REFERENCE_CYCLE" · "PRICING_DESTINATION_REQUIRED" · "OBSERVATION_MISSING" · "OBSERVATION_STALE" · "PROMOTION_ACTIVE" · "PRICE_OUT_OF_RANGE"
      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • product_namestring | null obligatorio #

        string | null

      • skustring | null obligatorio #

        string | null

      • variation_optionsobject | null obligatorio #
        Valores de las claves adicionales · string

        string

    • pageobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • next_cursorstring | null obligatorio #

        string | null

      • completeboolean obligatorio #

        True only for the terminal page; preceding pages must still be included in the reviewed manifest.

    • page_fingerprintstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • live_write_authorizedboolean obligatorio #
      • Valor exacto false
    • connection_versioninteger obligatorio #

      All pages of the reviewed manifest must have the same connection version as well as pricing revision.

      • Mínimo 1
      • Máximo 9007199254740991
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/channel-listings/{listing_id}/pricinglistings.read

Consultar el precio de una publicación

Distingue el precio de referencia, el precio observado y el precio propuesto. Conserva los precios nativos por defecto y bloquea cambios sobre promociones activas.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • listing_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • connection_idstring obligatorio #

      string

    • pricing_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740991
    • policyobject obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • modestring obligatorio #
        • Valor exacto "keep_native"
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • modestring obligatorio #
        • Valor exacto "managed"
      • adjustment_basis_pointsinteger obligatorio #
        • Mínimo -10000
        • Máximo 100000
      • fixed_clpinteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
    • listing_idstring obligatorio #

      string

    • listing_versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740991
    • product_idstring obligatorio #

      string

    • variation_idstring | null obligatorio #

      string | null

    • external_listing_idstring obligatorio #

      string

    • external_product_idstring obligatorio #

      string

    • external_variation_idstring | null obligatorio #

      string | null

    • referencenull | object obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · null

      null

      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • price_clpinteger obligatorio #
        • Mínimo 1
        • Máximo 1000000000
      • product_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740991
      • source_connection_idstring | null obligatorio #

        string | null

      • reference_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • source_membership_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[a-f0-9]{64}$"
        Regla 2 · null

        null

    • observednull | object obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · null

      null

      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740991
      • regular_price_clpinteger obligatorio #
        • Mínimo 1
        • Máximo 1000000000
      • effective_price_clpinteger obligatorio #
        • Mínimo 1
        • Máximo 1000000000
      • promotion_activeboolean obligatorio #

        boolean

      • provider_revisionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • observed_atstring obligatorio #
        • Formato "date-time"
      • received_atstring obligatorio #
        • Formato "date-time"
    • overrideobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740991
      • price_clpinteger | null obligatorio #
        • Mínimo 1
        • Máximo 1000000000
    • intended_regular_price_clpinteger | null obligatorio #
      • Mínimo 1
      • Máximo 1000000000
    • statestring obligatorio #
      • Valores permitidos "keep_native" · "unchanged" · "change" · "blocked"
    • blockersarray<string> obligatorio #
      Ver campos de cada elemento · string
      • Valores permitidos "CONNECTION_INACTIVE" · "LISTING_INACTIVE" · "REFERENCE_UNAVAILABLE" · "REFERENCE_AUTHORITY_INACTIVE" · "REFERENCE_CYCLE" · "PRICING_DESTINATION_REQUIRED" · "OBSERVATION_MISSING" · "OBSERVATION_STALE" · "PROMOTION_ACTIVE" · "PRICE_OUT_OF_RANGE"
    • input_fingerprintstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • product_namestring | null obligatorio #

      string | null

    • skustring | null obligatorio #

      string | null

    • variation_optionsobject | null obligatorio #
      Valores de las claves adicionales · string

      string

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/channel-listings/{listing_id}/pricing/observationslistings.write

Registrar un precio observado

Guarda precios regulares y efectivos del proveedor con versiones e idempotencia. No modifica la referencia, la regla, las promociones ni el precio remoto.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • listing_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_listing_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740991
  • expected_observation_revisioninteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740991
  • regular_price_clpinteger obligatorio #
    • Mínimo 1
    • Máximo 1000000000
  • effective_price_clpinteger obligatorio #
    • Mínimo 1
    • Máximo 1000000000
  • promotion_activeboolean obligatorio #

    boolean

  • provider_revisionstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • observed_atstring obligatorio #
    • Formato "date-time"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740991
    • regular_price_clpinteger obligatorio #
      • Mínimo 1
      • Máximo 1000000000
    • effective_price_clpinteger obligatorio #
      • Mínimo 1
      • Máximo 1000000000
    • promotion_activeboolean obligatorio #

      boolean

    • provider_revisionstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observed_atstring obligatorio #
      • Formato "date-time"
    • received_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Reservas

Compromisos temporales de inventario controlado por Moku.

GET/vendors/{vendor_id}/inventory-reservationsreservations.read

Listar reservas de inventario

Consulta los compromisos públicos de stock de la tienda con paginación por cursor.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_referencestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • statestring obligatorio #
      • Valores permitidos "reserved" · "committed" · "released" · "expired"
    • linesarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/inventory-reservationsreservations.write

Reservar inventario Moku

Solo una conexión activa con inventario controlado por Moku puede reservar. Las reservas de pedidos externos se administran mediante el estado de esos pedidos.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • external_referencestring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:/-]+$"
  • expires_in_secondsinteger obligatorio #
    • Mínimo 60
    • Máximo 3600
  • linesarray<object> obligatorio #
    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • quantityinteger obligatorio #
      • Mínimo 1
      • Máximo 100

Respuestas

Respuesta 201

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_referencestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • statestring obligatorio #
      • Valores permitidos "reserved" · "committed" · "released" · "expired"
    • linesarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/inventory-reservations/{reservation_id}reservations.read

Consultar una reserva

Lee cantidades, estado, vencimiento y versión de una reserva.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • reservation_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_referencestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • statestring obligatorio #
      • Valores permitidos "reserved" · "committed" · "released" · "expired"
    • linesarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/inventory-reservations/{reservation_id}/renewreservations.write

Renovar una reserva

Extiende una reserva pública vigente según los límites de duración y la versión esperada.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • reservation_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1
  • expires_in_secondsinteger obligatorio #
    • Mínimo 60
    • Máximo 3600

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_referencestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • statestring obligatorio #
      • Valores permitidos "reserved" · "committed" · "released" · "expired"
    • linesarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/inventory-reservations/{reservation_id}/commitreservations.write

Consumir una reserva

Confirma una reserva pública y consume el inventario comprometido con control de versión e idempotencia.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • reservation_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_referencestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • statestring obligatorio #
      • Valores permitidos "reserved" · "committed" · "released" · "expired"
    • linesarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/inventory-reservations/{reservation_id}/releasereservations.write

Liberar una reserva

Devuelve la disponibilidad retenida por una reserva pública sin simular una venta.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • reservation_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_referencestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • statestring obligatorio #
      • Valores permitidos "reserved" · "committed" · "released" · "expired"
    • linesarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Pedidos externos

Observaciones versionadas de pedidos del canal, separadas de la preparación del vendedor.

GET/vendors/{vendor_id}/connections/{connection_id}/external-ordersorders.read

Listar pedidos externos

Consulta observaciones importadas desde la conexión; no son la misma vista que los pedidos pagados para preparar.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • moku_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • source_versionstring obligatorio #

      string

    • source_updated_atstring obligatorio #
      • Formato "date-time"
    • statusstring obligatorio #
      • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
    • currencycualquier JSON obligatorio #
      • Valor exacto "CLP"
    • order_numberstring obligatorio #

      string

    • linesarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
      • unit_priceinteger obligatorio #

        Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

        • Mínimo 1
        • Máximo 1000000000
      • line_totalinteger obligatorio #

        Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

        • Mínimo 0
        • Máximo 1000000000
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • variation_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 160
        Regla 2 · null

        null

      • product_namestring obligatorio #

        string

      • product_image_urlstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "uri"
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • contact_emailstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "email"
      Regla 2 · null

      null

    • delivery_addressobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • recipient_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • streetstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • address_line_2string | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 200
        Regla 2 · null

        null

      • comunastring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • regionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • phonestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 32
        Regla 2 · null

        null

      Regla 2 · null

      null

    • contact_erased_atstring | null obligatorio #

      When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • inventory_effectstring obligatorio #
      • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
    • inventory_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • reservation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • terminal_resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
      Regla 2 · null

      null

    • terminal_resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • source_stockobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
      • connection_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • effect_idsarray<string> obligatorio #
        • Elementos máximos 40
        Ver campos de cada elemento · string
        • Patrón "^[a-f0-9]{64}$"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 80
        Regla 2 · null

        null

    • source_created_atstring opcional #

      Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

      • Formato "date-time"

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          },
          "contact_erased_at": {
            "type": "null"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          },
          "contact_email": {
            "not": {
              "type": "null"
            }
          },
          "delivery_address": {
            "type": "object",
            "properties": {
              "phone": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      }
    }
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/connections/{connection_id}/external-orders/{external_order_id}orders.read

Consultar un pedido externo

Lee la observación actual, versión fuente y efecto de inventario de un pedido del canal.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • external_order_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • moku_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • source_versionstring obligatorio #

      string

    • source_updated_atstring obligatorio #
      • Formato "date-time"
    • statusstring obligatorio #
      • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
    • currencycualquier JSON obligatorio #
      • Valor exacto "CLP"
    • order_numberstring obligatorio #

      string

    • linesarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
      • unit_priceinteger obligatorio #

        Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

        • Mínimo 1
        • Máximo 1000000000
      • line_totalinteger obligatorio #

        Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

        • Mínimo 0
        • Máximo 1000000000
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • variation_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 160
        Regla 2 · null

        null

      • product_namestring obligatorio #

        string

      • product_image_urlstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "uri"
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • contact_emailstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "email"
      Regla 2 · null

      null

    • delivery_addressobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • recipient_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • streetstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • address_line_2string | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 200
        Regla 2 · null

        null

      • comunastring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • regionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • phonestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 32
        Regla 2 · null

        null

      Regla 2 · null

      null

    • contact_erased_atstring | null obligatorio #

      When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • inventory_effectstring obligatorio #
      • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
    • inventory_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • reservation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • terminal_resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
      Regla 2 · null

      null

    • terminal_resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • source_stockobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
      • connection_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • effect_idsarray<string> obligatorio #
        • Elementos máximos 40
        Ver campos de cada elemento · string
        • Patrón "^[a-f0-9]{64}$"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 80
        Regla 2 · null

        null

    • source_created_atstring opcional #

      Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

      • Formato "date-time"

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          },
          "contact_erased_at": {
            "type": "null"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          },
          "contact_email": {
            "not": {
              "type": "null"
            }
          },
          "delivery_address": {
            "type": "object",
            "properties": {
              "phone": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      }
    }
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PUT/vendors/{vendor_id}/connections/{connection_id}/external-orders/{external_order_id}orders.write

Importar o actualizar un pedido externo

Responde 200 al crear y actualizar. Líneas, totales, cliente y entrega quedan inmutables desde la primera importación; una cancelación o fallo después del pago requiere resolución explícita.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • external_order_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • source_versionstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • source_updated_atstring obligatorio #

    Canonical UTC timestamp ending in Z, no more than 10 minutes in the future.

    • Patrón "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$"
    • Formato "date-time"
  • statusstring obligatorio #
    • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
  • currencycualquier JSON obligatorio #
    • Valor exacto "CLP"
  • order_numberstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 64
  • linesarray<object> obligatorio #
    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • quantityinteger obligatorio #
      • Mínimo 1
      • Máximo 100
    • unit_priceinteger obligatorio #

      Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

      • Mínimo 1
      • Máximo 1000000000
    • line_totalinteger obligatorio #

      Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

      • Mínimo 0
      • Máximo 1000000000
  • shipping_totalinteger | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · integer
    • Mínimo 0
    • Máximo 1000000000
    Regla 2 · null

    null

  • contact_emailstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres máximos 254
    • Formato "email"
    Regla 2 · null

    null

  • delivery_addressobject | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · object
    • Esta regla no permite propiedades adicionales.
    • recipient_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 200
    • streetstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 200
    • address_line_2string | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 200
      Regla 2 · null

      null

    • comunastring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
      • Máximo de bytes UTF-8 120
    • regionstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 120
      • Máximo de bytes UTF-8 120
    • phonestring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 32
      Regla 2 · null

      null

    Regla 2 · null

    null

  • source_created_atstring opcional #

    Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

    • Formato "date-time"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • moku_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • source_versionstring obligatorio #

      string

    • source_updated_atstring obligatorio #
      • Formato "date-time"
    • statusstring obligatorio #
      • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
    • currencycualquier JSON obligatorio #
      • Valor exacto "CLP"
    • order_numberstring obligatorio #

      string

    • linesarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
      • unit_priceinteger obligatorio #

        Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

        • Mínimo 1
        • Máximo 1000000000
      • line_totalinteger obligatorio #

        Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

        • Mínimo 0
        • Máximo 1000000000
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • variation_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 160
        Regla 2 · null

        null

      • product_namestring obligatorio #

        string

      • product_image_urlstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "uri"
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • contact_emailstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "email"
      Regla 2 · null

      null

    • delivery_addressobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • recipient_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • streetstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • address_line_2string | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 200
        Regla 2 · null

        null

      • comunastring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • regionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • phonestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 32
        Regla 2 · null

        null

      Regla 2 · null

      null

    • contact_erased_atstring | null obligatorio #

      When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • inventory_effectstring obligatorio #
      • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
    • inventory_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • reservation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • terminal_resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
      Regla 2 · null

      null

    • terminal_resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • source_stockobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
      • connection_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • effect_idsarray<string> obligatorio #
        • Elementos máximos 40
        Ver campos de cada elemento · string
        • Patrón "^[a-f0-9]{64}$"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 80
        Regla 2 · null

        null

    • source_created_atstring opcional #

      Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

      • Formato "date-time"

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          },
          "contact_erased_at": {
            "type": "null"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          },
          "contact_email": {
            "not": {
              "type": "null"
            }
          },
          "delivery_address": {
            "type": "object",
            "properties": {
              "phone": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      }
    }
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/connections/{connection_id}/external-orders/{external_order_id}/terminal-resolutionorders.write

Resolver una cancelación posterior al pago

Cancela la preparación y libera bloqueos de autoridad; puede reponer unidades consumidas cuando Moku sigue controlando inventario.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • external_order_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • resolutionstring obligatorio #
    • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • external_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • moku_order_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • source_versionstring obligatorio #

      string

    • source_updated_atstring obligatorio #
      • Formato "date-time"
    • statusstring obligatorio #
      • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
    • currencycualquier JSON obligatorio #
      • Valor exacto "CLP"
    • order_numberstring obligatorio #

      string

    • linesarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 100
      • unit_priceinteger obligatorio #

        Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

        • Mínimo 1
        • Máximo 1000000000
      • line_totalinteger obligatorio #

        Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

        • Mínimo 0
        • Máximo 1000000000
      • inventory_item_idstring obligatorio #

        Opaque inventory identity. Persist this value instead of interpreting or constructing it.

        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • variation_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 160
        Regla 2 · null

        null

      • product_namestring obligatorio #

        string

      • product_image_urlstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "uri"
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • contact_emailstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "email"
      Regla 2 · null

      null

    • delivery_addressobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • recipient_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • streetstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • address_line_2string | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 200
        Regla 2 · null

        null

      • comunastring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • regionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • phonestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 32
        Regla 2 · null

        null

      Regla 2 · null

      null

    • contact_erased_atstring | null obligatorio #

      When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • inventory_effectstring obligatorio #
      • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
    • inventory_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • reservation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • terminal_resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
      Regla 2 · null

      null

    • terminal_resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • source_stockobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
      • connection_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • effect_idsarray<string> obligatorio #
        • Elementos máximos 40
        Ver campos de cada elemento · string
        • Patrón "^[a-f0-9]{64}$"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 80
        Regla 2 · null

        null

    • source_created_atstring opcional #

      Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

      • Formato "date-time"

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          },
          "contact_erased_at": {
            "type": "null"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          },
          "contact_email": {
            "not": {
              "type": "null"
            }
          },
          "delivery_address": {
            "type": "object",
            "properties": {
              "phone": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      }
    }
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/connections/{connection_id}/external-orders/{external_order_id}/reservation-renewalsorders.write

Renovar la reserva de un pedido externo

Extiende una reserva vigente sin modificar el pedido comercial. Conserva ambas versiones y verifica el vencimiento antes de intentar el pago.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • external_order_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #

    Current external-order version.

    • Mínimo 1
    • Máximo 9007199254740990
  • expires_in_secondsinteger obligatorio #
    • Mínimo 60
    • Máximo 3600

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • external_orderobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • vendor_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • external_order_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:/-]+$"
      • moku_order_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • source_versionstring obligatorio #

        string

      • source_updated_atstring obligatorio #
        • Formato "date-time"
      • statusstring obligatorio #
        • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
      • currencycualquier JSON obligatorio #
        • Valor exacto "CLP"
      • order_numberstring obligatorio #

        string

      • linesarray<object> obligatorio #
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • channel_listing_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • quantityinteger obligatorio #
          • Mínimo 1
          • Máximo 100
        • unit_priceinteger obligatorio #

          Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

          • Mínimo 1
          • Máximo 1000000000
        • line_totalinteger obligatorio #

          Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

          • Mínimo 0
          • Máximo 1000000000
        • inventory_item_idstring obligatorio #

          Opaque inventory identity. Persist this value instead of interpreting or constructing it.

          • Caracteres mínimos 1
          • Caracteres máximos 1000
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
          Regla 2 · null

          null

        • skustring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres máximos 160
          Regla 2 · null

          null

        • product_namestring obligatorio #

          string

        • product_image_urlstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "uri"
          Regla 2 · null

          null

        • variation_optionsobject obligatorio #
          Valores de las claves adicionales · string

          string

      • subtotalinteger obligatorio #
        • Mínimo 0
      • shipping_totalinteger | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · integer
        • Mínimo 0
        Regla 2 · null

        null

      • totalinteger | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · integer
        • Mínimo 0
        Regla 2 · null

        null

      • contact_emailstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "email"
        Regla 2 · null

        null

      • delivery_addressobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • recipient_namestring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 200
        • streetstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 200
        • address_line_2string | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres máximos 200
          Regla 2 · null

          null

        • comunastring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 120
          • Máximo de bytes UTF-8 120
        • regionstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 120
          • Máximo de bytes UTF-8 120
        • phonestring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · null

        null

      • contact_erased_atstring | null obligatorio #

        When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • inventory_effectstring obligatorio #
        • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
      • inventory_authoritystring obligatorio #
        • Valores permitidos "moku" · "channel"
      • fulfillment_authoritystring obligatorio #
        • Valores permitidos "moku" · "channel"
      • reservation_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

      • manual_review_requiredboolean obligatorio #

        boolean

      • terminal_resolutionstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
        Regla 2 · null

        null

      • terminal_resolved_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • versioninteger obligatorio #
        • Mínimo 0
      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
      • source_stockobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • statestring obligatorio #
          • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
        • connection_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • effect_idsarray<string> obligatorio #
          • Elementos máximos 40
          Ver campos de cada elemento · string
          • Patrón "^[a-f0-9]{64}$"
        • codestring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 80
          Regla 2 · null

          null

      • source_created_atstring opcional #

        Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

        • Formato "date-time"

      Se deben cumplir todas las reglas:

      Regla 1 · cualquier JSON
      Reglas condicionales del contrato
      {
        "if": {
          "properties": {
            "fulfillment_authority": {
              "const": "moku"
            },
            "contact_erased_at": {
              "type": "null"
            }
          }
        },
        "then": {
          "properties": {
            "shipping_total": {
              "not": {
                "type": "null"
              }
            },
            "total": {
              "not": {
                "type": "null"
              }
            },
            "contact_email": {
              "not": {
                "type": "null"
              }
            },
            "delivery_address": {
              "type": "object",
              "properties": {
                "phone": {
                  "type": "string",
                  "minLength": 1
                }
              }
            }
          }
        }
      }
    • reservationobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • vendor_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • external_referencestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:/-]+$"
      • statestring obligatorio #
        • Valores permitidos "reserved" · "committed" · "released" · "expired"
      • linesarray<object> obligatorio #
        • Elementos mínimos 1
        • Elementos máximos 20
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • channel_listing_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • inventory_item_idstring obligatorio #

          Opaque inventory identity. Persist this value instead of interpreting or constructing it.

          • Caracteres mínimos 1
          • Caracteres máximos 1000
        • quantityinteger obligatorio #
          • Mínimo 1
          • Máximo 100
      • expires_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • versioninteger obligatorio #
        • Mínimo 0
      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Pedidos del vendedor

Preparación y entrega de pedidos pagados; contiene datos personales de clientes.

GET/vendors/{vendor_id}/ordersorders.read

Listar pedidos para preparar

Consulta pedidos pagados y su preparación. Incluye datos personales de entrega: protege incluso los PAT de solo lectura.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • statusstring consulta opcional
    • Valores permitidos "pending" · "processing" · "shipped" · "delivered" · "cancelled"
  • limitinteger consulta opcional
    • Mínimo 1
    • Máximo 50
    • Por defecto 20
  • page_afterstring consulta opcional

    Opaque descending-order cursor from page.next_cursor. It is bound to the status filter and is not a snapshot.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • order_numberstring obligatorio #

      string

    • statusstring obligatorio #
      • Valores permitidos "pending" · "processing" · "shipped" · "delivered" · "cancelled"
    • fulfillment_versioninteger obligatorio #
      • Mínimo 0
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • authority_connection_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • item_countinteger obligatorio #
      • Mínimo 1
    • unit_countinteger obligatorio #
      • Mínimo 1
    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • shipmentobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • carrierstring obligatorio #
        • Valores permitidos "chilexpress" · "starken" · "bluexpress" · "correos_chile" · "other"
      • carrier_namestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 80
        Regla 2 · null

        null

      • tracking_numberstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          }
        }
      }
    }
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/orders/{order_id}orders.read

Consultar un pedido del vendedor

Obtén el detalle pagado, las líneas y la información necesaria para su entrega.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • order_idstring ruta obligatorio
    • Patrón "^[0-9a-f]{32}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • order_numberstring obligatorio #

      string

    • statusstring obligatorio #
      • Valores permitidos "pending" · "processing" · "shipped" · "delivered" · "cancelled"
    • fulfillment_versioninteger obligatorio #
      • Mínimo 0
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • authority_connection_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • item_countinteger obligatorio #
      • Mínimo 1
    • unit_countinteger obligatorio #
      • Mínimo 1
    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • shipmentobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • carrierstring obligatorio #
        • Valores permitidos "chilexpress" · "starken" · "bluexpress" · "correos_chile" · "other"
      • carrier_namestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 80
        Regla 2 · null

        null

      • tracking_numberstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • parent_statusstring obligatorio #
      • Valores permitidos "pending" · "processing" · "partial" · "complete" · "cancelled"
    • linesarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • variation_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 160
        Regla 2 · null

        null

      • product_namestring obligatorio #

        string

      • product_image_urlstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "uri"
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • quantityinteger obligatorio #
        • Mínimo 1
      • unit_priceinteger obligatorio #
        • Mínimo 0
      • line_totalinteger obligatorio #
        • Mínimo 0
    • delivery_addressobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • recipient_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • streetstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 200
      • address_line_2string | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 200
        Regla 2 · null

        null

      • comunastring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • regionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 120
        • Máximo de bytes UTF-8 120
      • phonestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 32
        Regla 2 · null

        null

      Regla 2 · null

      null

    • contact_erased_atstring | null obligatorio #

      When Moku erased the buyer's delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while it is kept. Once set, delivery_address is null, even for a Moku-fulfilled order.

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • processing_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • shipped_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • delivered_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          },
          "contact_erased_at": {
            "type": "null"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          },
          "delivery_address": {
            "type": "object",
            "properties": {
              "phone": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      }
    }
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/orders/{order_id}/fulfillment-transitionsorders.write

Avanzar la preparación de un pedido

Avanza a procesamiento, despacho o entrega con versión e idempotencia. Los pedidos del canal conservan su authority_connection_id; no aísla distintos PAT de la misma tienda.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • order_idstring ruta obligatorio
    • Patrón "^[0-9a-f]{32}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • target_statusstring obligatorio #
    • Valores permitidos "processing" · "shipped" · "delivered"
  • expected_versioninteger obligatorio #
    • Mínimo 0
  • authority_connection_idstring | null opcional #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
    Regla 2 · null

    null

  • shipmentobject opcional #
    • Esta regla no permite propiedades adicionales.
    • carrierstring obligatorio #
      • Valores permitidos "chilexpress" · "starken" · "bluexpress" · "correos_chile" · "other"
    • carrier_namestring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 80
      Regla 2 · null

      null

    • tracking_numberstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 100

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • order_numberstring obligatorio #

      string

    • statusstring obligatorio #
      • Valores permitidos "pending" · "processing" · "shipped" · "delivered" · "cancelled"
    • fulfillment_versioninteger obligatorio #
      • Mínimo 0
    • fulfillment_authoritystring obligatorio #
      • Valores permitidos "moku" · "channel"
    • authority_connection_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
      Regla 2 · null

      null

    • manual_review_requiredboolean obligatorio #

      boolean

    • item_countinteger obligatorio #
      • Mínimo 1
    • unit_countinteger obligatorio #
      • Mínimo 1
    • subtotalinteger obligatorio #
      • Mínimo 0
    • shipping_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • shipmentobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • carrierstring obligatorio #
        • Valores permitidos "chilexpress" · "starken" · "bluexpress" · "correos_chile" · "other"
      • carrier_namestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres máximos 80
        Regla 2 · null

        null

      • tracking_numberstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"

    Se deben cumplir todas las reglas:

    Regla 1 · cualquier JSON
    Reglas condicionales del contrato
    {
      "if": {
        "properties": {
          "fulfillment_authority": {
            "const": "moku"
          }
        }
      },
      "then": {
        "properties": {
          "shipping_total": {
            "not": {
              "type": "null"
            }
          },
          "total": {
            "not": {
              "type": "null"
            }
          }
        }
      }
    }
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Eventos

Historial durable de cambios y seguimiento de reproducciones de webhooks.

GET/vendors/{vendor_id}/eventsevents.read

Listar eventos

Lee metadatos de cambios con retención objetivo de 90 días y borrado eventual. Tolera campos y tipos futuros desconocidos.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Checkpoint from page.next_cursor. It is bound to the token, vendor and occurred_after filter that created it; never decode it or reuse it with another filter.

    • Caracteres máximos 1024
  • occurred_afterstring consulta opcional

    Return only events whose occurred_at is strictly later than this RFC 3339 date-time with a time zone. It filters the append order; it does not reorder it, and a page may scan past filtered events without returning any.

    • Formato "date-time"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • typestring obligatorio #
      • Patrón "^[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+$"
      • Valores conocidos (lista no exhaustiva) ["product.created","product.updated","product.published","product.unpublished","product.archived","product.restored","inventory_item.adjusted","inventory_item.reserved","inventory_item.consumed","inventory_item.released","inventory_item.restocked","inventory_item.reference_price_updated","inventory_item.review_required","inventory_reservation.created","inventory_reservation.renewed","inventory_reservation.committed","inventory_reservation.released","inventory_reservation.expired","connection.created","connection.updated","connection.roles_changed","connection.disconnected","connection.reconnected","channel_listing.created","channel_listing.updated","channel_listing.ended","external_order.created","external_order.updated","external_order.reconciliation_required","external_order.terminal_resolved","external_order.reservation_renewed","seller_order.paid","seller_order.fulfillment_updated","seller_order.cancelled","webhook_subscription.created","webhook_subscription.updated","webhook_subscription.deleted","webhook_subscription.secret_rotated","sync_job.queued","sync_job.succeeded","sync_job.failed","bulk_operation.queued","bulk_operation.completed","integration_conflict.created","integration_conflict.updated","integration_conflict.reopened","integration_conflict.resolved","stock_effect.created","stock_effect.confirmed","stock_effect.blocked"]
    • event_versioncualquier JSON obligatorio #
      • Valor exacto "1"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • resourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • typestring obligatorio #

        string

      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • versioninteger obligatorio #
        • Mínimo 0
    • originstring obligatorio #

      string

    • occurred_atstring obligatorio #
      • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring obligatorio #

      Checkpoint after the last event this page consumed, including events skipped by occurred_after. Always present.

    • has_moreboolean obligatorio #

      True when more events may be available now; false when the poller has caught up and should poll again later from next_cursor.

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/events/{event_id}events.read

Consultar un evento

Obtén metadatos del cambio; consulta el recurso para conocer su estado vigente.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • event_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • typestring obligatorio #
      • Patrón "^[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+$"
      • Valores conocidos (lista no exhaustiva) ["product.created","product.updated","product.published","product.unpublished","product.archived","product.restored","inventory_item.adjusted","inventory_item.reserved","inventory_item.consumed","inventory_item.released","inventory_item.restocked","inventory_item.reference_price_updated","inventory_item.review_required","inventory_reservation.created","inventory_reservation.renewed","inventory_reservation.committed","inventory_reservation.released","inventory_reservation.expired","connection.created","connection.updated","connection.roles_changed","connection.disconnected","connection.reconnected","channel_listing.created","channel_listing.updated","channel_listing.ended","external_order.created","external_order.updated","external_order.reconciliation_required","external_order.terminal_resolved","external_order.reservation_renewed","seller_order.paid","seller_order.fulfillment_updated","seller_order.cancelled","webhook_subscription.created","webhook_subscription.updated","webhook_subscription.deleted","webhook_subscription.secret_rotated","sync_job.queued","sync_job.succeeded","sync_job.failed","bulk_operation.queued","bulk_operation.completed","integration_conflict.created","integration_conflict.updated","integration_conflict.reopened","integration_conflict.resolved","stock_effect.created","stock_effect.confirmed","stock_effect.blocked"]
    • event_versioncualquier JSON obligatorio #
      • Valor exacto "1"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • resourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • typestring obligatorio #

        string

      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • versioninteger obligatorio #
        • Mínimo 0
    • originstring obligatorio #

      string

    • occurred_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/events/{event_id}/replaywebhooks.write

Solicitar reproducción de un evento

Responde 202 al guardar el trabajo, no al completar la entrega. Cada POST crea una reproducción y no admite Idempotency-Key; puede generar duplicados.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • event_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 202

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • event_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • replay_idstring obligatorio #
      • Patrón "^[a-f0-9]{48}$"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "completed" · "failed"
    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • deliveredinteger obligatorio #
      • Mínimo 0
    • failedinteger obligatorio #
      • Mínimo 0
    • skippedinteger obligatorio #
      • Mínimo 0
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/events/{event_id}/replays/{replay_id}webhooks.read

Consultar progreso de reproducción

Lee entregas exitosas, fallidas y omitidas. total es null hasta seleccionar los destinos; un trabajo fallido puede tener entregas exitosas.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • event_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • replay_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{48}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • event_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • replay_idstring obligatorio #
      • Patrón "^[a-f0-9]{48}$"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "completed" · "failed"
    • totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      Regla 2 · null

      null

    • deliveredinteger obligatorio #
      • Mínimo 0
    • failedinteger obligatorio #
      • Mínimo 0
    • skippedinteger obligatorio #
      • Mínimo 0
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Webhooks

Suscripciones HTTPS, filtros de eventos y secretos de firma.

GET/vendors/{vendor_id}/webhook-subscriptionswebhooks.read

Listar suscripciones de webhooks

Consulta destinos HTTPS, filtros de eventos y estado de las suscripciones.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • urlstring obligatorio #
      • Patrón "^https://"
      • Formato "uri"
    • event_typesarray<string> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 30
      • Elementos únicos
      Ver campos de cada elemento · string
      • Caracteres máximos 100
      • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
      • Máximo de bytes UTF-8 100
    • statusstring obligatorio #
      • Valores permitidos "active" · "disabled"
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/webhook-subscriptionswebhooks.write

Crear una suscripción HTTPS

El secreto de firma se entrega una sola vez. El destino debe ser público y usar HTTPS en puerto 443; cada entrega vence a los cinco segundos y puede reintentarse hasta diez veces.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • urlstring obligatorio #
    • Patrón "^https://"
    • Formato "uri"
  • event_typesarray<string> obligatorio #
    • Elementos mínimos 1
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string
    • Caracteres máximos 100
    • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
    • Máximo de bytes UTF-8 100

Respuestas

Respuesta 201

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • subscriptionobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • vendor_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • urlstring obligatorio #
        • Patrón "^https://"
        • Formato "uri"
      • event_typesarray<string> obligatorio #
        • Elementos mínimos 1
        • Elementos máximos 30
        • Elementos únicos
        Ver campos de cada elemento · string
        • Caracteres máximos 100
        • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
        • Máximo de bytes UTF-8 100
      • statusstring obligatorio #
        • Valores permitidos "active" · "disabled"
      • versioninteger obligatorio #
        • Mínimo 0
      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
    • signing_secretstring obligatorio #
      • Patrón "^whsec_"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/webhook-subscriptions/{subscription_id}webhooks.read

Consultar una suscripción

Obtén destino, filtros, estado y versión; las lecturas no revelan el secreto de firma.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • subscription_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • urlstring obligatorio #
      • Patrón "^https://"
      • Formato "uri"
    • event_typesarray<string> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 30
      • Elementos únicos
      Ver campos de cada elemento · string
      • Caracteres máximos 100
      • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
      • Máximo de bytes UTF-8 100
    • statusstring obligatorio #
      • Valores permitidos "active" · "disabled"
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PATCH/vendors/{vendor_id}/webhook-subscriptions/{subscription_id}webhooks.write

Actualizar una suscripción

Cambia URL, filtros de eventos o estado con la versión esperada.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • subscription_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • urlstring obligatorio #
    • Patrón "^https://"
    • Formato "uri"
  • event_typesarray<string> obligatorio #
    • Elementos mínimos 1
    • Elementos máximos 30
    • Elementos únicos
    Ver campos de cada elemento · string
    • Caracteres máximos 100
    • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
    • Máximo de bytes UTF-8 100
  • statusstring obligatorio #
    • Valores permitidos "active" · "disabled"
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • urlstring obligatorio #
      • Patrón "^https://"
      • Formato "uri"
    • event_typesarray<string> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 30
      • Elementos únicos
      Ver campos de cada elemento · string
      • Caracteres máximos 100
      • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
      • Máximo de bytes UTF-8 100
    • statusstring obligatorio #
      • Valores permitidos "active" · "disabled"
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

DELETE/vendors/{vendor_id}/webhook-subscriptions/{subscription_id}webhooks.write

Eliminar una suscripción

Envía un cuerpo JSON con expected_version. La respuesta contiene la suscripción eliminada.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • subscription_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • urlstring obligatorio #
      • Patrón "^https://"
      • Formato "uri"
    • event_typesarray<string> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 30
      • Elementos únicos
      Ver campos de cada elemento · string
      • Caracteres máximos 100
      • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
      • Máximo de bytes UTF-8 100
    • statusstring obligatorio #
      • Valores permitidos "active" · "disabled"
    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/webhook-subscriptions/{subscription_id}/rotate-secretwebhooks.write

Rotar el secreto de firma

Crea y devuelve un nuevo secreto de firma que entra en vigor inmediatamente. Actualiza de forma coordinada el verificador del receptor.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • subscription_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • subscriptionobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • vendor_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
      • urlstring obligatorio #
        • Patrón "^https://"
        • Formato "uri"
      • event_typesarray<string> obligatorio #
        • Elementos mínimos 1
        • Elementos máximos 30
        • Elementos únicos
        Ver campos de cada elemento · string
        • Caracteres máximos 100
        • Patrón "^(?:\\*|[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+)$"
        • Máximo de bytes UTF-8 100
      • statusstring obligatorio #
        • Valores permitidos "active" · "disabled"
      • versioninteger obligatorio #
        • Mínimo 0
      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
    • signing_secretstring obligatorio #
      • Patrón "^whsec_"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Trabajos de reconciliación

Validación asíncrona de diferencias y registro de conflictos, sin reparación automática.

GET/vendors/{vendor_id}/sync-jobsjobs.read

Listar trabajos de reconciliación

Consulta las validaciones asíncronas de catálogo, inventario o pedidos.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • kindstring obligatorio #
      • Valores permitidos "catalog_reconciliation" · "inventory_reconciliation" · "order_reconciliation"
    • modestring obligatorio #
      • Valores permitidos "validate" · "apply"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "succeeded" · "failed"
    • countsobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • totalinteger obligatorio #
        • Mínimo 0
      • succeededinteger obligatorio #
        • Mínimo 0
      • failedinteger obligatorio #
        • Mínimo 0
    • resultsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • keystring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "succeeded" · "failed"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string

        string

        Regla 2 · null

        null

      • detailstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string

        string

        Regla 2 · null

        null

    • created_atstring obligatorio #
      • Formato "date-time"
    • started_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/sync-jobsjobs.write

Solicitar una reconciliación

Programa una inspección acotada. validate informa diferencias y apply registra conflictos; ninguno repara automáticamente catálogo, inventario o pedidos.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • kindstring obligatorio #
    • Valores permitidos "catalog_reconciliation" · "inventory_reconciliation" · "order_reconciliation"
  • modestring obligatorio #
    • Valores permitidos "validate" · "apply"

Respuestas

Respuesta 202

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • kindstring obligatorio #
      • Valores permitidos "catalog_reconciliation" · "inventory_reconciliation" · "order_reconciliation"
    • modestring obligatorio #
      • Valores permitidos "validate" · "apply"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "succeeded" · "failed"
    • countsobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • totalinteger obligatorio #
        • Mínimo 0
      • succeededinteger obligatorio #
        • Mínimo 0
      • failedinteger obligatorio #
        • Mínimo 0
    • resultsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • keystring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "succeeded" · "failed"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string

        string

        Regla 2 · null

        null

      • detailstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string

        string

        Regla 2 · null

        null

    • created_atstring obligatorio #
      • Formato "date-time"
    • started_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/sync-jobs/{job_id}jobs.read

Consultar estado y resultado de un trabajo

Lee el progreso y los resultados de la reconciliación hasta un estado final.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • job_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • kindstring obligatorio #
      • Valores permitidos "catalog_reconciliation" · "inventory_reconciliation" · "order_reconciliation"
    • modestring obligatorio #
      • Valores permitidos "validate" · "apply"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "succeeded" · "failed"
    • countsobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • totalinteger obligatorio #
        • Mínimo 0
      • succeededinteger obligatorio #
        • Mínimo 0
      • failedinteger obligatorio #
        • Mínimo 0
    • resultsarray<object> obligatorio #
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • keystring obligatorio #

        string

      • statusstring obligatorio #
        • Valores permitidos "succeeded" · "failed"
      • codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string

        string

        Regla 2 · null

        null

      • detailstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string

        string

        Regla 2 · null

        null

    • created_atstring obligatorio #
      • Formato "date-time"
    • started_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Operaciones por lotes

Ajustes de stock acotados, con resultados individuales y reintentos recuperables.

GET/vendors/{vendor_id}/bulk-operationsjobs.read

Listar operaciones por lotes

Lista lotes de inventario con paginación y resultados individuales. Una ejecución agotada o perdida se muestra como fallida y no como una cola saludable.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Cursor-paginated bulk operations

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • kindstring obligatorio #
      • Valor exacto "inventory_adjustment"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "succeeded" · "completed_with_errors" · "failed"
    • countsobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • totalinteger obligatorio #
        • Mínimo 1
        • Máximo 25
      • succeededinteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • failedinteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • pendinginteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • unknowninteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • not_attemptedinteger obligatorio #
        • Mínimo 0
        • Máximo 25
    • resultsarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • keystring obligatorio #

        string

      • inventory_item_idstring obligatorio #

        string

      • statusstring obligatorio #

        unknown: the adjustment had started and its outcome was not recorded. not_attempted: processing stopped before the adjustment started.

        • Valores permitidos "pending" · "succeeded" · "failed" · "unknown" · "not_attempted"
      • dataobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #

          Opaque inventory identity.

        • vendor_idstring obligatorio #

          string

        • location_idstring obligatorio #

          Vendor-scoped Inventory Location. The single explicit default location is an accounting identity, not a warehouse-management feature. It does not change the opaque item ID. Other locations and allocation are not supported yet.

          • Valor exacto "default"
        • stock_pool_idstring obligatorio #

          Logical sellable Stock Pool. The first Commerce OS generation exposes one default pool without changing the opaque Inventory Item ID.

          • Valor exacto "default"
        • product_idstring obligatorio #

          string

        • product_namestring obligatorio #

          string

        • product_image_urlstring | null obligatorio #
          • Formato "uri"
        • variation_idstring | null obligatorio #

          string | null

        • variation_optionsobject obligatorio #
          Valores de las claves adicionales · string

          string

        • skustring | null obligatorio #

          string | null

        • on_handinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • reservedinteger obligatorio #
          • Mínimo 0
        • availableinteger obligatorio #
          • Mínimo 0
        • versioninteger obligatorio #
          • Mínimo 0
        • statusstring obligatorio #
          • Valores permitidos "in_stock" · "low_stock" · "out_of_stock"
        Regla 2 · null

        null

      • codestring | null obligatorio #

        A public error code, or a result-only code: BACKGROUND_WORK_FAILED when background execution stopped, BULK_OPERATION_STOPPED when an earlier record stopped the operation.

      • detailstring | null obligatorio #

        string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • started_atstring | null obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #
      • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/bulk-operationsjobs.write

Crear un lote de ajustes de stock

Acepta entre 1 y 25 ajustes con jobs.write e inventory.write. Un 202 confirma admisión, no ejecución. Cada registro conserva autoridad, versión, idempotencia y la cuota de escritura de la credencial original; el lote no es atómico.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • kindstring obligatorio #
    • Valor exacto "inventory_adjustment"
  • itemsarray<object> obligatorio #
    • Elementos mínimos 1
    • Elementos máximos 25
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • keystring obligatorio #

      Unique within this batch; preserved in the result.

      • Caracteres mínimos 1
      • Caracteres máximos 64
      • Patrón "^[A-Za-z0-9._:-]+$"
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 4
      • Caracteres máximos 1000
      • Patrón "^[A-Za-z0-9_-]+$"
    • bodyobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • target_on_handinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_versioninteger obligatorio #
        • Mínimo 0
      • authority_connection_idstring | null opcional #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        • Patrón "^[A-Za-z0-9._:-]+$"
        Regla 2 · null

        null

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Aceptar un lote sin prometer su ejecución

Aceptar un lote sin prometer su ejecución

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
test "${MOKU_ALLOW_WRITES:-}" = "1" &&
curl --silent --show-error --fail-with-body \
  --request POST \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: demo_bulk_stock_001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "inventory_adjustment",
  "items": [
    {
      "key": "tazon",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
      "body": {
        "target_on_hand": 8,
        "expected_version": 7
      }
    },
    {
      "key": "vaso",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
      "body": {
        "target_on_hand": 3,
        "expected_version": 1
      }
    }
  ]
}'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');
if (process.env.MOKU_ALLOW_WRITES !== '1') throw new Error('MOKU_ALLOW_WRITES=1');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations');
const body = {
  "kind": "inventory_adjustment",
  "items": [
    {
      "key": "tazon",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
      "body": {
        "target_on_hand": 8,
        "expected_version": 7
      }
    },
    {
      "key": "vaso",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
      "body": {
        "target_on_hand": 3,
        "expected_version": 1
      }
    }
  ]
};
const response = await fetch(url, {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
    'Idempotency-Key': 'demo_bulk_stock_001',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}
if (getenv('MOKU_ALLOW_WRITES') !== '1') {
    throw new RuntimeException('MOKU_ALLOW_WRITES=1');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations';
$body = <<<'MOKU_REQUEST_JSON'
{
  "kind": "inventory_adjustment",
  "items": [
    {
      "key": "tazon",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
      "body": {
        "target_on_hand": 8,
        "expected_version": 7
      }
    },
    {
      "key": "vaso",
      "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
      "body": {
        "target_on_hand": 3,
        "expected_version": 1
      }
    }
  ]
}
MOKU_REQUEST_JSON;
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
        'Idempotency-Key: demo_bulk_stock_001',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 202 application/json

{
  "data": {
    "id": "blk_demo_stock_001",
    "vendor_id": "vendor_demo_ceramica",
    "kind": "inventory_adjustment",
    "status": "queued",
    "counts": {
      "total": 2,
      "succeeded": 0,
      "failed": 0,
      "pending": 2,
      "unknown": 0,
      "not_attempted": 0
    },
    "results": [
      {
        "key": "tazon",
        "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
        "status": "pending",
        "data": null,
        "code": null,
        "detail": null
      },
      {
        "key": "vaso",
        "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
        "status": "pending",
        "data": null,
        "code": null,
        "detail": null
      }
    ],
    "created_at": "2026-08-26T09:00:00.000Z",
    "started_at": null,
    "completed_at": null
  }
}

Respuestas

Respuesta 202

Durable bulk operation and historical results

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • kindstring obligatorio #
      • Valor exacto "inventory_adjustment"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "succeeded" · "completed_with_errors" · "failed"
    • countsobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • totalinteger obligatorio #
        • Mínimo 1
        • Máximo 25
      • succeededinteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • failedinteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • pendinginteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • unknowninteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • not_attemptedinteger obligatorio #
        • Mínimo 0
        • Máximo 25
    • resultsarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • keystring obligatorio #

        string

      • inventory_item_idstring obligatorio #

        string

      • statusstring obligatorio #

        unknown: the adjustment had started and its outcome was not recorded. not_attempted: processing stopped before the adjustment started.

        • Valores permitidos "pending" · "succeeded" · "failed" · "unknown" · "not_attempted"
      • dataobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #

          Opaque inventory identity.

        • vendor_idstring obligatorio #

          string

        • location_idstring obligatorio #

          Vendor-scoped Inventory Location. The single explicit default location is an accounting identity, not a warehouse-management feature. It does not change the opaque item ID. Other locations and allocation are not supported yet.

          • Valor exacto "default"
        • stock_pool_idstring obligatorio #

          Logical sellable Stock Pool. The first Commerce OS generation exposes one default pool without changing the opaque Inventory Item ID.

          • Valor exacto "default"
        • product_idstring obligatorio #

          string

        • product_namestring obligatorio #

          string

        • product_image_urlstring | null obligatorio #
          • Formato "uri"
        • variation_idstring | null obligatorio #

          string | null

        • variation_optionsobject obligatorio #
          Valores de las claves adicionales · string

          string

        • skustring | null obligatorio #

          string | null

        • on_handinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • reservedinteger obligatorio #
          • Mínimo 0
        • availableinteger obligatorio #
          • Mínimo 0
        • versioninteger obligatorio #
          • Mínimo 0
        • statusstring obligatorio #
          • Valores permitidos "in_stock" · "low_stock" · "out_of_stock"
        Regla 2 · null

        null

      • codestring | null obligatorio #

        A public error code, or a result-only code: BACKGROUND_WORK_FAILED when background execution stopped, BULK_OPERATION_STOPPED when an earlier record stopped the operation.

      • detailstring | null obligatorio #

        string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • started_atstring | null obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/bulk-operations/{bulk_operation_id}jobs.read

Consultar un lote y sus resultados

Devuelve progreso y resultados históricos. Ante unknown, reconcilia el inventario antes de emitir otro ajuste; una revocación no deshace un efecto previo. Los resultados finales se conservan al menos 30 días.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • bulk_operation_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Ejemplos

IDs y datos ficticios. Adapta los valores a tu tienda y revisa la autoridad antes de cualquier escritura.

Consultar resultados parciales del lote

Consultar resultados parciales del lote

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations/blk_demo_stock_001' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations/blk_demo_stock_001');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations/blk_demo_stock_001';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "id": "blk_demo_stock_001",
    "vendor_id": "vendor_demo_ceramica",
    "kind": "inventory_adjustment",
    "status": "completed_with_errors",
    "counts": {
      "total": 2,
      "succeeded": 1,
      "failed": 1,
      "pending": 0,
      "unknown": 0,
      "not_attempted": 0
    },
    "results": [
      {
        "key": "tazon",
        "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
        "status": "succeeded",
        "data": {
          "id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
          "vendor_id": "vendor_demo_ceramica",
          "location_id": "default",
          "stock_pool_id": "default",
          "product_id": "product_demo_tazon",
          "product_name": "Tazón de cerámica",
          "product_image_url": "https://storage.googleapis.com/moku-348cf-marketplace-media/seller-media/v1/1a2b61ce63dd668ed37dab741499416563ea6f3f9868274f25e4d99a4a5dfe62/83f70f6a565e1bf5a0f14317e850dc382e57ca3ce623d4c42ef2a100d8670144.webp",
          "variation_id": "variation_demo_azul",
          "variation_options": {
            "Color": "Azul"
          },
          "sku": "TAZ-AZUL",
          "on_hand": 8,
          "reserved": 2,
          "available": 6,
          "version": 8,
          "status": "low_stock"
        },
        "code": null,
        "detail": null
      },
      {
        "key": "vaso",
        "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
        "status": "failed",
        "data": null,
        "code": "INVENTORY_VERSION_CONFLICT",
        "detail": "Inventory changed; retrieve the item before issuing another adjustment."
      }
    ],
    "created_at": "2026-08-26T09:00:00.000Z",
    "started_at": "2026-08-26T09:00:00.000Z",
    "completed_at": "2026-08-26T09:02:00.000Z"
  }
}
Conservar un resultado incierto tras una revocación

Conservar un resultado incierto tras una revocación

Solicitud · ejemplo ilustrativo

cURL
: "${MOKU_PAT:?}" &&
curl --silent --show-error --fail-with-body \
  'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations/blk_demo_stock_001' \
  --header "Authorization: Bearer ${MOKU_PAT}" \
  --header 'Accept: application/json'
Node.js

Módulo ES para Node.js 18 o posterior (guárdalo, por ejemplo, como ejemplo.mjs). Usa el fetch incluido, sin dependencias. No debe ejecutarse en el navegador.

const token = process.env.MOKU_PAT;
if (!token) throw new Error('MOKU_PAT');

const url = new URL('https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations/blk_demo_stock_001');
const response = await fetch(url, {
  method: 'GET',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  signal: AbortSignal.timeout(30_000),
});
const result = await response.json();
if (!response.ok) console.error(`HTTP ${response.status}`);
(response.ok ? console.log : console.error)(JSON.stringify(result, null, 2));
process.exitCode = response.ok ? 0 : 1;
PHP

Ejemplo para PHP CLI con la extensión cURL. No es un plugin de WordPress ni debe ejecutarse en el navegador.

<?php
$token = getenv('MOKU_PAT');
if ($token === false || $token === '') {
    throw new RuntimeException('MOKU_PAT');
}

$url = 'https://moku.cl/api/v1/vendors/vendor_demo_ceramica/bulk-operations/blk_demo_stock_001';
$curl = curl_init($url);
if ($curl === false) {
    throw new RuntimeException('curl_init');
}
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($curl);
if ($response === false) {
    $message = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($message);
}
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$result = json_decode($response, false, 512, JSON_THROW_ON_ERROR);
$failed = $status < 200 || $status >= 300;
if ($failed) {
    fwrite(STDERR, "HTTP {$status}\n");
}
fwrite(
    $failed ? STDERR : STDOUT,
    json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL
);
exit($failed ? 1 : 0);

Respuesta 200 application/json

{
  "data": {
    "id": "blk_demo_stock_001",
    "vendor_id": "vendor_demo_ceramica",
    "kind": "inventory_adjustment",
    "status": "failed",
    "counts": {
      "total": 2,
      "succeeded": 0,
      "failed": 0,
      "pending": 0,
      "unknown": 1,
      "not_attempted": 1
    },
    "results": [
      {
        "key": "tazon",
        "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdGF6b24iLCJ2YXJpYXRpb25fZGVtb19henVsIl0",
        "status": "unknown",
        "data": null,
        "code": "UNAUTHENTICATED",
        "detail": "Processing stopped after this adjustment started; read the inventory item before deciding whether to retry it."
      },
      {
        "key": "vaso",
        "inventory_item_id": "WyJwcm9kdWN0X2RlbW9fdmFzbyIsbnVsbF0",
        "status": "not_attempted",
        "data": null,
        "code": "BULK_OPERATION_STOPPED",
        "detail": "The operation stopped before this record was attempted."
      }
    ],
    "created_at": "2026-08-26T09:00:00.000Z",
    "started_at": "2026-08-26T09:00:00.000Z",
    "completed_at": "2026-08-26T09:02:00.000Z"
  }
}

Respuestas

Respuesta 200

Durable bulk operation and historical results

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #

      string

    • vendor_idstring obligatorio #

      string

    • kindstring obligatorio #
      • Valor exacto "inventory_adjustment"
    • statusstring obligatorio #
      • Valores permitidos "queued" · "running" · "succeeded" · "completed_with_errors" · "failed"
    • countsobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • totalinteger obligatorio #
        • Mínimo 1
        • Máximo 25
      • succeededinteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • failedinteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • pendinginteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • unknowninteger obligatorio #
        • Mínimo 0
        • Máximo 25
      • not_attemptedinteger obligatorio #
        • Mínimo 0
        • Máximo 25
    • resultsarray<object> obligatorio #
      • Elementos mínimos 1
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • keystring obligatorio #

        string

      • inventory_item_idstring obligatorio #

        string

      • statusstring obligatorio #

        unknown: the adjustment had started and its outcome was not recorded. not_attempted: processing stopped before the adjustment started.

        • Valores permitidos "pending" · "succeeded" · "failed" · "unknown" · "not_attempted"
      • dataobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #

          Opaque inventory identity.

        • vendor_idstring obligatorio #

          string

        • location_idstring obligatorio #

          Vendor-scoped Inventory Location. The single explicit default location is an accounting identity, not a warehouse-management feature. It does not change the opaque item ID. Other locations and allocation are not supported yet.

          • Valor exacto "default"
        • stock_pool_idstring obligatorio #

          Logical sellable Stock Pool. The first Commerce OS generation exposes one default pool without changing the opaque Inventory Item ID.

          • Valor exacto "default"
        • product_idstring obligatorio #

          string

        • product_namestring obligatorio #

          string

        • product_image_urlstring | null obligatorio #
          • Formato "uri"
        • variation_idstring | null obligatorio #

          string | null

        • variation_optionsobject obligatorio #
          Valores de las claves adicionales · string

          string

        • skustring | null obligatorio #

          string | null

        • on_handinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • reservedinteger obligatorio #
          • Mínimo 0
        • availableinteger obligatorio #
          • Mínimo 0
        • versioninteger obligatorio #
          • Mínimo 0
        • statusstring obligatorio #
          • Valores permitidos "in_stock" · "low_stock" · "out_of_stock"
        Regla 2 · null

        null

      • codestring | null obligatorio #

        A public error code, or a result-only code: BACKGROUND_WORK_FAILED when background execution stopped, BULK_OPERATION_STOPPED when an earlier record stopped the operation.

      • detailstring | null obligatorio #

        string | null

    • created_atstring obligatorio #
      • Formato "date-time"
    • started_atstring | null obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Conflictos

Diferencias de integración y decisiones operativas de resolución.

GET/vendors/{vendor_id}/integration-conflictsconflicts.read

Listar conflictos de integración

Recorre diferencias registradas y su estado operativo.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • resource_typestring obligatorio #
      • Patrón "^[a-z][a-z0-9_]+$"
    • external_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • codestring obligatorio #
      • Patrón "^[A-Z][A-Z0-9_]+$"
    • detailstring obligatorio #
      • Caracteres máximos 1000
    • statusstring obligatorio #
      • Valores permitidos "open" · "resolved"
    • resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 1000
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/integration-conflictsconflicts.write

Registrar un conflicto

Guarda una diferencia de integración y el contexto necesario para decidir cómo resolverla.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"
  • resource_typestring obligatorio #
    • Patrón "^[a-z][a-z0-9_]+$"
  • external_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:/-]+$"
  • codestring obligatorio #
    • Patrón "^[A-Z][A-Z0-9_]+$"
  • detailstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 1000

Respuestas

Respuesta 201

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • resource_typestring obligatorio #
      • Patrón "^[a-z][a-z0-9_]+$"
    • external_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • codestring obligatorio #
      • Patrón "^[A-Z][A-Z0-9_]+$"
    • detailstring obligatorio #
      • Caracteres máximos 1000
    • statusstring obligatorio #
      • Valores permitidos "open" · "resolved"
    • resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 1000
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/integration-conflicts/{conflict_id}conflicts.read

Consultar un conflicto

Lee la diferencia, conexión, recurso afectado y decisiones registradas.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • conflict_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • resource_typestring obligatorio #
      • Patrón "^[a-z][a-z0-9_]+$"
    • external_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • codestring obligatorio #
      • Patrón "^[A-Z][A-Z0-9_]+$"
    • detailstring obligatorio #
      • Caracteres máximos 1000
    • statusstring obligatorio #
      • Valores permitidos "open" · "resolved"
    • resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 1000
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/integration-conflicts/{conflict_id}/resolveconflicts.write

Registrar la resolución de un conflicto

Guarda una nota operativa y el estado resuelto. No modifica por sí solo el producto, inventario o pedido: ejecuta la operación específica si corresponde.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • conflict_idstring ruta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
    • Patrón "^[A-Za-z0-9._:-]+$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • resolutionstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 1000
  • expected_versioninteger obligatorio #
    • Mínimo 1

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:-]+$"
    • resource_typestring obligatorio #
      • Patrón "^[a-z][a-z0-9_]+$"
    • external_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
      • Patrón "^[A-Za-z0-9._:/-]+$"
    • codestring obligatorio #
      • Patrón "^[A-Z][A-Z0-9_]+$"
    • detailstring obligatorio #
      • Caracteres máximos 1000
    • statusstring obligatorio #
      • Valores permitidos "open" · "resolved"
    • resolutionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres máximos 1000
      Regla 2 · null

      null

    • versioninteger obligatorio #
      • Mínimo 0
    • created_atstring obligatorio #
      • Formato "date-time"
    • resolved_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Operaciones de stock fuente

Débitos exactos, incertidumbre durable y lecturas correlacionadas de la fuente seleccionada.

GET/vendors/{vendor_id}/stock-effectssync.read

Listar operaciones de stock fuente

Consulta operaciones pendientes o completadas de la cuenta WooCommerce vinculada, con paginación.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • limitinteger consulta opcional

    Number of resources to return.

    • Mínimo 1
    • Máximo 100
    • Por defecto 50
  • page_afterstring consulta opcional

    Opaque cursor from page.next_cursor. It can be bound to the token, resource, vendor, and filters that created it; never decode it or reuse it in another context.

    • Caracteres máximos 1024
  • source_connection_idstring consulta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • include_completedboolean consulta opcional
    • Por defecto false

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    Ver campos de cada elemento · object

    An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • kindstring obligatorio #
      • Valores permitidos "observe" · "debit" · "restock"
    • originobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_order_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • sourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
    • original_debit_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
    • completeboolean obligatorio #

      boolean

    • next_actionstring obligatorio #
      • Valores permitidos "apply" · "reconcile" · "observe" · "none"
    • versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • commandobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • kindstring obligatorio #
        • Valores permitidos "debit" · "restock"
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      • before_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • after_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      Regla 2 · null

      null

    • application_proofobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "accepted_write"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · null

      null

    • observationobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • observed_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • claim_expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • last_errorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 80
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • accounting_statestring opcional #

      Separately reviewed stock accounting; the original provider application outcome is unchanged.

      • Valores permitidos "reconciled"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/stock-effects/{effect_id}sync.read

Consultar una operación de stock

Lee el comando y su evidencia sin exponer la clave privada de ejecución.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • effect_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #

    An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • kindstring obligatorio #
      • Valores permitidos "observe" · "debit" · "restock"
    • originobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_order_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • sourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
    • original_debit_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
    • completeboolean obligatorio #

      boolean

    • next_actionstring obligatorio #
      • Valores permitidos "apply" · "reconcile" · "observe" · "none"
    • versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • commandobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • kindstring obligatorio #
        • Valores permitidos "debit" · "restock"
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      • before_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • after_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      Regla 2 · null

      null

    • application_proofobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "accepted_write"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · null

      null

    • observationobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • observed_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • claim_expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • last_errorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 80
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • accounting_statestring opcional #

      Separately reviewed stock accounting; the original provider application outcome is unchanged.

      • Valores permitidos "reconciled"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/stock-effects/{effect_id}/claimsync.write

Tomar una operación de stock

Obtiene una concesión temporal para aplicar, reconciliar o observar el stock fuente según el estado guardado.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • effect_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • source_connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • expected_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • effectobject obligatorio #

      An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • vendor_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • kindstring obligatorio #
        • Valores permitidos "observe" · "debit" · "restock"
      • originobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • connection_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • listing_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • external_order_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • source_versionstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
      • inventory_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 1000
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • sourceobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • connection_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • account_generationinteger obligatorio #
          • Mínimo 1
          • Máximo 9007199254740990
        • targetobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • providercualquier JSON obligatorio #
            • Valor exacto "woocommerce"
          • product_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 32
          • variation_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 32
            Regla 2 · null

            null

          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • providercualquier JSON obligatorio #
            • Valor exacto "mercadolibre"
          • user_product_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • locationobject obligatorio #

            Se debe cumplir exactamente una alternativa:

            Regla 1 · object
            • Esta regla no permite propiedades adicionales.
            • typecualquier JSON obligatorio #
              • Valor exacto "selling_address"
            Regla 2 · object
            • Esta regla no permite propiedades adicionales.
            • typecualquier JSON obligatorio #
              • Valor exacto "seller_warehouse"
            • store_idstring obligatorio #
              • Caracteres mínimos 1
              • Caracteres máximos 160
            • network_node_idstring obligatorio #
              • Caracteres mínimos 1
              • Caracteres máximos 160
      • original_debit_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[a-f0-9]{64}$"
        Regla 2 · null

        null

      • statestring obligatorio #
        • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
      • completeboolean obligatorio #

        boolean

      • next_actionstring obligatorio #
        • Valores permitidos "apply" · "reconcile" · "observe" · "none"
      • versioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • commandobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • kindstring obligatorio #
          • Valores permitidos "debit" · "restock"
        • targetobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • providercualquier JSON obligatorio #
            • Valor exacto "woocommerce"
          • product_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 32
          • variation_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 32
            Regla 2 · null

            null

          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • providercualquier JSON obligatorio #
            • Valor exacto "mercadolibre"
          • user_product_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • locationobject obligatorio #

            Se debe cumplir exactamente una alternativa:

            Regla 1 · object
            • Esta regla no permite propiedades adicionales.
            • typecualquier JSON obligatorio #
              • Valor exacto "selling_address"
            Regla 2 · object
            • Esta regla no permite propiedades adicionales.
            • typecualquier JSON obligatorio #
              • Valor exacto "seller_warehouse"
            • store_idstring obligatorio #
              • Caracteres mínimos 1
              • Caracteres máximos 160
            • network_node_idstring obligatorio #
              • Caracteres mínimos 1
              • Caracteres máximos 160
        • deltainteger obligatorio #
          • Mínimo -1000000000
          • Máximo 1000000000
        • before_quantityinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • after_quantityinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • expected_source_versionstring obligatorio #

          Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

          • Patrón "^(0|[1-9][0-9]{0,18})$"
        • credential_generationstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 256
        Regla 2 · null

        null

      • application_proofobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • kindcualquier JSON obligatorio #
          • Valor exacto "receipt"
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • source_versionstring obligatorio #

          Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

          • Patrón "^(0|[1-9][0-9]{0,18})$"
        • quantityinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • deltainteger obligatorio #
          • Mínimo -1000000000
          • Máximo 1000000000
        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • kindcualquier JSON obligatorio #
          • Valor exacto "accepted_write"
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • expected_source_versionstring obligatorio #

          Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

          • Patrón "^(0|[1-9][0-9]{0,18})$"
        • deltainteger obligatorio #
          • Mínimo -1000000000
          • Máximo 1000000000
        Regla 2 · null

        null

      • observationobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • source_versionstring obligatorio #

          Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

          • Patrón "^(0|[1-9][0-9]{0,18})$"
        • quantityinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • observed_atstring obligatorio #
          • Formato "date-time"
        Regla 2 · null

        null

      • claim_expires_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • last_errorstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 80
        Regla 2 · null

        null

      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
      • accounting_statestring opcional #

        Separately reviewed stock accounting; the original provider application outcome is unchanged.

        • Valores permitidos "reconciled"
    • claim_tokenstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
      Regla 2 · null

      null

    • expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/stock-effects/{effect_id}/preparesync.write

Preparar el comando exacto

Guarda cantidad, versión e identidad antes de modificar stock. Una respuesta incierta nunca permite otro débito.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • effect_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • claim_tokenstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 64
  • expected_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • quantityinteger obligatorio #
    • Mínimo 0
    • Máximo 1000000000
  • source_versionstring obligatorio #

    Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

    • Patrón "^(0|[1-9][0-9]{0,18})$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #

    An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • kindstring obligatorio #
      • Valores permitidos "observe" · "debit" · "restock"
    • originobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_order_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • sourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
    • original_debit_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
    • completeboolean obligatorio #

      boolean

    • next_actionstring obligatorio #
      • Valores permitidos "apply" · "reconcile" · "observe" · "none"
    • versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • commandobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • kindstring obligatorio #
        • Valores permitidos "debit" · "restock"
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      • before_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • after_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      Regla 2 · null

      null

    • application_proofobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "accepted_write"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · null

      null

    • observationobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • observed_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • claim_expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • last_errorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 80
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • accounting_statestring opcional #

      Separately reviewed stock accounting; the original provider application outcome is unchanged.

      • Valores permitidos "reconciled"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/stock-effects/{effect_id}/acknowledgesync.write

Registrar el resultado del stock fuente

Conserva el recibo nativo, un rechazo definitivo de la misma ejecución o un resultado todavía incierto.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • effect_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

Se debe cumplir exactamente una alternativa:

Regla 1 · object
  • Esta regla no permite propiedades adicionales.
  • claim_tokenstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 64
  • expected_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • outcomecualquier JSON obligatorio #
    • Valor exacto "confirmed"
  • proofobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • kindcualquier JSON obligatorio #
      • Valor exacto "receipt"
    • operation_idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • source_versionstring obligatorio #

      Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

      • Patrón "^(0|[1-9][0-9]{0,18})$"
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • deltainteger obligatorio #
      • Mínimo -1000000000
      • Máximo 1000000000
Regla 2 · object
  • Esta regla no permite propiedades adicionales.
  • claim_tokenstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 64
  • expected_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • outcomecualquier JSON obligatorio #
    • Valor exacto "rejected"
  • codestring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 80
Regla 3 · object
  • Esta regla no permite propiedades adicionales.
  • claim_tokenstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 64
  • expected_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • outcomecualquier JSON obligatorio #
    • Valor exacto "unknown"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #

    An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • kindstring obligatorio #
      • Valores permitidos "observe" · "debit" · "restock"
    • originobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_order_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • sourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
    • original_debit_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
    • completeboolean obligatorio #

      boolean

    • next_actionstring obligatorio #
      • Valores permitidos "apply" · "reconcile" · "observe" · "none"
    • versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • commandobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • kindstring obligatorio #
        • Valores permitidos "debit" · "restock"
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      • before_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • after_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      Regla 2 · null

      null

    • application_proofobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "accepted_write"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · null

      null

    • observationobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • observed_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • claim_expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • last_errorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 80
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • accounting_statestring opcional #

      Separately reviewed stock accounting; the original provider application outcome is unchanged.

      • Valores permitidos "reconciled"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/stock-effects/{effect_id}/observesync.write

Confirmar una lectura del stock fuente

Registra una lectura nueva y su versión después de cualquier aplicación confirmada.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • effect_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • claim_tokenstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 64
  • expected_versioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • quantityinteger obligatorio #
    • Mínimo 0
    • Máximo 1000000000
  • source_versionstring obligatorio #

    Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

    • Patrón "^(0|[1-9][0-9]{0,18})$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #

    An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • kindstring obligatorio #
      • Valores permitidos "observe" · "debit" · "restock"
    • originobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_order_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • sourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
    • original_debit_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
    • completeboolean obligatorio #

      boolean

    • next_actionstring obligatorio #
      • Valores permitidos "apply" · "reconcile" · "observe" · "none"
    • versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • commandobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • kindstring obligatorio #
        • Valores permitidos "debit" · "restock"
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      • before_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • after_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      Regla 2 · null

      null

    • application_proofobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "accepted_write"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · null

      null

    • observationobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • observed_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • claim_expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • last_errorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 80
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • accounting_statestring opcional #

      Separately reviewed stock accounting; the original provider application outcome is unchanged.

      • Valores permitidos "reconciled"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/stock-observationssync.write

Solicitar una lectura durable de stock

Encola una lectura vinculada a una identidad persistida. No acepta una cantidad absoluta enviada por el cliente.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9_-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • source_connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • inventory_item_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 1000
  • observation_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160

Respuestas

Respuesta 202

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #

    An exact source operation with durable uncertainty. Confirmed application remains incomplete until a separately claimed fresh source observation. Receipt absence never authorizes another apply.

    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • vendor_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • kindstring obligatorio #
      • Valores permitidos "observe" · "debit" · "restock"
    • originobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_order_idstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 1000
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • sourceobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
    • original_debit_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "pending" · "uncertain" · "confirmed" · "rejected" · "blocked"
    • completeboolean obligatorio #

      boolean

    • next_actionstring obligatorio #
      • Valores permitidos "apply" · "reconcile" · "observe" · "none"
    • versioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • commandobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • kindstring obligatorio #
        • Valores permitidos "debit" · "restock"
      • targetobject obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 32
        • variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 32
          Regla 2 · null

          null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • providercualquier JSON obligatorio #
          • Valor exacto "mercadolibre"
        • user_product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • locationobject obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "selling_address"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "seller_warehouse"
          • store_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • network_node_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      • before_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • after_quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      Regla 2 · null

      null

    • application_proofobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • kindcualquier JSON obligatorio #
        • Valor exacto "accepted_write"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • expected_source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • deltainteger obligatorio #
        • Mínimo -1000000000
        • Máximo 1000000000
      Regla 2 · null

      null

    • observationobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • source_versionstring obligatorio #

        Monotonically increasing exact Int64 source version; never coerce to a JavaScript number.

        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • observed_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • claim_expires_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • last_errorstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 80
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • accounting_statestring opcional #

      Separately reviewed stock accounting; the original provider application outcome is unchanged.

      • Valores permitidos "reconciled"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

Grupo de recursos

Sincronización con WooCommerce

Descubrimiento privado y operación vinculada a una cuenta, con aceptación del vendedor y revisión vigente.

GET/vendors/{vendor_id}/woocommerce/pairingdiscovery.read

Consultar tienda vinculada

Lee la identidad de la tienda y los permisos actuales de su credencial.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • statuscualquier JSON obligatorio #
      • Valores permitidos "not_connected" · "paired" · "reconnect_required"
    • pairingobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • providercualquier JSON obligatorio #
        • Valor exacto "woocommerce"
      • account_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 64
      • site_urlstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      • installation_idstring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • credential_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • paired_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • accesscualquier JSON obligatorio #
      • Valores permitidos "discovery" · "sync" · null
    • scope_generationinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 1
      • Máximo 9007199254740990
      Regla 2 · null

      null

    • configuration_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • discovery_refresh_holdboolean obligatorio #

      True while the owner's matching or review is open: hold connector-initiated full rescans, which would supersede it. Owner-requested scans are never held.

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

PUT/vendors/{vendor_id}/woocommerce/pairingdiscovery.write

Vincular WooCommerce

Vincula una instalación existente con una credencial de conexión, sin activar escrituras.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • site_urlstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 256
  • installation_idstring obligatorio #
    • Patrón "^[a-f0-9]{32}$"
  • expected_account_generationinteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740990
  • expected_credential_generationinteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740990

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • providercualquier JSON obligatorio #
      • Valor exacto "woocommerce"
    • account_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • site_urlstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 256
    • installation_idstring obligatorio #
      • Patrón "^[a-f0-9]{32}$"
    • account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • credential_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • paired_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/discoveriesdiscovery.write

Iniciar descubrimiento

Crea un recorrido privado y reanudable del catálogo existente.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_account_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_credential_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_configuration_revisioninteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740990

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • providercualquier JSON obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre"
    • statuscualquier JSON obligatorio #
      • Valores permitidos "queued" · "running" · "completed" · "blocked" · "cancelled"
    • revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • configuration_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • declared_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      • Máximo 9007199254740990
      Regla 2 · null

      null

    • enumerated_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • scanned_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • candidate_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • excluded_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • failed_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • pages_scannedinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • cursor_restartsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • blocker_codesarray<string> obligatorio #
      • Elementos máximos 30
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • staleboolean obligatorio #

      boolean

    • resumableboolean obligatorio #

      boolean

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • next_attempt_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • capabilitiesobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • user_productsboolean obligatorio #

        boolean

      • warehouse_managementboolean obligatorio #

        boolean

      • multiwarehouseboolean obligatorio #

        boolean

      Regla 2 · null

      null

    • progressobject obligatorio #

      Seller-facing run state. Push runs are observed through accepted pages and the paired connector's reports about its own job; a run with neither for 30 minutes is stalled.

      • Esta regla no permite propiedades adicionales.
      • statecualquier JSON obligatorio #
        • Valores permitidos "queued" · "running" · "deferred" · "retrying" · "failed" · "stalled" · "awaiting_owner" · "completed" · "cancelled"
      • reason_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 64
        Regla 2 · null

        null

      • native_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[A-Z][A-Z0-9_]{0,79}$"
        Regla 2 · null

        null

      • last_page_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • next_attempt_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • reported_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • retryableboolean obligatorio #

        boolean

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/discoveries/{run_id}/pagesdiscovery.write

Registrar una página del catálogo

Guarda identidades y observaciones nativas con una confirmación idempotente por página.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • run_idstring ruta obligatorio
    • Patrón "^ds_[a-f0-9]{32}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • expected_account_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_credential_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_configuration_revisioninteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740990
  • expected_revisioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • page_sequenceinteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740990
  • itemsarray<object> obligatorio #
    • Elementos máximos 25
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • product_idstring obligatorio #
      • Patrón "^[1-9][0-9]{0,18}$"
    • variation_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[1-9][0-9]{0,18}$"
      Regla 2 · null

      null

    • titlestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 512
    • skustring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      Regla 2 · null

      null

    • attributesarray<object> obligatorio #
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 256
      • valuestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 2048
    • image_urlsarray<string> obligatorio #
      • Elementos máximos 12
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 2048
    • regular_price_clpinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 1
      • Máximo 1000000000
      Regla 2 · null

      null

    • effective_price_clpinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 1
      • Máximo 1000000000
      Regla 2 · null

      null

    • promotion_activeboolean obligatorio #

      boolean

    • stock_quantityinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      • Máximo 1000000000
      Regla 2 · null

      null

    • stock_versionstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^(0|[1-9][0-9]{0,18})$"
      Regla 2 · null

      null

    • stock_owner_idstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[1-9][0-9]{0,18}$"
      Regla 2 · null

      null

    • parent_capacity_exceededboolean obligatorio #

      boolean

    • reason_codesarray<string> obligatorio #
      • Elementos máximos 20
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • observed_atstring obligatorio #
      • Formato "date-time"
    • catalogobject opcional #
      • Esta regla no permite propiedades adicionales.
      • kindstring obligatorio #
        • Valores permitidos "simple" · "variable" · "grouped" · "external" · "unsupported"
      • descriptionstring obligatorio #
        • Caracteres máximos 5000
      • categoriesarray<object> obligatorio #
        • Elementos máximos 30
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • namestring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 256
        • patharray<string> obligatorio #
          • Elementos máximos 20
          Ver campos de cada elemento · string
          • Caracteres mínimos 1
          • Caracteres máximos 256
      • grouped_product_idsarray<string> obligatorio #
        • Elementos máximos 100
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_urlstring | null obligatorio #
        • Caracteres máximos 2048
      • exclusionstring | null obligatorio #
        • Valores permitidos "digital" · "service" · null · "content_limit"
      • imagesarray<object> obligatorio #
        • Elementos máximos 12
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • native_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • urlstring obligatorio #
          • Caracteres máximos 2048
          • Formato "uri"
      • priceobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • regularinteger | null obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • effectiveinteger | null obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • promotionboolean obligatorio #

          boolean

        • sale_startstring | null obligatorio #
          • Formato "date-time"
        • sale_endstring | null obligatorio #
          • Formato "date-time"
      • variant_imagesarray<object> obligatorio #
        • Elementos máximos 12
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • native_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • urlstring obligatorio #
          • Caracteres máximos 2048
          • Formato "uri"
      • namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 512
      • short_descriptionstring obligatorio #
        • Caracteres máximos 2000
      • publication_statusstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 64
      • weight_kgnumber | null obligatorio #
        • Mínimo 0
        • Máximo 2500
      • tagsarray<string> obligatorio #
        • Elementos máximos 30
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 64
      • descriptive_attributesarray<object> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • namestring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 256
        • valuesarray<string> obligatorio #
          • Elementos máximos 50
          Ver campos de cada elemento · string
          • Caracteres mínimos 1
          • Caracteres máximos 256
        • variationboolean obligatorio #

          boolean

        • visibleboolean opcional #

          Whether WooCommerce shows this attribute on the product page. Moku derives public features only from visible, non-variation attributes; observations without this field publish none.

      • default_optionsarray<object> obligatorio #
        • Elementos máximos 8
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • namestring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 64
        • valuestring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 64
      • stock_statusstring obligatorio #
        • Valores permitidos "instock" · "outofstock" · "onbackorder"
      • stock_managedboolean obligatorio #

        boolean

      • dimensions_cmobject opcional #

        Parent package dimensions converted from the store unit to centimetres. Null axes are not configured.

        • Esta regla no permite propiedades adicionales.
        • lengthnumber | null obligatorio #
          • Mínimo 0
          • Máximo 10000
        • widthnumber | null obligatorio #
          • Mínimo 0
          • Máximo 10000
        • heightnumber | null obligatorio #
          • Mínimo 0
          • Máximo 10000
      • variant_physicalobject | null opcional #

        Effective physical facts of an observed variation after WooCommerce's per-field parent fallback. Null for simple and parent-level observations.

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • weight_kgnumber | null obligatorio #
          • Mínimo 0
          • Máximo 2500
        • dimensions_cmobject obligatorio #
          • Esta regla no permite propiedades adicionales.
          • lengthnumber | null obligatorio #
            • Mínimo 0
            • Máximo 10000
          • widthnumber | null obligatorio #
            • Mínimo 0
            • Máximo 10000
          • heightnumber | null obligatorio #
            • Mínimo 0
            • Máximo 10000
        Regla 2 · null

        null

      • catalog_visibilitystring opcional #

        Native shop and search visibility. Hidden products remain private Moku drafts and are flagged for review.

        • Valores permitidos "visible" · "catalog" · "search" · "hidden"
      • sold_individuallyboolean opcional #

        Whether WooCommerce limits this product to one unit per order.

      • brandsarray<string> opcional #

        Names from the native product_brand taxonomy, when available.

        • Elementos máximos 10
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 256
  • next_cursorstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Caracteres mínimos 1
    • Caracteres máximos 2048
    Regla 2 · null

    null

  • completeboolean obligatorio #

    boolean

  • declared_totalinteger | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · integer
    • Mínimo 0
    • Máximo 9007199254740990
    Regla 2 · null

    null

  • enumerated_item_idsarray<string> obligatorio #
    • Elementos máximos 50
    Ver campos de cada elemento · string
    • Patrón "^[1-9][0-9]{0,18}$"
  • completed_listingsarray<string> obligatorio #
    • Elementos máximos 50
    Ver campos de cada elemento · string
    • Patrón "^[1-9][0-9]{0,18}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • providercualquier JSON obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre"
    • statuscualquier JSON obligatorio #
      • Valores permitidos "queued" · "running" · "completed" · "blocked" · "cancelled"
    • revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • configuration_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • declared_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      • Máximo 9007199254740990
      Regla 2 · null

      null

    • enumerated_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • scanned_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • candidate_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • excluded_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • failed_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • pages_scannedinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • cursor_restartsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • blocker_codesarray<string> obligatorio #
      • Elementos máximos 30
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • staleboolean obligatorio #

      boolean

    • resumableboolean obligatorio #

      boolean

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • next_attempt_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • capabilitiesobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • user_productsboolean obligatorio #

        boolean

      • warehouse_managementboolean obligatorio #

        boolean

      • multiwarehouseboolean obligatorio #

        boolean

      Regla 2 · null

      null

    • progressobject obligatorio #

      Seller-facing run state. Push runs are observed through accepted pages and the paired connector's reports about its own job; a run with neither for 30 minutes is stalled.

      • Esta regla no permite propiedades adicionales.
      • statecualquier JSON obligatorio #
        • Valores permitidos "queued" · "running" · "deferred" · "retrying" · "failed" · "stalled" · "awaiting_owner" · "completed" · "cancelled"
      • reason_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 64
        Regla 2 · null

        null

      • native_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[A-Z][A-Z0-9_]{0,79}$"
        Regla 2 · null

        null

      • last_page_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • next_attempt_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • reported_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • retryableboolean obligatorio #

        boolean

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/woocommerce/discoveries/{run_id}/page-receiptsdiscovery.read

Consultar confirmación de página

Recupera la confirmación de una página exacta después de perder su respuesta.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • expected_account_generationinteger consulta obligatorio
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_credential_generationinteger consulta obligatorio
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_configuration_revisioninteger consulta obligatorio
    • Mínimo 0
    • Máximo 9007199254740990
  • page_keystring consulta obligatorio
    • Caracteres mínimos 8
    • Caracteres máximos 128
  • run_idstring ruta obligatorio
    • Patrón "^ds_[a-f0-9]{32}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • acceptedboolean obligatorio #

      boolean

    • transport_fingerprintstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Patrón "^[a-f0-9]{64}$"
      Regla 2 · null

      null

    • runobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 64
      • providercualquier JSON obligatorio #
        • Valores permitidos "woocommerce" · "mercadolibre"
      • statuscualquier JSON obligatorio #
        • Valores permitidos "queued" · "running" · "completed" · "blocked" · "cancelled"
      • revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • configuration_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • declared_totalinteger | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · integer
        • Mínimo 0
        • Máximo 9007199254740990
        Regla 2 · null

        null

      • enumerated_listingsinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • scanned_listingsinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • candidate_countinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • excluded_countinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • failed_countinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • pages_scannedinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • cursor_restartsinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • blocker_codesarray<string> obligatorio #
        • Elementos máximos 30
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 64
      • staleboolean obligatorio #

        boolean

      • resumableboolean obligatorio #

        boolean

      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
      • completed_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • next_attempt_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • capabilitiesobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • user_productsboolean obligatorio #

          boolean

        • warehouse_managementboolean obligatorio #

          boolean

        • multiwarehouseboolean obligatorio #

          boolean

        Regla 2 · null

        null

      • progressobject obligatorio #

        Seller-facing run state. Push runs are observed through accepted pages and the paired connector's reports about its own job; a run with neither for 30 minutes is stalled.

        • Esta regla no permite propiedades adicionales.
        • statecualquier JSON obligatorio #
          • Valores permitidos "queued" · "running" · "deferred" · "retrying" · "failed" · "stalled" · "awaiting_owner" · "completed" · "cancelled"
        • reason_codestring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 64
          Regla 2 · null

          null

        • native_codestring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Patrón "^[A-Z][A-Z0-9_]{0,79}$"
          Regla 2 · null

          null

        • last_page_atstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • next_attempt_atstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • reported_atstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • retryableboolean obligatorio #

          boolean

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/discoveries/{run_id}/native-progressdiscovery.write

Informar el estado de la revisión del catálogo

El conector informa si espera capacidad, reintenta o falló, para la revisión exacta de la ejecución.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • run_idstring ruta obligatorio
    • Patrón "^ds_[a-f0-9]{32}$"
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object

The connector's latest observation of its own discovery job for one exact run revision. `running` clears an earlier report; `failed` is terminal until the owner retries the run.

  • Esta regla no permite propiedades adicionales.
  • expected_account_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_credential_generationinteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • expected_configuration_revisioninteger obligatorio #
    • Mínimo 0
    • Máximo 9007199254740990
  • expected_revisioninteger obligatorio #
    • Mínimo 1
    • Máximo 9007199254740990
  • statecualquier JSON obligatorio #
    • Valores permitidos "running" · "deferred" · "retrying" · "failed"
  • problem_codestring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Patrón "^[A-Z][A-Z0-9_]{0,79}$"
    Regla 2 · null

    null

  • next_attempt_atstring | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · string
    • Formato "date-time"
    Regla 2 · null

    null

  • observed_atstring obligatorio #
    • Formato "date-time"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • providercualquier JSON obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre"
    • statuscualquier JSON obligatorio #
      • Valores permitidos "queued" · "running" · "completed" · "blocked" · "cancelled"
    • revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • configuration_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • declared_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      • Máximo 9007199254740990
      Regla 2 · null

      null

    • enumerated_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • scanned_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • candidate_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • excluded_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • failed_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • pages_scannedinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • cursor_restartsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • blocker_codesarray<string> obligatorio #
      • Elementos máximos 30
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • staleboolean obligatorio #

      boolean

    • resumableboolean obligatorio #

      boolean

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • next_attempt_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • capabilitiesobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • user_productsboolean obligatorio #

        boolean

      • warehouse_managementboolean obligatorio #

        boolean

      • multiwarehouseboolean obligatorio #

        boolean

      Regla 2 · null

      null

    • progressobject obligatorio #

      Seller-facing run state. Push runs are observed through accepted pages and the paired connector's reports about its own job; a run with neither for 30 minutes is stalled.

      • Esta regla no permite propiedades adicionales.
      • statecualquier JSON obligatorio #
        • Valores permitidos "queued" · "running" · "deferred" · "retrying" · "failed" · "stalled" · "awaiting_owner" · "completed" · "cancelled"
      • reason_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 64
        Regla 2 · null

        null

      • native_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[A-Z][A-Z0-9_]{0,79}$"
        Regla 2 · null

        null

      • last_page_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • next_attempt_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • reported_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • retryableboolean obligatorio #

        boolean

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/woocommerce/discoveries/currentdiscovery.read

Consultar descubrimiento actual

Lee el recorrido solicitado para la tienda vinculada y su progreso.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject | null obligatorio #

    Se debe cumplir al menos una alternativa:

    Regla 1 · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • providercualquier JSON obligatorio #
      • Valores permitidos "woocommerce" · "mercadolibre"
    • statuscualquier JSON obligatorio #
      • Valores permitidos "queued" · "running" · "completed" · "blocked" · "cancelled"
    • revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • configuration_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • declared_totalinteger | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · integer
      • Mínimo 0
      • Máximo 9007199254740990
      Regla 2 · null

      null

    • enumerated_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • scanned_listingsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • candidate_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • excluded_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • failed_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • pages_scannedinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • cursor_restartsinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • blocker_codesarray<string> obligatorio #
      • Elementos máximos 30
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 64
    • staleboolean obligatorio #

      boolean

    • resumableboolean obligatorio #

      boolean

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    • completed_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • next_attempt_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • capabilitiesobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • user_productsboolean obligatorio #

        boolean

      • warehouse_managementboolean obligatorio #

        boolean

      • multiwarehouseboolean obligatorio #

        boolean

      Regla 2 · null

      null

    • progressobject obligatorio #

      Seller-facing run state. Push runs are observed through accepted pages and the paired connector's reports about its own job; a run with neither for 30 minutes is stalled.

      • Esta regla no permite propiedades adicionales.
      • statecualquier JSON obligatorio #
        • Valores permitidos "queued" · "running" · "deferred" · "retrying" · "failed" · "stalled" · "awaiting_owner" · "completed" · "cancelled"
      • reason_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 64
        Regla 2 · null

        null

      • native_codestring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Patrón "^[A-Z][A-Z0-9_]{0,79}$"
        Regla 2 · null

        null

      • last_page_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • next_attempt_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • reported_atstring | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · string
        • Formato "date-time"
        Regla 2 · null

        null

      • retryableboolean obligatorio #

        boolean

    Regla 2 · null

    null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/woocommerce/membershipssync.read

Consultar correspondencias activadas

Devuelve una página acotada de publicaciones existentes bajo la revisión vigente.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • page_afterstring consulta opcional
    • Patrón "^[a-f0-9]{64}$"
  • limitinteger consulta opcional
    • Mínimo 1
    • Máximo 25

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataarray<object> obligatorio #
    • Elementos máximos 25
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • membership_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • review_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • inventory_item_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • external_product_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • product_namestring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • listing_versioninteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • configuration_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • account_generationinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • product_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • variation_idstring | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      Regla 2 · null

      null

    • external_variation_idstring | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      Regla 2 · null

      null

    • skustring | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      Regla 2 · null

      null

    • variation_optionsobject obligatorio #
      Valores de las claves adicionales · string

      string

    • order_ingress_fromstring obligatorio #
      • Formato "date-time"
    • statestring obligatorio #
      • Valores permitidos "active" · "paused"
    • sourcesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • catalogstring obligatorio #
        • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
      • reference_pricestring obligatorio #
        • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
      • inventorystring obligatorio #
        • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
    • reference_sourceboolean obligatorio #

      boolean

    • price_write_approvedboolean obligatorio #

      boolean

    • price_blocker_codesarray<string> obligatorio #
      • Elementos máximos 20
      Ver campos de cada elemento · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • referenceobject | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • inventory_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • variation_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • price_clpinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • reference_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • source_providerstring obligatorio #
        • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
      • source_connection_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_account_generationinteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 0
        • Máximo 1000000000
        Regla 2 · null

        null

      • source_versionstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • observed_atstring obligatorio #
        • Formato "date-time"
      • received_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • source_read_errornull | object obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · null

      null

      Regla 2 · object
      • Esta regla no permite propiedades adicionales.
      • codestring obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{0,99}$"
      • observed_atstring obligatorio #
        • Formato "date-time"
      • received_atstring obligatorio #
        • Formato "date-time"
  • pageobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • next_cursorstring | null obligatorio #

      string | null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/source-observationssync.write

Registrar lecturas de stock

Registra hasta 25 observaciones nativas; una lectura no confirma un débito incierto.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • observationsarray<object> obligatorio #
    • Elementos mínimos 0
    • Elementos máximos 25
    Ver campos de cada elemento · object

    Se debe cumplir exactamente una alternativa:

    Regla 1 · object
    • Esta regla no permite propiedades adicionales.
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observation_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • source_versionstring obligatorio #
      • Caracteres máximos 19
      • Patrón "^(0|[1-9][0-9]{0,18})$"
    • observed_atstring obligatorio #
      • Formato "date-time"
    • lineageobject opcional #

      Paired native version lineage, outside frozen mutation commands. Unknown timing stays null; receipt time is never the original source clock.

      • Esta regla no permite propiedades adicionales.
      • source_change_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • source_versionstring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • changed_atstring | null obligatorio #
        • Formato "date-time"
      • provenancestring obligatorio #
        • Valores permitidos "native_stock_hook" · "native_receipt_transaction" · "observation_only"
      • clock_uncertainty_msinteger | null obligatorio #
        • Mínimo 0
        • Máximo 60000
      • cause_operation_idstring | null obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • native_receipt_atstring | null obligatorio #
        • Formato "date-time"
    Regla 2 · object
    • Esta regla no permite propiedades adicionales.
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observation_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observed_atstring obligatorio #
      • Formato "date-time"
    • error_codestring obligatorio #
      • Patrón "^[A-Z][A-Z0-9_]{0,99}$"
  • refreshobject opcional #

    Optional initial/resume source inventory scan progress. The server validates the exact next membership page and records completion only with the batch results. It is not a convergence claim.

    • Esta regla no permite propiedades adicionales.
    • refresh_idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • expected_revisioninteger obligatorio #
      • Mínimo 1
    • after_idstring | null obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • next_after_idstring | null obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • completeboolean obligatorio #

      boolean

  • cycleobject opcional #

    Rolling source traversal page. A null after_id starts a cycle; later pages continue the stored cursor with the exact next membership page, including empty and all-failed pages. Accepted pages record reconciliation progress; any mismatch credits nothing and returns restart. Descriptor-free batches (targeted native-parent reads) earn no traversal credit.

    • Esta regla no permite propiedades adicionales.
    • cycle_idstring obligatorio #
      • Patrón "^[A-Za-z0-9._:-]{1,160}$"
    • after_idstring | null obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • next_after_idstring | null obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • completeboolean obligatorio #

      boolean

Se debe cumplir al menos una alternativa:

Regla 1 · object
  • observationscualquier JSON opcional #
    • Elementos mínimos 1
Regla 2 · cualquier JSON

Campos obligatorios en esta regla: refresh

Regla 3 · cualquier JSON

Campos obligatorios en esta regla: cycle

Reglas condicionales del contrato
{
  "not": {
    "required": [
      "refresh",
      "cycle"
    ]
  }
}

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • resultsarray<object> obligatorio #

      One result per submitted observation, in request order.

      • Elementos mínimos 0
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • observation_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • inventory_item_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • statusstring obligatorio #
        • Valores permitidos "observed" · "unavailable" · "failed"
      • codestring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • observation_revisioninteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 0
        • Máximo 1000000000
        Regla 2 · null

        null

      • inventory_versioninteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 0
        • Máximo 1000000000
        Regla 2 · null

        null

      • unsettled_effectsinteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 0
        • Máximo 1000000000
        Regla 2 · null

        null

    • cycleobject | null obligatorio #

      Null for refresh pages and descriptor-free batches.

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object

      Receipted traversal outcome. restart means the page did not match the stored cycle, review, configuration or installation: start a new cycle from the first page.

      • Esta regla no permite propiedades adicionales.
      • outcomestring obligatorio #
        • Valores permitidos "progressed" · "restart"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/woocommerce/projectionssync.read

Consultar proyección pendiente

Recupera la operación del destino físico sin crear otra escritura.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • connection_idstring consulta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • channel_listing_idstring consulta obligatorio
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • fieldstring consulta obligatorio
    • Valores permitidos "stock" · "regular_price"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject | null obligatorio #

    Se debe cumplir exactamente una alternativa:

    Regla 1 · object
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • review_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • configuration_revisioninteger obligatorio #
      • Mínimo 1
    • qualification_revisioninteger obligatorio #
      • Mínimo 1
    • pricing_revisioninteger | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · integer
      • Mínimo 1
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "uncertain" · "confirmed" · "rejected"
    • versioninteger obligatorio #
      • Mínimo 1
    • commandobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • fieldstring obligatorio #
        • Valores permitidos "stock" · "regular_price"
      • targetobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • providerstring obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Patrón "^[1-9][0-9]*$"
        • variation_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Patrón "^[1-9][0-9]*$"
          Regla 2 · null

          null

      • external_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_variant_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • beforeinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_provider_versionstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • proofobject | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindstring obligatorio #
        • Valor exacto "native_receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • provider_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
    Regla 2 · null

    null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/projectionssync.write

Preparar proyección

Fija una intención de stock o precio bajo la configuración y los permisos revisados.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.
  • connection_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • channel_listing_idstring obligatorio #
    • Caracteres mínimos 1
    • Caracteres máximos 160
  • expected_configuration_revisioninteger obligatorio #
    • Mínimo 1
  • observationobject obligatorio #

    Se debe cumplir exactamente una alternativa:

    Regla 1 · object
    • Esta regla no permite propiedades adicionales.
    • fieldstring obligatorio #
      • Valor exacto "stock"
    • quantityinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • provider_versionstring | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      Regla 2 · null

      null

    • observed_atstring obligatorio #
      • Formato "date-time"
    Regla 2 · object
    • Esta regla no permite propiedades adicionales.
    • fieldstring obligatorio #
      • Valor exacto "regular_price"
    • regular_price_clpinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • effective_price_clpinteger obligatorio #
      • Mínimo 0
      • Máximo 1000000000
    • promotion_activeboolean obligatorio #

      boolean

    • provider_versionstring | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · string
      • Caracteres mínimos 1
      • Caracteres máximos 160
      Regla 2 · null

      null

    • observed_atstring obligatorio #
      • Formato "date-time"
  • delivery_idstring opcional #

    Owned delivery identity; the server resolves its original event privately. Capture metadata is never accepted from a caller.

    • Patrón "^[a-f0-9]{64}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • operationobject | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • review_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • configuration_revisioninteger obligatorio #
        • Mínimo 1
      • qualification_revisioninteger obligatorio #
        • Mínimo 1
      • pricing_revisioninteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 1
        Regla 2 · null

        null

      • statestring obligatorio #
        • Valores permitidos "uncertain" · "confirmed" · "rejected"
      • versioninteger obligatorio #
        • Mínimo 1
      • commandobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • fieldstring obligatorio #
          • Valores permitidos "stock" · "regular_price"
        • targetobject obligatorio #
          • Esta regla no permite propiedades adicionales.
          • providerstring obligatorio #
            • Valor exacto "woocommerce"
          • product_idstring obligatorio #
            • Patrón "^[1-9][0-9]*$"
          • variation_idstring | null obligatorio #

            Se debe cumplir exactamente una alternativa:

            Regla 1 · string
            • Patrón "^[1-9][0-9]*$"
            Regla 2 · null

            null

        • external_item_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • external_variant_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • beforeinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • afterinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • expected_provider_versionstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • input_fingerprintstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • credential_generationstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
      • proofobject | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • kindstring obligatorio #
          • Valor exacto "native_receipt"
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • input_fingerprintstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • afterinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • provider_versionstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        Regla 2 · null

        null

      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    • unchangedboolean obligatorio #

      boolean

    • review_requiredstring | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · string
      • Valores permitidos "PROMOTION_ACTIVE" · "NATIVE_PRICE_CHANGED" · "SYNC_PRICE_REVIEW_REQUIRED" · "KEEP_NATIVE_PRICES"
      Regla 2 · null

      null

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

GET/vendors/{vendor_id}/woocommerce/projections/{projection_id}sync.read

Consultar operación de destino

Lee el comando y la evidencia conservada para una proyección existente.

Ver contrato y ejemplos

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • projection_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"

Respuestas

Respuesta 200

Successful response

application/json

object
  • Esta regla no permite propiedades adicionales.
  • dataobject obligatorio #
    • Esta regla no permite propiedades adicionales.
    • idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • connection_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • channel_listing_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • review_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • configuration_revisioninteger obligatorio #
      • Mínimo 1
    • qualification_revisioninteger obligatorio #
      • Mínimo 1
    • pricing_revisioninteger | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · integer
      • Mínimo 1
      Regla 2 · null

      null

    • statestring obligatorio #
      • Valores permitidos "uncertain" · "confirmed" · "rejected"
    • versioninteger obligatorio #
      • Mínimo 1
    • commandobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • fieldstring obligatorio #
        • Valores permitidos "stock" · "regular_price"
      • targetobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • providerstring obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Patrón "^[1-9][0-9]*$"
        • variation_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Patrón "^[1-9][0-9]*$"
          Regla 2 · null

          null

      • external_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_variant_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • beforeinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_provider_versionstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    • proofobject | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindstring obligatorio #
        • Valor exacto "native_receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • provider_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      Regla 2 · null

      null

    • created_atstring obligatorio #
      • Formato "date-time"
    • updated_atstring obligatorio #
      • Formato "date-time"
Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • RateLimit-Limit integer

    Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

    • Mínimo 1
  • RateLimit-Remaining integer

    Requests remaining in the credential's assigned vendor slot for the current window.

    • Mínimo 0
  • RateLimit-Reset integer

    Unix timestamp in seconds when the current window resets.

    • Mínimo 0

Errores

Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

400 · Solicitud inválida

The request or cursor is invalid.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

401 · Token no válido

The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • WWW-Authenticate string

    string

403 · Permiso insuficiente

The token lacks the required scope.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

404 · Recurso no encontrado

The requested resource was not found or was not granted to the credential.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

409 · Conflicto de estado, versión o autoridad

The resource version, idempotency key, state machine, or authority fence conflicts with the request.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

429 · Límite de solicitudes

The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
503 · Servicio no disponible

Authentication, catalog, inventory, or rate-limit state could not be checked safely.

application/problem+json · Problem

Cabeceras de respuesta
  • X-Request-Id string

    Server-generated request identifier to include in support requests.

    string

  • Retry-After integer
    • Mínimo 1
Campos de Problem (sin envoltura data)object
  • Esta regla no permite propiedades adicionales.
  • typestring obligatorio #
    • Formato "uri"
  • titlestring obligatorio #

    string

  • statusinteger obligatorio #

    integer

  • codestring obligatorio #

    Stable public error code. Each code has a recovery entry at its type URL.

    • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
  • detailstring obligatorio #

    string

  • request_idstring obligatorio #

    string

  • errorsarray<object> opcional #

    Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

    • Elementos mínimos 1
    • Elementos máximos 20
    Ver campos de cada elemento · object
    • Esta regla no permite propiedades adicionales.
    • pointerstring obligatorio #

      RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

      • Caracteres máximos 512
    • codestring obligatorio #

      required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

      • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
    • detailstring obligatorio #

      string

Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

POST/vendors/{vendor_id}/woocommerce/projections/{projection_id}/authorizesync.write

Verificar permiso de ejecución

Revalida los permisos y datos actuales antes de la primera escritura nativa.

Ver contrato y ejemplos

Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

Parámetros

  • vendor_idstring ruta obligatorio

    Vendor ID returned by GET /vendors.

    • Caracteres mínimos 1
    • Caracteres máximos 128
  • Idempotency-Keystring cabecera obligatorio

    Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

    • Patrón "^[A-Za-z0-9._:-]{8,128}$"
  • projection_idstring ruta obligatorio
    • Patrón "^[a-f0-9]{64}$"

Solicitud

El cuerpo JSON es obligatorio.

Campos del cuerpo · application/json object
  • Esta regla no permite propiedades adicionales.

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • fieldstring obligatorio #
        • Valores permitidos "stock" · "regular_price"
      • targetobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • providerstring obligatorio #
          • Valor exacto "woocommerce"
        • product_idstring obligatorio #
          • Patrón "^[1-9][0-9]*$"
        • variation_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Patrón "^[1-9][0-9]*$"
          Regla 2 · null

          null

      • external_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_variant_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • beforeinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • expected_provider_versionstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • credential_generationstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/projections/{projection_id}/acknowledgesync.write

    Registrar resultado nativo

    Confirma un recibo exacto o conserva la incertidumbre de la operación.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"
    • projection_idstring ruta obligatorio
      • Patrón "^[a-f0-9]{64}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • expected_versioninteger obligatorio #
      • Mínimo 1
    • outcomestring obligatorio #
      • Valores permitidos "confirmed" · "rejected" · "unknown"
    • proofobject | null obligatorio #

      Se debe cumplir exactamente una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • kindstring obligatorio #
        • Valor exacto "native_receipt"
      • operation_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • input_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • provider_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      Regla 2 · null

      null

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • review_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • configuration_revisioninteger obligatorio #
        • Mínimo 1
      • qualification_revisioninteger obligatorio #
        • Mínimo 1
      • pricing_revisioninteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 1
        Regla 2 · null

        null

      • statestring obligatorio #
        • Valores permitidos "uncertain" · "confirmed" · "rejected"
      • versioninteger obligatorio #
        • Mínimo 1
      • commandobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • fieldstring obligatorio #
          • Valores permitidos "stock" · "regular_price"
        • targetobject obligatorio #
          • Esta regla no permite propiedades adicionales.
          • providerstring obligatorio #
            • Valor exacto "woocommerce"
          • product_idstring obligatorio #
            • Patrón "^[1-9][0-9]*$"
          • variation_idstring | null obligatorio #

            Se debe cumplir exactamente una alternativa:

            Regla 1 · string
            • Patrón "^[1-9][0-9]*$"
            Regla 2 · null

            null

        • external_item_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • external_variant_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • beforeinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • afterinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • expected_provider_versionstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • input_fingerprintstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • credential_generationstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
      • proofobject | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • kindstring obligatorio #
          • Valor exacto "native_receipt"
        • operation_idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • input_fingerprintstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • afterinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • provider_versionstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        Regla 2 · null

        null

      • created_atstring obligatorio #
        • Formato "date-time"
      • updated_atstring obligatorio #
        • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/capabilitiesdiscovery.write

    Comprobar compatibilidad nativa

    Deriva capacidades a partir de la inspección del protocolo y almacenamiento de la tienda.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • expected_account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • expected_credential_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • inspectionobject obligatorio #

      Bounded facts read by the paired native plugin. Moku derives technical capabilities from the supported protocol and storage contract; this is native attestation, not a hardware attestation or operational soak result.

      • Esta regla no permite propiedades adicionales.
      • protocolstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • plugin_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • wordpress_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • woocommerce_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • php_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • database_familystring obligatorio #
        • Valores permitidos "mysql" · "mariadb"
      • database_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • currencystring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • global_stock_managementboolean obligatorio #

        boolean

      • hposboolean obligatorio #

        boolean

      • product_storestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • variation_storestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 100
      • schemasobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • transportinteger obligatorio #
          • Mínimo 0
          • Máximo 100
        • stock_receiptsinteger obligatorio #
          • Mínimo 0
          • Máximo 100
        • price_receiptsinteger obligatorio #
          • Mínimo 0
          • Máximo 100
        • order_journalinteger obligatorio #
          • Mínimo 0
          • Máximo 100
      • enginesobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • productsstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • product_metadatastring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • product_lookupstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • transport_recordsstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • transport_leasesstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • stock_versionsstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • stock_receiptsstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • price_receiptsstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • order_journalstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
        • journal_controlstring | null obligatorio #
          • Patrón "^[A-Za-z0-9_]{1,40}$"
      • probesobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • products_readboolean obligatorio #

          boolean

        • orders_readboolean obligatorio #

          boolean

        • native_stock_hookboolean obligatorio #

          boolean

        • transaction_guardboolean obligatorio #

          boolean

      • inspected_atstring obligatorio #
        • Formato "date-time"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statusstring obligatorio #
        • Valores permitidos "compatible" · "incompatible"
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • qualification_revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • inspection_fingerprintstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • blocker_codesarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres máximos 100
      • checked_atstring obligatorio #
        • Formato "date-time"
      • evidence_kindstring obligatorio #
        • Valor exacto "paired_native_inspection"
      • operational_soak_qualifiedboolean obligatorio #
        • Valor exacto false
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/runtimesync.read

    Consultar estado operativo

    Lee la revisión vigente, pausa y progreso de la lectura inicial de inventario.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • statestring obligatorio #
        • Valores permitidos "awaiting_activation" · "active" · "paused"
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • installation_idstring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • bindingobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • review_idstring obligatorio #
          • Patrón "^[a-f0-9]{32}$"
        • configuration_revisioninteger obligatorio #
          • Mínimo 1
          • Máximo 9007199254740990
        • connection_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • order_ingress_fromstring obligatorio #
          • Formato "date-time"
        Regla 2 · null

        null

      • pauseobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • noncestring obligatorio #
          • Patrón "^[a-f0-9]{32}$"
        • requested_atstring obligatorio #
          • Formato "date-time"
        Regla 2 · null

        null

      • source_refreshobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • statestring obligatorio #
          • Valores permitidos "pending" · "completed"
        • revisioninteger obligatorio #
          • Mínimo 1
          • Máximo 9007199254740990
        • started_atstring obligatorio #
          • Formato "date-time"
        • next_membership_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Patrón "^[a-f0-9]{64}$"
          Regla 2 · null

          null

        • processed_itemsinteger obligatorio #
          • Mínimo 0
          • Máximo 9007199254740990
        • failed_itemsinteger obligatorio #
          • Mínimo 0
          • Máximo 9007199254740990
        Regla 2 · null

        null

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/order-journalsync.write

    Registrar observación de pedido

    Admite hechos nativos en el modelo existente de pedidos y preserva su contexto original.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"
    • X-Moku-Native-Pause-Noncestring cabecera opcional

      Exact current closed native journal epoch, verified against the server-retained entry manifest. It never permits new post-fence orders.

      • Patrón "^[a-f0-9]{32}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • entry_idstring obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • sequencestring obligatorio #
      • Patrón "^[1-9][0-9]{0,18}$"
    • captured_atstring obligatorio #
      • Formato "date-time"
    • scopeobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • review_idstring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • configuration_revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • installation_idstring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • order_ingress_fromstring obligatorio #
        • Formato "date-time"
    • nativeobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • external_order_idstring obligatorio #
        • Patrón "^woo_[a-f0-9]{32}_[1-9][0-9]{0,18}$"
      • orderobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • source_versionstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • source_updated_atstring obligatorio #

          Canonical UTC timestamp ending in Z, no more than 10 minutes in the future.

          • Patrón "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$"
          • Formato "date-time"
        • statusstring obligatorio #
          • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
        • currencycualquier JSON obligatorio #
          • Valor exacto "CLP"
        • order_numberstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 64
        • linesarray<object> obligatorio #
          • Elementos mínimos 1
          • Elementos máximos 20
          Ver campos de cada elemento · object
          • Esta regla no permite propiedades adicionales.
          • external_product_idstring obligatorio #
            • Patrón "^[1-9][0-9]{0,18}$"
          • external_variation_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Patrón "^[1-9][0-9]{0,18}$"
            Regla 2 · null

            null

          • quantityinteger obligatorio #
            • Mínimo 1
            • Máximo 100
          • unit_priceinteger obligatorio #
            • Mínimo 1
            • Máximo 1000000000
          • line_totalinteger obligatorio #
            • Mínimo 0
            • Máximo 1000000000
        • shipping_totalinteger | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · integer
          • Mínimo 0
          • Máximo 1000000000
          Regla 2 · null

          null

        • contact_emailnull obligatorio #

          null

        • delivery_addressnull obligatorio #

          null

        • source_created_atstring obligatorio #

          Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

          • Formato "date-time"
      • stock_effect_evidencearray<object> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · object
        • Esta regla no permite propiedades adicionales.
        • external_product_idstring obligatorio #
          • Patrón "^[1-9][0-9]{0,18}$"
        • external_variation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Patrón "^[1-9][0-9]{0,18}$"
          Regla 2 · null

          null

        • occurred_atstring obligatorio #
          • Formato "date-time"
        • referencestring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 256
        • captured_epochobject | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • review_idstring obligatorio #
            • Patrón "^[a-f0-9]{32}$"
          • configuration_revisioninteger obligatorio #
            • Mínimo 1
            • Máximo 9007199254740990
          • connection_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
          • account_generationinteger obligatorio #
            • Mínimo 1
            • Máximo 9007199254740990
          • installation_idstring obligatorio #
            • Patrón "^[a-f0-9]{32}$"
          • order_ingress_fromstring obligatorio #
            • Formato "date-time"
          Regla 2 · null

          null

    • captured_epochobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • review_idstring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • configuration_revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • account_generationinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • installation_idstring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • order_ingress_fromstring obligatorio #
        • Formato "date-time"
      Regla 2 · null

      null

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • entry_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • operation_hashstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • statusstring obligatorio #
        • Valores permitidos "accepted" · "pending"
      • dispositionstring | null obligatorio #
        • Valores permitidos "observed" · "unmapped" · "historical" · "history_review" · null
      • external_orderobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • vendor_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • connection_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • external_order_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:/-]+$"
        • moku_order_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • source_versionstring obligatorio #

          string

        • source_updated_atstring obligatorio #
          • Formato "date-time"
        • statusstring obligatorio #
          • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
        • currencycualquier JSON obligatorio #
          • Valor exacto "CLP"
        • order_numberstring obligatorio #

          string

        • linesarray<object> obligatorio #
          Ver campos de cada elemento · object
          • Esta regla no permite propiedades adicionales.
          • channel_listing_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
            • Patrón "^[A-Za-z0-9._:-]+$"
          • quantityinteger obligatorio #
            • Mínimo 1
            • Máximo 100
          • unit_priceinteger obligatorio #

            Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

            • Mínimo 1
            • Máximo 1000000000
          • line_totalinteger obligatorio #

            Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

            • Mínimo 0
            • Máximo 1000000000
          • inventory_item_idstring obligatorio #

            Opaque inventory identity. Persist this value instead of interpreting or constructing it.

            • Caracteres mínimos 1
            • Caracteres máximos 1000
          • product_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
            • Patrón "^[A-Za-z0-9._:-]+$"
          • variation_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 160
            • Patrón "^[A-Za-z0-9._:-]+$"
            Regla 2 · null

            null

          • skustring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres máximos 160
            Regla 2 · null

            null

          • product_namestring obligatorio #

            string

          • product_image_urlstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Formato "uri"
            Regla 2 · null

            null

          • variation_optionsobject obligatorio #
            Valores de las claves adicionales · string

            string

        • subtotalinteger obligatorio #
          • Mínimo 0
        • shipping_totalinteger | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · integer
          • Mínimo 0
          Regla 2 · null

          null

        • totalinteger | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · integer
          • Mínimo 0
          Regla 2 · null

          null

        • contact_emailstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "email"
          Regla 2 · null

          null

        • delivery_addressobject | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • recipient_namestring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 200
          • streetstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 200
          • address_line_2string | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres máximos 200
            Regla 2 · null

            null

          • comunastring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 120
            • Máximo de bytes UTF-8 120
          • regionstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 120
            • Máximo de bytes UTF-8 120
          • phonestring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 32
            Regla 2 · null

            null

          Regla 2 · null

          null

        • contact_erased_atstring | null obligatorio #

          When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • inventory_effectstring obligatorio #
          • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
        • inventory_authoritystring obligatorio #
          • Valores permitidos "moku" · "channel"
        • fulfillment_authoritystring obligatorio #
          • Valores permitidos "moku" · "channel"
        • reservation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
          Regla 2 · null

          null

        • manual_review_requiredboolean obligatorio #

          boolean

        • terminal_resolutionstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
          Regla 2 · null

          null

        • terminal_resolved_atstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • versioninteger obligatorio #
          • Mínimo 0
        • created_atstring obligatorio #
          • Formato "date-time"
        • updated_atstring obligatorio #
          • Formato "date-time"
        • source_stockobject obligatorio #
          • Esta regla no permite propiedades adicionales.
          • statestring obligatorio #
            • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
          • connection_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 160
            Regla 2 · null

            null

          • effect_idsarray<string> obligatorio #
            • Elementos máximos 40
            Ver campos de cada elemento · string
            • Patrón "^[a-f0-9]{64}$"
          • codestring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 80
            Regla 2 · null

            null

        • source_created_atstring opcional #

          Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

          • Formato "date-time"

        Se deben cumplir todas las reglas:

        Regla 1 · cualquier JSON
        Reglas condicionales del contrato
        {
          "if": {
            "properties": {
              "fulfillment_authority": {
                "const": "moku"
              },
              "contact_erased_at": {
                "type": "null"
              }
            }
          },
          "then": {
            "properties": {
              "shipping_total": {
                "not": {
                  "type": "null"
                }
              },
              "total": {
                "not": {
                  "type": "null"
                }
              },
              "contact_email": {
                "not": {
                  "type": "null"
                }
              },
              "delivery_address": {
                "type": "object",
                "properties": {
                  "phone": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              }
            }
          }
        }
        Regla 2 · null

        null

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/order-journal/{entry_id}sync.read

    Recuperar confirmación de pedido

    Consulta la confirmación original sin volver a aplicar un movimiento de stock.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • entry_idstring ruta obligatorio
      • Patrón "^[a-f0-9]{64}$"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • entry_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • operation_hashstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • statusstring obligatorio #
        • Valores permitidos "accepted" · "pending"
      • dispositionstring | null obligatorio #
        • Valores permitidos "observed" · "unmapped" · "historical" · "history_review" · null
      • external_orderobject | null obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • vendor_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • connection_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • external_order_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:/-]+$"
        • moku_order_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
        • source_versionstring obligatorio #

          string

        • source_updated_atstring obligatorio #
          • Formato "date-time"
        • statusstring obligatorio #
          • Valores permitidos "pending" · "paid" · "cancelled" · "failed"
        • currencycualquier JSON obligatorio #
          • Valor exacto "CLP"
        • order_numberstring obligatorio #

          string

        • linesarray<object> obligatorio #
          Ver campos de cada elemento · object
          • Esta regla no permite propiedades adicionales.
          • channel_listing_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
            • Patrón "^[A-Za-z0-9._:-]+$"
          • quantityinteger obligatorio #
            • Mínimo 1
            • Máximo 100
          • unit_priceinteger obligatorio #

            Actual positive native unit price before the line discount, in whole CLP. Do not invent a rounded effective unit price from a discounted line total.

            • Mínimo 1
            • Máximo 1000000000
          • line_totalinteger obligatorio #

            Actual final line amount after native line discounts, in whole CLP. May be zero; cannot exceed quantity multiplied by the actual pre-discount unit_price.

            • Mínimo 0
            • Máximo 1000000000
          • inventory_item_idstring obligatorio #

            Opaque inventory identity. Persist this value instead of interpreting or constructing it.

            • Caracteres mínimos 1
            • Caracteres máximos 1000
          • product_idstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 160
            • Patrón "^[A-Za-z0-9._:-]+$"
          • variation_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 160
            • Patrón "^[A-Za-z0-9._:-]+$"
            Regla 2 · null

            null

          • skustring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres máximos 160
            Regla 2 · null

            null

          • product_namestring obligatorio #

            string

          • product_image_urlstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Formato "uri"
            Regla 2 · null

            null

          • variation_optionsobject obligatorio #
            Valores de las claves adicionales · string

            string

        • subtotalinteger obligatorio #
          • Mínimo 0
        • shipping_totalinteger | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · integer
          • Mínimo 0
          Regla 2 · null

          null

        • totalinteger | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · integer
          • Mínimo 0
          Regla 2 · null

          null

        • contact_emailstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "email"
          Regla 2 · null

          null

        • delivery_addressobject | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • recipient_namestring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 200
          • streetstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 200
          • address_line_2string | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres máximos 200
            Regla 2 · null

            null

          • comunastring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 120
            • Máximo de bytes UTF-8 120
          • regionstring obligatorio #
            • Caracteres mínimos 1
            • Caracteres máximos 120
            • Máximo de bytes UTF-8 120
          • phonestring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 32
            Regla 2 · null

            null

          Regla 2 · null

          null

        • contact_erased_atstring | null obligatorio #

          When Moku erased the contact email and delivery address, 12 months after the order's last activity (Moku's Privacy Policy, section 10); null while they are kept. Once set, contact_email and delivery_address are null, even for a Moku-fulfilled order.

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • inventory_effectstring obligatorio #
          • Valores permitidos "reserved" · "consumed" · "released" · "channel_managed"
        • inventory_authoritystring obligatorio #
          • Valores permitidos "moku" · "channel"
        • fulfillment_authoritystring obligatorio #
          • Valores permitidos "moku" · "channel"
        • reservation_idstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          • Patrón "^[A-Za-z0-9._:-]+$"
          Regla 2 · null

          null

        • manual_review_requiredboolean obligatorio #

          boolean

        • terminal_resolutionstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Valores permitidos "cancel_without_restock" · "cancel_and_restock"
          Regla 2 · null

          null

        • terminal_resolved_atstring | null obligatorio #

          Se debe cumplir al menos una alternativa:

          Regla 1 · string
          • Formato "date-time"
          Regla 2 · null

          null

        • versioninteger obligatorio #
          • Mínimo 0
        • created_atstring obligatorio #
          • Formato "date-time"
        • updated_atstring obligatorio #
          • Formato "date-time"
        • source_stockobject obligatorio #
          • Esta regla no permite propiedades adicionales.
          • statestring obligatorio #
            • Valores permitidos "unmanaged" · "not_required" · "pending" · "uncertain" · "confirmed" · "blocked" · "reconciled"
          • connection_idstring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 160
            Regla 2 · null

            null

          • effect_idsarray<string> obligatorio #
            • Elementos máximos 40
            Ver campos de cada elemento · string
            • Patrón "^[a-f0-9]{64}$"
          • codestring | null obligatorio #

            Se debe cumplir al menos una alternativa:

            Regla 1 · string
            • Caracteres mínimos 1
            • Caracteres máximos 80
            Regla 2 · null

            null

        • source_created_atstring opcional #

          Actual native creation timestamp. Required for new managed observations; absence in historical observations remains unknown.

          • Formato "date-time"

        Se deben cumplir todas las reglas:

        Regla 1 · cualquier JSON
        Reglas condicionales del contrato
        {
          "if": {
            "properties": {
              "fulfillment_authority": {
                "const": "moku"
              },
              "contact_erased_at": {
                "type": "null"
              }
            }
          },
          "then": {
            "properties": {
              "shipping_total": {
                "not": {
                  "type": "null"
                }
              },
              "total": {
                "not": {
                  "type": "null"
                }
              },
              "contact_email": {
                "not": {
                  "type": "null"
                }
              },
              "delivery_address": {
                "type": "object",
                "properties": {
                  "phone": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              }
            }
          }
        }
        Regla 2 · null

        null

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/journal-healthsync.write

    Informar trabajo pendiente

    Registra evidencia medida de pedidos pendientes, recuperación y brechas conocidas.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • review_idstring obligatorio #
      • Patrón "^[a-f0-9]{32}$"
    • configuration_revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • account_generationinteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990
    • installation_idstring obligatorio #
      • Patrón "^[a-f0-9]{32}$"
    • pending_countinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • oldest_atstring | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · string
      • Formato "date-time"
      Regla 2 · null

      null

    • gapobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • codestring obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{0,99}$"
      • atinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      Regla 2 · null

      null

    • coverageobject | null obligatorio #

      Se debe cumplir al menos una alternativa:

      Regla 1 · object
      • Esta regla no permite propiedades adicionales.
      • frominteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • throughinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • completed_atinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      Regla 2 · null

      null

    • checked_atstring obligatorio #
      • Formato "date-time"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • recordedboolean obligatorio #
        • Valor exacto true
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/journal-fencessync.write

    Registrar cierre de pausa

    Conserva una página de las entradas exactas aceptadas antes del cierre nativo.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • pause_noncestring obligatorio #
      • Patrón "^[a-f0-9]{32}$"
    • closed_cutoffstring obligatorio #
      • Patrón "^(0|[1-9][0-9]{0,18})$"
    • expected_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • page_sequenceinteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • after_sequencestring obligatorio #
      • Patrón "^(0|[1-9][0-9]{0,18})$"
    • entriesarray<object> obligatorio #
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • entry_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • sequencestring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • operation_hashstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
    • completeboolean obligatorio #

      boolean

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • pause_noncestring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • statestring obligatorio #
        • Valores permitidos "collecting" · "closed" · "drained"
      • closed_cutoffstring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • page_sequenceinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • after_sequencestring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • manifest_hashstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • pending_before_cutoffinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/journal-fences/{pause_nonce}/verifysync.write

    Verificar operaciones previas a la pausa

    Comprueba confirmaciones del registro cerrado; no infiere resultados desde una cantidad.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"
    • pause_noncestring ruta obligatorio
      • Patrón "^[a-f0-9]{32}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • expected_revisioninteger obligatorio #
      • Mínimo 1
      • Máximo 9007199254740990

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • pause_noncestring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • statestring obligatorio #
        • Valores permitidos "collecting" · "closed" · "drained"
      • closed_cutoffstring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • page_sequenceinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • after_sequencestring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • manifest_hashstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • pending_before_cutoffinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/journal-fences/{pause_nonce}sync.read

    Consultar cierre nativo

    Lee el progreso de conciliación del registro cerrado para la pausa actual.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • pause_noncestring ruta obligatorio
      • Patrón "^[a-f0-9]{32}$"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • pause_noncestring obligatorio #
        • Patrón "^[a-f0-9]{32}$"
      • revisioninteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • statestring obligatorio #
        • Valores permitidos "collecting" · "closed" · "drained"
      • closed_cutoffstring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • page_sequenceinteger obligatorio #
        • Mínimo 1
        • Máximo 9007199254740990
      • after_sequencestring obligatorio #
        • Patrón "^(0|[1-9][0-9]{0,18})$"
      • manifest_hashstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • pending_before_cutoffinteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/projections/{projection_id}/observationssync.write

    Registrar una lectura de stock del destino

    Conserva la lectura canónica separada del acuse de escritura. La igualdad no confirma ni repite un comando incierto.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"
    • projection_idstring ruta obligatorio
      • Patrón "^[a-f0-9]{64}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • observationobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • fieldstring obligatorio #
        • Valor exacto "stock"
      • quantityinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • provider_versionstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • observed_atstring obligatorio #
        • Formato "date-time"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • observedboolean obligatorio #
        • Valor exacto true
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/projection-wakeupssync.read

    Consultar cambios para entregar

    Lee cambios dirigidos a esta tienda sin recorrer el catálogo completo.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • page_afterstring consulta opcional
      • Patrón "^[a-f0-9]{64}$"
    • limitinteger consulta opcional
      • Mínimo 1
      • Máximo 25

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataarray<object> obligatorio #
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • versioninteger obligatorio #
        • Mínimo 1
      • membership_idstring obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • inventory_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • event_idstring | null obligatorio #

        The platform event this wakeup projects, or null for a re-projection with no public event (a source health or private availability change). Either way, project the member from current state.

        • Caracteres mínimos 1
        • Caracteres máximos 160
      • fieldstring obligatorio #
        • Valores permitidos "stock" · "regular_price"
      • source_event_atstring obligatorio #
        • Formato "date-time"
    • pageobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • next_cursorstring | null obligatorio #

        string | null

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/projection-wakeups/{wakeup_id}/acknowledgesync.write

    Confirmar entrega al plugin

    Confirma almacenamiento local duradero; la entrega no demuestra convergencia del destino.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"
    • wakeup_idstring ruta obligatorio
      • Patrón "^[a-f0-9]{64}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • expected_versioninteger obligatorio #
      • Mínimo 1

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • deliveredcualquier JSON obligatorio #
        • Valor exacto true
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/native-products/{native_product_id}/membershipssync.read

    Consultar variantes de un producto nativo

    Obtiene correspondencias revisadas por páginas para un producto existente.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • page_afterstring consulta opcional
      • Patrón "^[a-f0-9]{64}$"
    • limitinteger consulta opcional
      • Mínimo 1
      • Máximo 25
    • native_product_idstring ruta obligatorio
      • Patrón "^[1-9][0-9]{0,17}$"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataarray<object> obligatorio #
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • membership_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • review_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • inventory_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_versioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • configuration_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • account_generationinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • product_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • variation_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • external_variation_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • order_ingress_fromstring obligatorio #
        • Formato "date-time"
      • statestring obligatorio #
        • Valores permitidos "active" · "paused"
      • sourcesobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • catalogstring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
        • reference_pricestring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
        • inventorystring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
      • reference_sourceboolean obligatorio #

        boolean

      • price_write_approvedboolean obligatorio #

        boolean

      • price_blocker_codesarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • referenceobject | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • inventory_item_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • variation_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • price_clpinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • reference_revisioninteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • source_providerstring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
        • source_connection_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • source_account_generationinteger | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · integer
          • Mínimo 0
          • Máximo 1000000000
          Regla 2 · null

          null

        • source_versionstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • observed_atstring obligatorio #
          • Formato "date-time"
        • received_atstring obligatorio #
          • Formato "date-time"
        Regla 2 · null

        null

      • source_read_errornull | object obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · null

        null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • codestring obligatorio #
          • Patrón "^[A-Z][A-Z0-9_]{0,99}$"
        • observed_atstring obligatorio #
          • Formato "date-time"
        • received_atstring obligatorio #
          • Formato "date-time"
    • pageobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • next_cursorstring | null obligatorio #

        string | null

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/connections/{connection_id}/listings/{listing_id}/membershipsync.read

    Consultar una correspondencia

    Lee una publicación exacta y sus versiones bajo la cuenta vinculada.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • connection_idstring ruta obligatorio
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • listing_idstring ruta obligatorio
      • Caracteres mínimos 1
      • Caracteres máximos 160

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • membership_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • connection_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • channel_listing_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • review_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • inventory_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • external_product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_namestring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • listing_versioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • configuration_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • account_generationinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • product_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • variation_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • external_variation_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • skustring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • variation_optionsobject obligatorio #
        Valores de las claves adicionales · string

        string

      • order_ingress_fromstring obligatorio #
        • Formato "date-time"
      • statestring obligatorio #
        • Valores permitidos "active" · "paused"
      • sourcesobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • catalogstring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
        • reference_pricestring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
        • inventorystring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
      • reference_sourceboolean obligatorio #

        boolean

      • price_write_approvedboolean obligatorio #

        boolean

      • price_blocker_codesarray<string> obligatorio #
        • Elementos máximos 20
        Ver campos de cada elemento · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • referenceobject | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · object
        • Esta regla no permite propiedades adicionales.
        • inventory_item_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • product_idstring obligatorio #
          • Caracteres mínimos 1
          • Caracteres máximos 160
        • variation_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • price_clpinteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • reference_revisioninteger obligatorio #
          • Mínimo 0
          • Máximo 1000000000
        • source_providerstring obligatorio #
          • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
        • source_connection_idstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • source_account_generationinteger | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · integer
          • Mínimo 0
          • Máximo 1000000000
          Regla 2 · null

          null

        • source_versionstring | null obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · string
          • Caracteres mínimos 1
          • Caracteres máximos 160
          Regla 2 · null

          null

        • observed_atstring obligatorio #
          • Formato "date-time"
        • received_atstring obligatorio #
          • Formato "date-time"
        Regla 2 · null

        null

      • source_read_errornull | object obligatorio #

        Se debe cumplir al menos una alternativa:

        Regla 1 · null

        null

        Regla 2 · object
        • Esta regla no permite propiedades adicionales.
        • codestring obligatorio #
          • Patrón "^[A-Z][A-Z0-9_]{0,99}$"
        • observed_atstring obligatorio #
          • Formato "date-time"
        • received_atstring obligatorio #
          • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/connections/{connection_id}/listings/{listing_id}/catalog-observationssync.write

    Actualizar descripciones desde WooCommerce

    Observa nombre y descripción sin sustituir las condiciones comerciales de Moku.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • connection_idstring ruta obligatorio
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • listing_idstring ruta obligatorio
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • expected_product_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • source_versionstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observation_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observed_atstring obligatorio #
      • Caracteres máximos 32
      • Formato "date-time"
    • catalogobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • namestring obligatorio #
        • Caracteres máximos 120
      • descriptionstring obligatorio #
        • Caracteres máximos 5000
      • image_urlsarray<string> obligatorio #
        • Elementos máximos 12
        • Elementos únicos
        Ver campos de cada elemento · string
        • Caracteres máximos 2048
        • Formato "uri"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 9007199254740990
      • source_versionstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • changedboolean obligatorio #

        boolean

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/connections/{connection_id}/listings/{listing_id}/reference-observationssync.write

    Actualizar precio de referencia

    Registra el precio regular de la fuente seleccionada y preserva promociones y ofertas.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Idempotency-Key obligatoria: conserva la clave solo al repetir exactamente la misma escritura.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • connection_idstring ruta obligatorio
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • listing_idstring ruta obligatorio
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • Idempotency-Keystring cabecera obligatorio

      Unique to this token, operation, and logical mutation. Exact replays are supported for at least 30 days; never intentionally reuse a key for different work.

      • Patrón "^[A-Za-z0-9._:-]{8,128}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • expected_reference_revisioninteger obligatorio #
      • Mínimo 0
      • Máximo 9007199254740990
    • price_clpinteger obligatorio #
      • Mínimo 1
      • Máximo 1000000000
    • source_versionstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observation_idstring obligatorio #
      • Caracteres mínimos 1
      • Caracteres máximos 160
    • observed_atstring obligatorio #
      • Caracteres máximos 32
      • Formato "date-time"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • inventory_item_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • product_idstring obligatorio #
        • Caracteres mínimos 1
        • Caracteres máximos 160
      • variation_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • price_clpinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • reference_revisioninteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • source_providerstring obligatorio #
        • Valores permitidos "moku" · "woocommerce" · "mercadolibre"
      • source_connection_idstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • source_account_generationinteger | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · integer
        • Mínimo 0
        • Máximo 1000000000
        Regla 2 · null

        null

      • source_versionstring | null obligatorio #

        Se debe cumplir exactamente una alternativa:

        Regla 1 · string
        • Caracteres mínimos 1
        • Caracteres máximos 160
        Regla 2 · null

        null

      • observed_atstring obligatorio #
        • Formato "date-time"
      • received_atstring obligatorio #
        • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    Grupo de recursos

    Pedidos de Moku en WooCommerce

    El plugin de una tienda que importa su catálogo toma los pedidos pagados en Moku, los crea en WooCommerce e informa el resultado, con la autorización de la persona dueña.

    GET/vendors/{vendor_id}/woocommerce/deliveriesdeliveries.read

    Consultar pedidos por crear

    Lee los pedidos pagados que esta instalación puede tomar, o los que ya tomó. Cada consulta cuenta como señal de vida del plugin.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • statestring consulta opcional

      claimable: paid deliveries this installation may claim now. claimed: its open claims, with any cancellation Moku asked for. cancel_requested: accepted orders not yet shipped whose whole part Moku refunded; cancel them in WooCommerce and report store_cancelled, or report shipped if they already left.

      • Por defecto "claimable"
      • Valores permitidos "claimable" · "claimed" · "cancel_requested"
    • page_afterstring consulta opcional
      • Patrón "^sod_[a-f0-9]{32}$"
    • limitinteger consulta opcional
      • Mínimo 1
      • Máximo 25

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataarray<object> obligatorio #
      • Elementos máximos 25
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^sod_[a-f0-9]{32}$"
      • statestring obligatorio #
        • Valores permitidos "pending" · "withdrawn" · "claimed" · "accepted" · "refused" · "shipped" · "store_cancelled"
      • payload_sha256string obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • claim_idstring | null obligatorio #
        • Patrón "^sdc_[a-f0-9]{32}$"
      • cancel_requestedboolean obligatorio #

        Moku prepared a refund while the claim was open: report no order, or a cancelled one.

      • native_order_idstring | null obligatorio #
        • Patrón "^[1-9][0-9]{0,19}$"
      • reasonstring | null obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
      • created_atstring obligatorio #
        • Formato "date-time"
      • claimed_atstring | null obligatorio #
        • Formato "date-time"
      • answered_atstring | null obligatorio #
        • Formato "date-time"
      • status_reported_atstring | null obligatorio #
        • Formato "date-time"
    • pageobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • next_cursorstring | null obligatorio #

        string | null

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    GET/vendors/{vendor_id}/woocommerce/deliveries/{delivery_id}deliveries.read

    Consultar un pedido

    Lee el registro de Moku de un pedido de esta instalación, para conciliar después de un corte.

    Ver contrato y ejemplos

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • delivery_idstring ruta obligatorio
      • Patrón "^sod_[a-f0-9]{32}$"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^sod_[a-f0-9]{32}$"
      • statestring obligatorio #
        • Valores permitidos "pending" · "withdrawn" · "claimed" · "accepted" · "refused" · "shipped" · "store_cancelled"
      • payload_sha256string obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • claim_idstring | null obligatorio #
        • Patrón "^sdc_[a-f0-9]{32}$"
      • cancel_requestedboolean obligatorio #

        Moku prepared a refund while the claim was open: report no order, or a cancelled one.

      • native_order_idstring | null obligatorio #
        • Patrón "^[1-9][0-9]{0,19}$"
      • reasonstring | null obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
      • created_atstring obligatorio #
        • Formato "date-time"
      • claimed_atstring | null obligatorio #
        • Formato "date-time"
      • answered_atstring | null obligatorio #
        • Formato "date-time"
      • status_reported_atstring | null obligatorio #
        • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/deliveries/{delivery_id}/claimdeliveries.write

    Tomar un pedido

    Reserva el pedido para esta instalación y entrega lo que hay que crear en WooCommerce: productos, precios pagados, despacho y destinatario.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • delivery_idstring ruta obligatorio
      • Patrón "^sod_[a-f0-9]{32}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • installation_idstring obligatorio #
      • Patrón "^[a-f0-9]{32}$"
    • payload_sha256string obligatorio #
      • Patrón "^[a-f0-9]{64}$"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • deliveryobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • idstring obligatorio #
          • Patrón "^sod_[a-f0-9]{32}$"
        • statestring obligatorio #
          • Valores permitidos "pending" · "withdrawn" · "claimed" · "accepted" · "refused" · "shipped" · "store_cancelled"
        • payload_sha256string obligatorio #
          • Patrón "^[a-f0-9]{64}$"
        • claim_idstring | null obligatorio #
          • Patrón "^sdc_[a-f0-9]{32}$"
        • cancel_requestedboolean obligatorio #

          Moku prepared a refund while the claim was open: report no order, or a cancelled one.

        • native_order_idstring | null obligatorio #
          • Patrón "^[1-9][0-9]{0,19}$"
        • reasonstring | null obligatorio #
          • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
        • created_atstring obligatorio #
          • Formato "date-time"
        • claimed_atstring | null obligatorio #
          • Formato "date-time"
        • answered_atstring | null obligatorio #
          • Formato "date-time"
        • status_reported_atstring | null obligatorio #
          • Formato "date-time"
      • payloadobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • versioncualquier JSON obligatorio #
          • Valor exacto 1
        • order_numberstring obligatorio #
          • Patrón "^[A-Za-z0-9_-]{1,64}$"
        • currencycualquier JSON obligatorio #
          • Valor exacto "CLP"
        • linesarray<object> obligatorio #
          • Elementos mínimos 1
          • Elementos máximos 50
          Ver campos de cada elemento · object
          • Esta regla no permite propiedades adicionales.
          • product_idstring obligatorio #
            • Patrón "^[1-9][0-9]{0,19}$"
          • variation_idstring | null obligatorio #
            • Patrón "^[1-9][0-9]{0,19}$"
          • quantityinteger obligatorio #
            • Mínimo 1
            • Máximo 999
          • unit_priceinteger obligatorio #

            CLP per unit the buyer paid, after any coupon.

            • Mínimo 0
          • line_totalinteger obligatorio #
            • Mínimo 0
        • shippinginteger obligatorio #
          • Mínimo 0
        • totalinteger obligatorio #
          • Mínimo 0
        • delivery_daysnull | object obligatorio #

          Se debe cumplir exactamente una alternativa:

          Regla 1 · null

          null

          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • mininteger obligatorio #
            • Mínimo 0
            • Máximo 60
          • maxinteger obligatorio #
            • Mínimo 0
            • Máximo 60
        • billingobject obligatorio #

          The store issues the boleta or factura itself and uploads it on its Moku order.

          Se debe cumplir exactamente una alternativa:

          Regla 1 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "boleta"
          Regla 2 · object
          • Esta regla no permite propiedades adicionales.
          • typecualquier JSON obligatorio #
            • Valor exacto "factura"
          • rutstring obligatorio #
            • Patrón "^[0-9]{1,8}-[0-9K]$"
          • razon_socialstring obligatorio #
            • Caracteres máximos 200
          • girostring obligatorio #
            • Caracteres máximos 200
          • addressstring obligatorio #
            • Caracteres máximos 200
        • contact_sha256string obligatorio #
          • Patrón "^[a-f0-9]{64}$"
      • contactobject obligatorio #
        • Esta regla no permite propiedades adicionales.
        • namestring obligatorio #
          • Caracteres máximos 200
        • streetstring obligatorio #
          • Caracteres máximos 200
        • address_line2string | null obligatorio #
          • Caracteres máximos 200
        • comunastring obligatorio #
          • Caracteres máximos 200
        • regionstring obligatorio #
          • Caracteres máximos 64
        • phonestring obligatorio #
          • Caracteres máximos 200
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/deliveries/{delivery_id}/acceptancedeliveries.write

    Informar el pedido creado

    Informa el pedido de WooCommerce y prueba que descontó exactamente las unidades de cada línea.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • delivery_idstring ruta obligatorio
      • Patrón "^sod_[a-f0-9]{32}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • claim_idstring obligatorio #
      • Patrón "^sdc_[a-f0-9]{32}$"
    • payload_sha256string obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • native_order_idstring obligatorio #
      • Patrón "^[1-9][0-9]{0,19}$"
    • reduced_atstring obligatorio #

      When the reduction committed, by the store's clock.

      • Formato "date-time"
    • reductionsarray<object> obligatorio #

      Exactly one per payload line, with after = before - quantity.

      • Elementos mínimos 1
      • Elementos máximos 50
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • lineinteger obligatorio #

        The payload line, by position.

        • Mínimo 0
        • Máximo 49
      • stock_idstring obligatorio #

        The stock the line's item owns: its variation, or the product when it has none. A variation drawing on its parent's stock, or one count for two lines, is not accepted.

        • Patrón "^[1-9][0-9]{0,19}$"
      • quantityinteger obligatorio #
        • Mínimo 1
        • Máximo 999
      • beforeinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000
      • afterinteger obligatorio #
        • Mínimo 0
        • Máximo 1000000000

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^sod_[a-f0-9]{32}$"
      • statestring obligatorio #
        • Valores permitidos "pending" · "withdrawn" · "claimed" · "accepted" · "refused" · "shipped" · "store_cancelled"
      • payload_sha256string obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • claim_idstring | null obligatorio #
        • Patrón "^sdc_[a-f0-9]{32}$"
      • cancel_requestedboolean obligatorio #

        Moku prepared a refund while the claim was open: report no order, or a cancelled one.

      • native_order_idstring | null obligatorio #
        • Patrón "^[1-9][0-9]{0,19}$"
      • reasonstring | null obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
      • created_atstring obligatorio #
        • Formato "date-time"
      • claimed_atstring | null obligatorio #
        • Formato "date-time"
      • answered_atstring | null obligatorio #
        • Formato "date-time"
      • status_reported_atstring | null obligatorio #
        • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/deliveries/{delivery_id}/refusaldeliveries.write

    Informar que no se puede crear

    Informa, después de cerrar el intento en la tienda, que el pedido no existe en WooCommerce ni puede crearse.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • delivery_idstring ruta obligatorio
      • Patrón "^sod_[a-f0-9]{32}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • claim_idstring obligatorio #
      • Patrón "^sdc_[a-f0-9]{32}$"
    • payload_sha256string obligatorio #
      • Patrón "^[a-f0-9]{64}$"
    • reasonstring obligatorio #
      • Valores permitidos "OUT_OF_STOCK" · "ITEM_UNAVAILABLE" · "CANCEL_REQUESTED"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^sod_[a-f0-9]{32}$"
      • statestring obligatorio #
        • Valores permitidos "pending" · "withdrawn" · "claimed" · "accepted" · "refused" · "shipped" · "store_cancelled"
      • payload_sha256string obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • claim_idstring | null obligatorio #
        • Patrón "^sdc_[a-f0-9]{32}$"
      • cancel_requestedboolean obligatorio #

        Moku prepared a refund while the claim was open: report no order, or a cancelled one.

      • native_order_idstring | null obligatorio #
        • Patrón "^[1-9][0-9]{0,19}$"
      • reasonstring | null obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
      • created_atstring obligatorio #
        • Formato "date-time"
      • claimed_atstring | null obligatorio #
        • Formato "date-time"
      • answered_atstring | null obligatorio #
        • Formato "date-time"
      • status_reported_atstring | null obligatorio #
        • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/deliveries/{delivery_id}/statusdeliveries.write

    Informar despacho o anulación

    Informa que un pedido aceptado se despachó o se anuló en WooCommerce. No mueve dinero.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128
    • delivery_idstring ruta obligatorio
      • Patrón "^sod_[a-f0-9]{32}$"

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • claim_idstring obligatorio #
      • Patrón "^sdc_[a-f0-9]{32}$"
    • statusstring obligatorio #
      • Valores permitidos "shipped" · "store_cancelled"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • idstring obligatorio #
        • Patrón "^sod_[a-f0-9]{32}$"
      • statestring obligatorio #
        • Valores permitidos "pending" · "withdrawn" · "claimed" · "accepted" · "refused" · "shipped" · "store_cancelled"
      • payload_sha256string obligatorio #
        • Patrón "^[a-f0-9]{64}$"
      • claim_idstring | null obligatorio #
        • Patrón "^sdc_[a-f0-9]{32}$"
      • cancel_requestedboolean obligatorio #

        Moku prepared a refund while the claim was open: report no order, or a cancelled one.

      • native_order_idstring | null obligatorio #
        • Patrón "^[1-9][0-9]{0,19}$"
      • reasonstring | null obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
      • created_atstring obligatorio #
        • Formato "date-time"
      • claimed_atstring | null obligatorio #
        • Formato "date-time"
      • answered_atstring | null obligatorio #
        • Formato "date-time"
      • status_reported_atstring | null obligatorio #
        • Formato "date-time"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI

    POST/vendors/{vendor_id}/woocommerce/delivery-runtimedeliveries.write

    Informar el estado del plugin

    Informa, después de cada lectura de pedidos, cómo guarda pedidos la tienda y el código del último fallo. Reemplaza el informe anterior.

    Ver contrato y ejemplos

    Esta operación modifica producción. Verifica scopes, autoridad y estado vigente antes de ejecutarla; el modo sandbox de pagos no convierte esta API en un sandbox.

    Parámetros

    • vendor_idstring ruta obligatorio

      Vendor ID returned by GET /vendors.

      • Caracteres mínimos 1
      • Caracteres máximos 128

    Solicitud

    El cuerpo JSON es obligatorio.

    Campos del cuerpo · application/json object
    • Esta regla no permite propiedades adicionales.
    • installation_idstring obligatorio #
      • Patrón "^[a-f0-9]{32}$"
    • capabilitiesobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • deliveriesinteger obligatorio #

        The delivery ledger's schema version.

        • Mínimo 1
        • Máximo 1000
      • storagestring obligatorio #

        The ledger table's storage engine, lower case.

        • Patrón "^[a-z][a-z0-9_]{0,31}$"
      • hposboolean obligatorio #

        Whether WooCommerce keeps orders in its high-performance order tables.

      • cronstring obligatorio #

        system when WordPress cron runs from the server's crontab; wp_cron when site visits drive it.

        • Valores permitidos "system" · "wp_cron"
      • plugin_versionstring obligatorio #
        • Patrón "^[0-9]{1,4}\\.[0-9]{1,4}\\.[0-9]{1,4}$"
    • last_failurestring | null obligatorio #
      • Patrón "^[A-Z][A-Z0-9_]{1,47}$"

    Respuestas

    Respuesta 200

    Successful response

    application/json

    object
    • Esta regla no permite propiedades adicionales.
    • dataobject obligatorio #
      • Esta regla no permite propiedades adicionales.
      • polled_atstring | null obligatorio #
        • Formato "date-time"
      • reported_atstring obligatorio #
        • Formato "date-time"
      • poll_failed_atstring | null obligatorio #
        • Formato "date-time"
      • poll_problemstring | null obligatorio #
        • Patrón "^[A-Z][A-Z0-9_]{1,47}$"
    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • RateLimit-Limit integer

      Request allocation assigned to this credential for the current one-minute window. A replacement credential may inherit the same vendor slot.

      • Mínimo 1
    • RateLimit-Remaining integer

      Requests remaining in the credential's assigned vendor slot for the current window.

      • Mínimo 0
    • RateLimit-Reset integer

      Unix timestamp in seconds when the current window resets.

      • Mínimo 0

    Errores

    Estos son los estados HTTP declarados para esta operación. El código problem+json indica la causa concreta. Consultar códigos y reintentos seguros

    400 · Solicitud inválida

    The request or cursor is invalid.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    401 · Token no válido

    The bearer token is missing, invalid, expired, revoked, or no longer owned by the vendor owner.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • WWW-Authenticate string

      string

    403 · Permiso insuficiente

    The token lacks the required scope.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    404 · Recurso no encontrado

    The requested resource was not found or was not granted to the credential.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    409 · Conflicto de estado, versión o autoridad

    The resource version, idempotency key, state machine, or authority fence conflicts with the request.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    429 · Límite de solicitudes

    The credential's vendor allocation exceeded its one-minute limit: 60 reads or 12 writes. Revoking and replacing a credential does not reset the window.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    503 · Servicio no disponible

    Authentication, catalog, inventory, or rate-limit state could not be checked safely.

    application/problem+json · Problem

    Cabeceras de respuesta
    • X-Request-Id string

      Server-generated request identifier to include in support requests.

      string

    • Retry-After integer
      • Mínimo 1
    Campos de Problem (sin envoltura data)object
    • Esta regla no permite propiedades adicionales.
    • typestring obligatorio #
      • Formato "uri"
    • titlestring obligatorio #

      string

    • statusinteger obligatorio #

      integer

    • codestring obligatorio #

      Stable public error code. Each code has a recovery entry at its type URL.

      • Valores permitidos "AUTHORITY_CONFLICT" · "CONNECTION_STATE_CONFLICT" · "EXTERNAL_ORDER_LINES_LOCKED" · "EXTERNAL_ORDER_SOURCE_CONFLICT" · "EXTERNAL_ORDER_STALE" · "EXTERNAL_ORDER_TERMINAL" · "EXTERNAL_ORDER_TERMINAL_REVIEW_REQUIRED" · "FULFILLMENT_REVIEW_REQUIRED" · "FULFILLMENT_STATE_CONFLICT" · "FULFILLMENT_VERSION_CONFLICT" · "IDEMPOTENCY_KEY_REUSED" · "INSUFFICIENT_SCOPE" · "INTERNAL_ERROR" · "INVALID_CURSOR" · "INVALID_MEDIA" · "INVALID_REQUEST" · "INVENTORY_UNAVAILABLE" · "INVENTORY_VERSION_CONFLICT" · "LISTING_CONFLICT" · "MARKETPLACE_NOT_ACTIVE" · "MEDIA_QUOTA_EXCEEDED" · "MEDIA_TOO_LARGE" · "OBSERVATION_STALE" · "ON_HAND_BELOW_RESERVED" · "PRODUCT_REVISION_CONFLICT" · "PRODUCT_SLUG_CONFLICT" · "PRODUCT_STATE_CONFLICT" · "RATE_LIMITED" · "RESERVATION_CONFLICT" · "RESERVATION_EXPIRED" · "RESERVATION_MANAGED_BY_EXTERNAL_ORDER" · "RESOURCE_NOT_FOUND" · "SERVICE_UNAVAILABLE" · "SOURCE_MEDIA_NOT_READY" · "SOURCE_MEDIA_SNAPSHOT_CHANGED" · "STOCK_CLAIM_EXPIRED" · "STOCK_EFFECT_BUSY" · "STOCK_EFFECT_CONFLICT" · "STOCK_EFFECT_VERSION_CONFLICT" · "STOCK_RECONCILIATION_REQUIRED" · "STOCK_SOURCE_BUSY" · "UNAUTHENTICATED"
    • detailstring obligatorio #

      string

    • request_idstring obligatorio #

      string

    • errorsarray<object> opcional #

      Present only on INVALID_REQUEST when Moku can locate the violation; it currently carries the first violation found. Clients that read only code and detail can ignore it.

      • Elementos mínimos 1
      • Elementos máximos 20
      Ver campos de cada elemento · object
      • Esta regla no permite propiedades adicionales.
      • pointerstring obligatorio #

        RFC 6901 JSON Pointer to the violation. It is relative to the JSON request body for body errors (/variations/0/price) and to the query parameters as an object for query errors (/limit). For a publish transition it locates the field in the product as GET returns it (/image_urls). An empty pointer means the whole body.

        • Caracteres máximos 512
      • codestring obligatorio #

        required: missing or empty. type: wrong JSON type. range: number outside its bounds. length: too long or too many items. format: malformed string. enum: unsupported value. unknown_field: field not accepted here. duplicate: repeats an earlier item. relation: conflicts with another field or with the current product. media: not an image this store uploaded through PUT /media/{sha256}.

        • Valores permitidos "required" · "type" · "range" · "length" · "format" · "enum" · "unknown_field" · "duplicate" · "relation" · "media"
      • detailstring obligatorio #

        string

    Las notas técnicas en inglés se muestran tal como están publicadas en OpenAPI. Los campos y restricciones se generan desde ese contrato. Descargar contrato OpenAPI