SelSup Developers

Datos de referencia del producto · API Referencia

Marcas

Crear y encontrar marcas, mapearlas a Ozon y 1C, gestionar logotipos, y fusionar copias de forma segura.

9 puntos finales/api/brandEstablesDescripción legible por máquina ↗
{ }

Para los productos sin marca, primero crea un registro dedicado No brand y usa su identificador en las tarjetas de producto.

/api/brand

Flujos de trabajo listos para su uso

Flujos de trabajo listos para su uso

01

Encuentra o crea una marca antes de crear un producto

Busque el nombre exacto primero. Si las filas están vacías, cree la marca y almacena la marca ID para la tarjeta de producto.

  1. Llame GET /api/brand/find con consulta y cuenta=verdad.
  2. Compare el nombre de caso-insensiblemente en su solicitud.
  3. Si no existe coincidencia, envíe POST /api/brand con nombre.
  4. Utilice la marcaId de la respuesta al crear el modelo de producto.
02

Sincronizar el directorio con 1C

Mantenga la llave 1C en un CId y obtenga páginas en lugar de cargar todo el directorio en una sola solicitud.

  1. Solicite 50 500 registros a la vez, ordenados por BRANDID.
  2. Establezca count=true en la primera solicitud para recibir total.
  3. Crear registros faltantes o actualizar coincidencias encontradas por brandOneCId.
03

Eliminar un duplicado sin perder enlaces de producto

Merge traslada los modelos de producto del duplicado a la marca principal y luego elimina el duplicato.

  1. Traiga y verifique ambos identificadores de marca.
  2. Pasar el nombre de marca principal y eliminar el nombre duplicado.
  3. Traiga de nuevo la marca principal y verifique los productos relacionados.

Modelo de datos

Fields regresó en Brand.

Los campos de logotipo aparecen después de que se carga una imagen. Los campos del modelo compartido que no participan en este API se omiten intencionalmente.

Brand10 campos
brandIdinteger

Identificador de marca dentro de la cuenta SelSup actual.

read-only
namestring

Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.

Obligatorio
logoUrlstring

La dirección de dirección de la dirección de inicio del logotipo actual.

read-only
logoSizeinteger

Tamaño del logotipo en bytes.

read-only
logoWidthinteger

Ancho del logotipo en píxeles.

read-only
logoHeightinteger

Alteza del logotipo en píxeles.

read-only
deletedboolean

Si la marca está archivada.

ozonNamestring

Nombre de marca en el catálogo de Ozon.

nullable
ozonIdinteger · int64

Identificación de marca en Ozon.

nullable
oneCIdstring

Identificación externa de marca en 1C.

nullable

Contrato de error

Cómo se devuelven los errores de aplicación

El código error es idéntico en todas las localizaciones, mientras que el mensaje orientado al usuario es traducido por el servidor.

Exproteccion

Código estable legible por máquina para la lógica de integración.

Exproteccion

Mensaje listo para la pantalla en el idioma del usuario de tokens API.

Exproteccion

Valores interpolados por el servidor en la plantilla de mensaje localizado.

localMessage utiliza el campo lang del usuario que posee el token API. El lenguaje de documentación y el encabezado Accept-Language no lo cambian; el ruso se utiliza cuando el usuario no tiene un idioma configurado.

RUEl lugar del usuario es ru
{
  "error": "error_brand_already_exists",
  "localMessage": "Бренд Base уже существует",
  "params": {
    "name": "Base"
  }
}
ESEspañol (es)
{
  "error": "error_brand_already_exists",
  "localMessage": "La marca Base ya existe",
  "params": {
    "name": "Base"
  }
}

Puntos finales

Puntos finales

GET

Encuentra marcas

/api/brand/find
Token con acceso a lectura

El punto final principal para listas, búsqueda y sincronización. devuelve marcas de la cuenta corriente y admite una paginado estable.

i

total se devuelve sólo cuando count=true. Deshabilitar el recuento para las páginas posteriores.

Parámetros de consulta

CampoTipoObligatorioDescripción
query string No Substring para buscar en el nombre de la marca.
deleted boolean No Es verdad para archivado, falso para activo.
brandOneCId string No Identificador externo 1C exacto.
hasOzonId boolean No Es verdad que sólo devuelven marcas que se hayan mapeado a Ozon.
limitValor predeterminado: 50 integer No Registros por página, hasta 500.
pageValor predeterminado: 1 integer No Número de página a partir de 1.
countValor predeterminado: false boolean No Incluya el número total de partidas.
sortBy stringNAME, BRANDID No Nombre para la marca, marca para el identificador interno.
ascendingValor predeterminado: false boolean No Verdadero para ascender, falso para bajar.
curl --request GET 'https://api.selsup.ru/api/brand/find?query=Base&limit=50&page=1&count=true&sortBy=NAME&ascending=true' \
  --header 'Authorization: YOUR_API_TOKEN'

Respuesta exitosa

200
CampoTipoObligatorioDescripción
rows Brand[] Marcas en la página actual.
Estructura de los elementos del array Brand
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
totalCondición: count=true integer No Competiciones totales; sólo se presentan cuando cuenta=verdadero.
page integer Número de página actual.
hasNextPage boolean cuando se dispone de otra página.
{
  "rows": [
    {
      "brandId": 8124,
      "name": "Base",
      "deleted": false,
      "ozonName": "BASE"
    }
  ],
  "total": 1,
  "page": 1,
  "hasNextPage": false
}
Errores3

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

GET

Lista de todas las marcas

/api/brand/all
Token con acceso a lectura

Retorna todas las marcas de la cuenta, ordenadas por nombre.

i

Para directorios grandes y sincronización recurrente, utilice /find con paginado.

curl --request GET 'https://api.selsup.ru/api/brand/all' \
  --header 'Authorization: YOUR_API_TOKEN'

Respuesta exitosa

200
Estructura de los elementos del array Brand[]
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
[
  {
    "brandId": 8124,
    "name": "Base",
    "deleted": false
  },
  {
    "brandId": 8125,
    "name": "Air",
    "deleted": false
  }
]
Errores3

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

GET

Obtenga una marca por identificación

/api/brand/{brandId}
Token con acceso a lectura

Retorna una marca de la cuenta corriente con su identificador interno.

i

La implementación actual devuelve un valor vacío para un brandId desconocido en lugar de HTTP 404.

Parámetros de trayectoria

CampoTipoObligatorioDescripción
brandId integer Identificador de marca en SelSup.
curl --request GET 'https://api.selsup.ru/api/brand/8124' \
  --header 'Authorization: YOUR_API_TOKEN'

Respuesta exitosa

200
Campos de objetos Brand
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
{
  "brandId": 8124,
  "name": "Base",
  "deleted": false,
  "ozonName": "BASE",
  "ozonId": 100582
}
Errores3

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

POST

Crear una marca

/api/brand
Token con acceso a escribir

Crea una marca en la cuenta corriente. nombre es suficiente para el caso común.

i

Los nombres se comparan de manera insensible al caso; Base y base se tratan como la misma marca.

Organismo de solicitud

application/json
CampoTipoObligatorioDescripción
name string Un nombre de marca único y no vacío.
ozonName string No Nombre del directorio de Ozon, cuando se sepa.
ozonId integer · int64 No Identificación de marca Ozon cuando se envían tarjetas sin una importación previa.
oneCId string No Clave de marca externa estable en 1C.
curl --request POST 'https://api.selsup.ru/api/brand' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Base",
  "ozonName": "BASE",
  "ozonId": 100582,
  "oneCId": "BRAND-001"
}'

Respuesta exitosa

200
Campos de objetos Brand
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
{
  "brandId": 8124,
  "name": "Base",
  "deleted": false,
  "ozonName": "BASE",
  "ozonId": 100582,
  "oneCId": "BRAND-001"
}
Errores6

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

400error_empty_brand_name
No se ha especificado nombre de marca

nombre está ausente, vacío o contiene sólo espacio en blanco.

400error_brand_already_exists
La marca {name} ya existe

El nombre de la cuenta ya tiene una coincidencia insensible al caso. params.name contiene el nombre conflictivo.

400error_subscription_expired
Su tarifa ha expirado. Pague la tarifa para continuar usando el servicio.

Pagar el precio para continuar utilizando el servicio.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

PUT

Actualizar una marca

/api/brand/{brandId}
Token con acceso a escribir

Replace los campos de marca editables. El ID proviene de la URL; no envíe brandId en JSON.

i

Este es PUT, así que incluye todos los valores que necesita para conservar. Los campos de logotipo son administrados por puntos finales separados.

Parámetros de trayectoria

CampoTipoObligatorioDescripción
brandId integer Marca para actualizar.

Organismo de solicitud

application/json
CampoTipoObligatorioDescripción
name string Un nuevo nombre único.
deletedValor predeterminado: false boolean No El estado de archivado.
ozonName string No Nombre de marca en Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificador de marca en 1C.
curl --request PUT 'https://api.selsup.ru/api/brand/8124' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Base Studio",
  "deleted": false,
  "ozonName": "BASE STUDIO",
  "ozonId": 100582,
  "oneCId": "BRAND-001"
}'

Respuesta exitosa

200
Campos de objetos Brand
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
{
  "brandId": 8124,
  "name": "Base Studio",
  "deleted": false,
  "ozonName": "BASE STUDIO",
  "ozonId": 100582,
  "oneCId": "BRAND-001"
}
Errores6

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

400error_empty_brand_name
No se ha especificado nombre de marca

nombre está ausente, vacío o contiene sólo espacio en blanco.

400error_brand_already_exists
La marca {name} ya existe

El nombre de la cuenta ya tiene una coincidencia insensible al caso. params.name contiene el nombre conflictivo.

400error_subscription_expired
Su tarifa ha expirado. Pague la tarifa para continuar usando el servicio.

Pagar el precio para continuar utilizando el servicio.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

DELETE

Eliminar, archivar o restaurar una marca

/api/brand/{brandId}
Token con acceso a escribir

Con deleted=true, SelSup intenta un borrador duro. Si existen referencias, archivará la marca en su lugar. deleted = false la restaura.

Parámetros de trayectoria

CampoTipoObligatorioDescripción
brandId integer Identificación de marca.

Parámetros de consulta

CampoTipoObligatorioDescripción
deleted boolean verdadera para eliminar o archivar; falsa para restaurar.
curl --request DELETE 'https://api.selsup.ru/api/brand/8124?deleted=true' \
  --header 'Authorization: YOUR_API_TOKEN'

Respuesta exitosa

200
brand_has_been_removed

La marca fue eliminada de forma permanente.

brand_signed_as_deleted

Las referencias evitaron la eliminación, así que la marca fue archivada.

brand_has_been_restore

La marca fue restaurada del archivo.

"brand_signed_as_deleted"
Errores3

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

POST

Cargar un logotipo

/api/brand/{brandId}/image
Token con acceso a escribir

Se carga una imagen como multipart/form-data. Se reemplaza un logotipo existente.

i

Envía el archivo binario en archivo; este punto final no acepta JSON.

Parámetros de trayectoria

CampoTipoObligatorioDescripción
brandId integer Identificación de marca.

Organismo de solicitud

multipart/form-data
CampoTipoObligatorioDescripción
file binary Ficha de imagen en un formato soportado.
curl --request POST 'https://api.selsup.ru/api/brand/8124/image' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --form 'file=@./logo.png'

Respuesta exitosa

200
Campos de objetos Brand
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
{
  "brandId": 8124,
  "name": "Base",
  "logoUrl": "https://files.selsup.ru/brand/8124.png",
  "logoSize": 18420,
  "logoWidth": 512,
  "logoHeight": 512,
  "deleted": false
}
Errores7

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

400error_brand_to_found
Marca {name} no encontrada

La documentación conserva el código error exactamente como lo devuelve el API.

400error_wrong_image_format
Formato de imagen incorrecto para el archivo: {name}

El archivo no pudo ser decodificado como un formato de imagen soportado.

400error_max_upload_size_exceeded
Tamaño máximo de archivo excedido

La solicitud de múltiples partes excede el límite de carga del servidor.

400error_subscription_expired
Su tarifa ha expirado. Pague la tarifa para continuar usando el servicio.

Pagar el precio para continuar utilizando el servicio.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

DELETE

Eliminar un logotipo

/api/brand/{brandId}/image
Token con acceso a escribir

Elimina el archivo del logotipo y restablece sus dimensiones en el registro de marca.

Parámetros de trayectoria

CampoTipoObligatorioDescripción
brandId integer Identificación de marca.
curl --request DELETE 'https://api.selsup.ru/api/brand/8124/image' \
  --header 'Authorization: YOUR_API_TOKEN'

Respuesta exitosa

200
Campos de objetos Brand
CampoTipoObligatorioDescripción
brandId integer No Identificador de marca dentro de la cuenta SelSup actual.
name string Los espacios de ventaja y de seguimiento se eliminan cuando se guardan.
logoUrl string No La dirección de dirección de la dirección de inicio del logotipo actual.
logoSize integer No Tamaño del logotipo en bytes.
logoWidth integer No Ancho del logotipo en píxeles.
logoHeight integer No Alteza del logotipo en píxeles.
deletedValor predeterminado: false boolean No Si la marca está archivada.
ozonName string No Nombre de marca en el catálogo de Ozon.
ozonId integer · int64 No Identificación de marca en Ozon.
oneCId string No Identificación externa de marca en 1C.
{
  "brandId": 8124,
  "name": "Base",
  "logoSize": 0,
  "logoWidth": 0,
  "logoHeight": 0,
  "deleted": false
}
Errores7

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

400error_brand_to_found
Marca {name} no encontrada

La documentación conserva el código error exactamente como lo devuelve el API.

400error_empty_brand_logo
La marca no tiene imagen

Se solicitó la eliminación del logotipo de una marca sin logotipos.

400error_cant_remove_brand_logo
No se puede eliminar la imagen de la marca

El almacenamiento no pudo eliminar el archivo ni actualizar el registro de marca.

400error_subscription_expired
Su tarifa ha expirado. Pague la tarifa para continuar usando el servicio.

Pagar el precio para continuar utilizando el servicio.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

POST

Duplicados de fusión

/api/brand/{brandId}/merge/{removeBrandId}
Token con acceso a escribir

Mueve los modelos de producto de RemoveBrandId a BrandId, y luego elimina permanentemente Remove BrandId.

i

Esto no puede ser deshacido. se conserva la marca; eliminarLa marca es el duplicado que se debe eliminar.

Parámetros de trayectoria

CampoTipoObligatorioDescripción
brandId integer Identificador de marca principal.
removeBrandId integer Duplicar el identificador de marca para eliminar.
curl --request POST 'https://api.selsup.ru/api/brand/8124/merge/9012' \
  --header 'Authorization: YOUR_API_TOKEN'

Respuesta exitosa

200

La respuesta no tiene cuerpo.

Errores5

Los errores de aplicación se devuelven normalmente como JSON con error, localMessage y params. Cómo se devuelven los errores de aplicación ↑

401auth_required
Se requiere la autenticación

Authorization está faltando, vacío o contiene un token inválido.

400error_access_denied
Acceso denegado

El token existe, pero su papel no puede realizar esta operación.

400error_brand_not_found
Marca no encontrada: {name}

Una de las marcas solicitadas para la fusión no existe en la cuenta corriente.

400error_subscription_expired
Su tarifa ha expirado. Pague la tarifa para continuar usando el servicio.

Pagar el precio para continuar utilizando el servicio.

500error_unknown
Ocurrió un error desconocido. Si el problema persiste, escriba al servicio de soporte

Fallo interno: ahorra tiempo en la solicitud y apoyo de contacto; no vuelva a intentar una mutación ciegamente.

Authorization

Token para las solicitudes de ensayo

El token se queda en el localStorage de este navegador y se envía solo en el encabezado Authorization de las solicitudes a api.selsup.ru.

Probar

Parámetros reales de la solicitud

Respuesta en vivo API

Envía una solicitud para ver la respuesta SelSup.