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

Crear Wholesale Pricing con las API

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

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


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

POST - https://wholesale.samita.io/api/v1/wholesale-pricings

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 crear Wholesale Pricing deben enviarse en formato JSON.
Al final de este documento encontrarás un ejemplo de estructura JSON.

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
  • Debe ser una cadena de texto
  • Longitud máxima: 255 caracteres

  • Define si el registro está activo o no
  • 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 (solo uno de los siguientes):

  • all – Se aplica a toda la clientela
  • logged – Se aplica solo a quienes han iniciado sesión
  • non-logged – Se aplica solo a quienes visitan la tienda sin cuenta
  • customer-tags – Se aplica solo a clientes con etiquetas concretas

tags

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

Si type no es customer-tags, este campo se puede ignorar.


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
  • Array separado por comas
  • 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

product_ids

  • Obligatorio solo cuando type == products
  • Lista de IDs de producto separados por comas
  • Ejemplo: [1,2,3]

product_tags

  • Obligatorio solo cuando type == product-tags
  • Ejemplo: ["tag1","tag2"]

collection_ids

  • Obligatorio solo cuando type == collections
  • Ejemplo: [1,2,3]

apply_for_variants

  • Determina si los descuentos se pueden configurar por variante
  • 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": []
}

type

  • Valor predeterminado: none
  • Valores aceptados:
Valor Descripción
none No excluir ningún producto
products Excluir productos concretos
collections Excluir colecciones concretas

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


Se usa cuando se aplican descuentos 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 incluye:

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

Reglas de discount_groups

  • Si apply_customer.type es all, logged o non-logged:
    → Solo se permite un elemento en el array
  • 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"]

Para obtener el handle de un mercado, sigue estos pasos:

  • En el panel de administración de Shopify, ve a la sección Markets > haz clic en More actions > elige Edit Market handles > copia el handle que aparece allí:


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"
}

Las reglas son las mismas que se describen arriba para los tipos y valores de descuento.


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-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
}

types

  • Opcional
  • Valores aceptados: start_date, end_date
  • Puede incluir uno o ambos, separados por comas
  • 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 Create
  • Cada clave de API puede tener los permisos View, Create, Update y Delete
  • Esta API requiere el permiso Create
  • También se devuelve cuando un ID indicado no existe

429 – Too Many Requests

  • Se superó el límite de solicitudes
  • Máximo permitido:
Límite Valor
Frecuencia de solicitudes 1 solicitud cada 5 minutos
Límite diario 50 solicitudes al día

200 – API Success

  • El registro de Wholesale Pricing se creó correctamente
  • La respuesta se devuelve en formato JSON
{
"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_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
},
"created_at": "2026-01-15T10:00:00",
"updated_at": "2026-01-15T10:00:00"
}

¿Te resultó útil esta página?