Crear traspasos de stock desde la API: POST /StockTransferenceREST/createWithLines

Este endpoint crea un traspaso de stock entre dos almacenes con todas sus líneas en una sola llamada, desde un sistema externo o un frontend propio. Hace exactamente las mismas comprobaciones que la inserción rápida de traspasos del ERP: si algo no es válido, no se crea nada y la respuesta dice por qué, con un mensaje en castellano para enseñárselo al usuario.

Si todo es correcto, el traspaso se crea En curso, numerado según su tipo, y su preparación se trata igual que en los pedidos: si la plataforma trabaja sin picking, se crea en el momento la orden de trabajo de preparación (Pick & Pack); si trabaja con picking, no se crea ninguna orden de trabajo y el traspaso espera en Artículos a preparar hasta que se lance desde allí.

Cómo se llama

POST /StockTransferenceREST/createWithLines
Content-Type: application/json
  • Autenticación: la misma que el resto de la API (usuario y contraseña, token o ticket SSO). Ver API de Yunbit (hay que iniciar sesión en la wiki).
  • El traspaso se crea en nombre del usuario autenticado: necesita el privilegio de perfil crear traspasos de stock (CreateStockTransferences) o ser administrador del SGA.
  • Respuestas: 200 con status: "OK" y el traspaso creado en data; si no, status: "ERR" y el motivo en error, con código 400 (el cuerpo no es un JSON válido), 403 (el usuario no puede crear traspasos), 422 (algún dato no es válido) o 500 (error de la plataforma).

Qué se envía

  • originStoreId (obligatorio): el almacén de origen, de donde sale el stock.
  • destinationStoreId (obligatorio): el almacén de destino. Distinto del de origen y de la misma empresa.
  • shipmentCompanyId (obligatorio): la compañía de transporte.
  • shipmentServiceId (obligatorio): el servicio de transporte. Tiene que ser de la compañía indicada.
  • typeId (opcional): el tipo de traspaso. Si no se envía, se usa el tipo predeterminado. El número del traspaso lleva el formato de su tipo.
  • storeObs (opcional): observaciones para el almacén.
  • lines (obligatorio, al menos una): los artículos, cada uno con articleId y units (unidades, mayores que 0). Si un artículo va en varias líneas, se juntan en una sumando las unidades.

Ejemplos

Reposición de una tienda desde el almacén central

10 unidades de un artículo y 2 de otro, con un servicio de transporte urgente:

POST /StockTransferenceREST/createWithLines

{
  "originStoreId": "cw5f1a2b3c4d5e6",
  "destinationStoreId": "cw5f1a2b3c4d5e7",
  "shipmentCompanyId": "cw5f1a2b3c4d5e8",
  "shipmentServiceId": "cw5f1a2b3c4d5e9",
  "storeObs": "Reposición semanal de la tienda",
  "lines": [
    { "articleId": "cw5f1a2b3c4d5f0", "units": 10 },
    { "articleId": "cw5f1a2b3c4d5f1", "units": 2 }
  ]
}

Respuesta (200). id es el identificador del traspaso y transferId su número, con el que se busca en el gestor de traspasos:

{
  "status": "OK",
  "data": {
    "id": "cw6a7b8c9d0e1f2",
    "transferId": "000123"
  }
}

No hay stock suficiente en el origen

Se piden 10 unidades y en el almacén de origen solo hay 4 libres. No se crea el traspaso. Responde con código HTTP 422:

{
  "status": "ERR",
  "error": "Solo hay 4 disponibles de REF-001 en el almacén de origen."
}

Usuario sin permiso

Responde con código HTTP 403:

{
  "status": "ERR",
  "error": "No tienes permiso para crear traspasos de stock."
}

Las reglas, una a una

Todas devuelven 422 con su mensaje.

Cabecera

  • Hacen falta almacén de origen y de destino, distintos y los dos de la empresa.
  • Si el usuario trabaja con un único almacén, solo puede hacer traspasos desde o hacia ese almacén.
  • Hacen falta compañía y servicio de transporte, y el servicio tiene que ser de esa compañía.
  • Si se envía typeId, tiene que ser un tipo de traspaso.

Líneas

  • Al menos una línea, y las unidades de cada una mayores que 0.
  • El artículo tiene que estar activo y controlar stock. Los que se preparan por sus componentes no se traspasan: hay que traspasar los componentes.
  • Unidades enteras si el artículo lleva número de serie o su unidad de medida no admite decimales.
  • Tiene que haber disponible en el almacén de origen lo que se pide.

Lo que no hace

  • No reserva un lote, número de serie o contenedor concreto, igual que la inserción rápida. Si hace falta, se edita la línea después desde la ficha del traspaso.
  • No modifica ni anula traspasos: solo los crea.

Artículos relacionados

Artículo perteneciente a la/s categoría/s: Fecha de publicación: 14 de octubre del 2026, 16:42h
« Volver atrás Sugerencias Imprimir

    Sugerencias

    Envíenos sus sugerencias para esta sección, ya sean mejoras en su funcionalidad, usabilidad o contenido. Valoraremos su opinión y comentarios e intentaremos mejorar en la medida de lo posible. Gracias por utilizar nuestros servicios.

    Nota: Todos los campos son obligatorios.

    Información básica sobre protección de datos

    La entidad responsable del tratamiento es YUNBIT, S.L. La finalidad para la cual se recaban los datos es recabar información para mejorar esta wiki. La legitimación para captar la información es el propio consentimiento del interesado al enviar la sugerencia. Los datos no serán cedidos a terceros, salvo obligación legal. Los usuarios disponen del derecho a acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la información adicional. Puede consultar la información adicional y detallada sobre Protección de Datos aquí: Política de privacidad

    Out1