Ir al contenido
Prueba gratis durante 14 días
Español
English简体中文繁體中文ČeštinaPróximamenteDanskPróximamenteNederlandsSuomiPróximamenteFrançaisDeutschItaliano日本語한국어Norsk bokmålPróximamentePolskiPortuguêsEspañolSvenskaTürkçe
Abrir en Claude Hacer preguntas sobre esta páginaAbrir en ChatGPT Hacer preguntas sobre esta página

Actualizar o editar Wholesale Pricing con las API

Actualiza una regla de Wholesale Pricing existente con la Public API, con la referencia completa del cuerpo de la solicitud.

Este documento explica cómo actualizar una regla de Wholesale Pricing existente con la Public API.


Para actualizar un registro de Wholesale Pricing existente, usa el siguiente endpoint:

PUT https://wholesale.samita.io/api/v1/wholesale-pricings/{id}
  • {id} es el ID del registro de Wholesale Pricing
  • El ID se puede obtener en la interfaz de la aplicación (sin el símbolo “#”)
  • Ejemplo de referencia:

PUT https://wholesale.samita.io/api/v1/wholesale-pricings/1

Todas las solicitudes a la API deben incluir los siguientes encabezados obligatorios:

Encabezado Descripción Obligatorio
X-SAMITA-API-KEY Clave de API proporcionada en la aplicación Wholesale Sí
X-SAMITA-SHOP-URL Dominio de la tienda de Shopify con el formato xxx.myshopify.com Sí
CONTENT-TYPE Debe ser application/json Sí

Si falta alguno de los encabezados obligatorios, la solicitud se rechazará.


_ Los datos para actualizar Wholesale Pricing deben enviarse en formato JSON. Al final de este documento encontrarás un ejemplo de estructura JSON.

_ En la solicitud solo se requieren los campos que quieras actualizar. No es obligatorio enviar todos los campos, como sí ocurre en el método Create de la API.

_ Los campos no especificados permanecerán sin cambios

Ejemplo de JSON de solicitud:

{
"title": "New Wholesale Pricing",
"status": true,
"apply_customer": {
"type": "all",
"tags": []
},
"exclude_customer": {
"type": "none",
"tags": []
},
"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
},
"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
},
"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
],
"apply_market": {
"type": "all",
"handle": []
},
"discount_group": {
"type": "percent",
"value": "10"
},
"active_date": {
"types": ["start_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
}
}

  • El nombre que identifica el registro de Wholesale Pricing
  • Opcional en la API Update
  • Debe ser una cadena de texto
  • Longitud máxima: 255 caracteres

  • Define si el registro está activo o no
  • Opcional en la API Update
  • Solo acepta los siguientes valores:
Valor Descripción
true La regla de precios está activa
false La regla de precios está inactiva

Define qué clientes pueden acceder a esta regla de precios.

Estructura:

"apply_customer": {
"type": "all",
"tags": []
}

type

Valores aceptados:

  • all
  • logged
  • non-logged
  • customer-tags

tags

  • Obligatorio solo cuando type == customer-tags
  • Debe ser un array separado por comas
  • Ejemplo: ["wholesale","b2b"]

Sirve para excluir a determinados clientes de la regla de precios.

Estructura:

"exclude_customer": {
"type": "none",
"tags": []
}

type

  • Valor predeterminado: none
  • Valores aceptados:
Valor Descripción
none No excluir a ningún cliente
customer-tags Excluir clientes por etiquetas

tags

  • Obligatorio solo cuando type == customer-tags
  • Ejemplo: ["vip","wholesale"]

Define a qué productos se aplicará la regla de precios.

Estructura:

"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
}

type

Valores aceptados:

  • all
  • products
  • collections
  • product-tags

Los demás campos son obligatorios según el type seleccionado:

  • product_ids → obligatorio si type == products
  • product_tags → obligatorio si type == product-tags
  • collection_ids → obligatorio si type == collections

apply_for_variants

  • Valores aceptados: true o false
  • Valor predeterminado: false

Define los productos que se excluyen de la regla.

Estructura:

"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
}

Tipos aceptados:

  • none
  • products
  • collections

Se usa cuando los descuentos se configuran por variante.

  • Debe estar vacío si apply_product.apply_for_variants == false
  • Obligatorio cuando apply_product.apply_for_variants == true

Ejemplo de estructura:

"discount_for_variants": [
  {
    "id": 8516448190631,
    "variant_pricing": true,
    "variants": [
      {
        "id": 46747346763943,
        "discount_groups": [
          {
            "name": "all",
            "type": "percent",
            "value": "10"
          }
        ]
      }
    ]
  }
]

Estructura:

  • Array de productos
  • Cada producto contiene:
    • id – ID del producto
    • variant_pricing – Debe ser true
    • variants – Array de variantes

Cada variante contiene:

  • id – ID de la variante
  • discount_groups – Array de configuraciones de descuento

Reglas de discount_groups

  • Si apply_customer.type es all, logged o non-logged
    → Solo se permite un elemento
  • Si apply_customer.type == customer-tags
    → Se pueden indicar varios grupos de descuento

Campos dentro de discount_groups:

Campo Descripción
name Debe coincidir con el tipo de cliente o la etiqueta de cliente
type Tipo de descuento
value Valor del descuento

Tipos de descuento aceptados:

  • percent
  • amount
  • fixed-amount

Reglas del valor:

  • Debe ser un número mayor que 0
  • Si type es percent, el valor debe ser menor que 100

Define a qué mercados de Shopify se aplica la regla.

Estructura:

"apply_market": {
"type": "all",
"handle": []
}

type

Valores aceptados:

  • all
  • specific-market

handle

  • Obligatorio solo cuando type == specific-market
  • Lista de handles de mercado separados por comas
  • Ejemplo: ["japan","us"]

Se usa cuando el descuento no se configura por variante.

Obligatorio cuando:

  • apply_product.type no es products, O
  • apply_product.type == products Y no se aplican variantes

Estructura:

"discount_group": {
"type": "percent",
"value": "10"
}

Reglas:

  • type debe ser uno de estos:
    • percent
    • amount
    • fixed-amount
  • value
    • Debe ser mayor que 0
    • Si type es percent, el valor debe ser menor que 100

Sirve para configurar la fecha y hora de inicio y fin de la regla de precios.

Estructura:

"active_date": {
"types": ["start_date", "end_date"],
"start_at": "2026-01-15T10:00:00",
"end_at": "2026-01-15T10:00:00"
}

types

  • Opcional
  • Valores aceptados: start_date, end_date
  • Ejemplo: ["start_date","end_date"]

start_at

  • Obligatorio si types incluye start_date
  • Formato: YYYY-MM-DD HH:MM:SS

end_at

  • Obligatorio si types incluye end_date
  • Formato: YYYY-MM-DD HH:MM:SS

401 – Unauthorized

Posibles motivos:

  • Falta la URL de la tienda
  • Falta la clave de API
  • URL de la tienda no válida
  • Clave de API no válida
  • La clave de API no corresponde a la tienda

403 – This action is unauthorized

  • La clave de API no tiene el permiso Update
  • Cada clave de API puede tener los permisos View, Create, Update y Delete
  • Esta API requiere el permiso Update
  • También se devuelve cuando el ID indicado no existe

429 – Too Many Requests

Se superó el límite de solicitudes:

  • Máximo 1 solicitud cada 5 minutos
  • Máximo 50 solicitudes al día

200 – API Success

  • El registro de Wholesale Pricing se actualizó correctamente
  • La respuesta se devuelve en formato JSON

Ejemplo de JSON de respuesta:

{
"id": 1,
"title": "New Wholesale Pricing",
"status": true,
"apply_customer": {
"type": "all",
"tags": []
},
"exclude_customer": {
"type": "none",
"tags": []
},
"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
},
"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
},
"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
],
"apply_market": {
"type": "all",
"handle": []
},
"discount_group": {
"type": "percent",
"value": "10"
},
"active_date": {
"types": [],
"start_at": "",
"end_at": ""
},
"created_at": "2026-01-15T10:00:00",
"updated_at": "2026-01-15T10:00:00"
}

¿Te resultó útil esta página?