Referencia API · FuturWeb

Referencia de la API Futurlog

API REST / JSON para conectar sus sistemas a la logística Futurlog: pedidos, productos, stock, recepciones y devoluciones. Sus programas llaman a nuestros web services para gestionar sus flujos de forma continua.

Introducción

Los Web Services Futurlog (FuturWeb) permiten intercambiar información entre sus sistemas y los de Futurlog. El principio: son sus programas los que llaman a nuestros servicios para transmitir (bajada) sus catálogos y pedidos, y para recuperar (subida) el stock, los estados y el seguimiento. La API es REST e intercambia JSON.

Autenticación

Los servicios FuturWeb aceptan dos modos de autenticación. Funcionan en paralelo y sin fecha límite: puede conservar el modo histórico o pasar al modo por cabeceras.

Modo 1 - Login y clave en la URL (histórico)

Las llamadas tienen el siguiente formato:

https://jws.futurlog.com/{Application}/{Action}/{MerchantCode}/{Login}/{Key}/{Parameter}

Es el modo original, siempre plenamente soportado. Si sus intercambios funcionan hoy, no tiene nada que modificar.

Modo 2 - Login y clave en las cabeceras HTTP (recomendado)

La URL toma el prefijo v2 y pierde los segmentos Login y Key:

https://jws.futurlog.com/v2/{Application}/{Action}/{MerchantCode}/{Parameter}

Las dos cabeceras que hay que añadir:

  • X-FuturLog-Login: su Login
  • X-FuturLog-Key: su Key

La autenticación HTTP Basic también se acepta en este prefijo: cabecera Authorization con el par Login / Key. Útil si su cliente HTTP la gestiona de forma nativa.

Ventaja de este modo: la clave ya no aparece en la URL, y por tanto tampoco en los registros de los servidores, proxies y equipos de red atravesados. Por eso lo recomendamos para cualquier nueva integración.

Estos componentes son comunes a ambos modos. Solo cambia la ubicación del Login y de la Key.

CampoDescripción
MerchantCodeMerchantCode es su código de comerciante. Se compone de 3 caracteres alfanuméricos y se lo proporciona FuturLog.
LoginLogin determina la cuenta con la que realizará las acciones en el Web Service. El Login se lo proporciona FuturLog. En el entorno de prueba, este Login debe ir seguido de -test.
KeyKey es la clave que le identifica ante nuestros servicios. La clave se la proporciona FuturLog. Es diferente en el entorno de prueba y en el entorno de producción. Se compone de 64 caracteres [a-Z0-9].
ParameterParameter es un parámetro opcional según el método que desee llamar. Se detalla más abajo.

Sobre de respuesta

Todos los métodos responden con HTTP 200, incluso en caso de error de negocio. Es el contenido del cuerpo lo que distingue el éxito del fracaso.

Respuesta correcta:

{
  "Data": {},
  "LogId": 0
}

Respuesta con error:

{
  "Error": {
    "Message": "",
    "Code": "",
    "Data": [
      { "Key": "", "Value": "" }
    ]
  },
  "LogId": 0
}
CampoTipoDescripción
Datadepende del métodoResultado de la llamada. Sin significado cuando Error está presente: ausente para un objeto o una lista, pero devuelto con su valor por defecto para un bool (false) o un int (0), que entonces no es ni un resultado ni un identificador.
Error.MessagestringMensaje de error en texto claro.
Error.CodestringCódigo de error, con la forma E_....
Error.Datalista de pares clave/valorContexto del error: número de pedido, código de producto...
LogIdintIdentificador del registro FuturLog. Comuníquelo al soporte para rastrear una llamada.

Tres reglas de serialización que conviene conocer:

  • El éxito se determina por la ausencia de Error, nunca por la presencia o el valor de Data.
  • Las propiedades nulas se omiten de la respuesta, no aparecen con el valor null. Un bool o un int no nullable nunca es nulo: siempre se devuelve.
  • Las fechas se serializan con el formato yyyy-MM-dd en las respuestas. En las solicitudes, el formato esperado se indica en cada parámetro correspondiente.

Pedidos

POST

Declarar un nuevo pedido

Modo 1/Order/CreateNewOrder/{merchantCode}/{login}/{key}
Modo 2/v2/Order/CreateNewOrder/{merchantCode}
Cuerpo
Objeto Order
Respuesta
bool · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_ORDERE_NO_ORDER_LINEE_NO_ORDER_NUMBERE_ALREADY_EXISTING_ORDERE_PRODUCT_CONTAINERS_PER_UNIT_REQUIREDE_UNKNOWN_ERROR
GET

Obtener el estado de avance de un pedido

Modo 1/Order/GetShipments/{merchantCode}/{login}/{key}/{dateFromUtc}
Modo 2/v2/Order/GetShipments/{merchantCode}/{dateFromUtc}
Parámetros
dateFromUtc = Todos los pedidos que han tenido un cambio de estado después de esta fecha (desfase UTC/GMT +0)
Formatos aceptados: "yyyy-MM-dd" o "yyyy-MM-ddTHH:mm:ss"
Ejemplo: "2019-12-17" o "2019-12-17T13:45:31"
Respuesta
Lista de ShipmentReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
GET

Obtener la lista de estados

Modo 1/Order/GetStates/{merchantCode}/{login}/{key}
Modo 2/v2/Order/GetStates/{merchantCode}
Respuesta
Lista de StateReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
GET

Obtener mi lista de transportistas

Modo 1/Order/GetCarriers/{merchantCode}/{login}/{key}
Modo 2/v2/Order/GetCarriers/{merchantCode}
Respuesta
Lista de CarrierReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
GET

Obtener la lista de pedidos con error

Modo 1/Order/GetOrderErrors/{merchantCode}/{login}/{key}
Modo 2/v2/Order/GetOrderErrors/{merchantCode}
Respuesta
Lista de OrderErrorReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
POST

Rechazar un pedido con error

Modo 1/Order/RejectOrderError/{merchantCode}/{login}/{key}
Modo 2/v2/Order/RejectOrderError/{merchantCode}
Cuerpo
Objeto OrderReference
Respuesta
bool · HTTP 200
  • Rechaza el pedido pendiente de integración (o con error) más reciente con este número: nunca se integrará, como el botón « Rejeter » (Rechazar) de la pestaña Pedidos con error de MyFuturLog
  • Un pedido ya integrado o ya rechazado se rechaza con el código correspondiente, no se modifica nada
  • Si un pedido integrado ya tiene este número y esperaba esta corrección, permanece « En modification » (En modificación)
  • Para corregir el pedido en lugar de rechazarlo, vuelva a enviar CreateNewOrder con el mismo número
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
POST

Cancelar un pedido

Modo 1/Order/CancelOrder/{merchantCode}/{login}/{key}
Modo 2/v2/Order/CancelOrder/{merchantCode}
Cuerpo
Objeto OrderReference
Respuesta
bool · HTTP 200
  • Cancela un pedido aún no enviado y libera el stock reservado
  • Mismos estados, rol y almacenes autorizados que el botón « Annuler » (Cancelar) de MyFuturLog: un pedido ya cancelado o ya en preparación se rechaza con el código correspondiente, no se modifica nada
  • En un almacén MPO o MPM, un pedido ya transmitido solo puede ser cancelado por FuturLog
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ACTION_NOT_SUPPORTED_BY_WAREHOUSEE_UNABLE_TO_CANCEL_ORDERE_UNKNOWN_ERROR
POST

Desbloquear un pedido

Modo 1/Order/UnblockOrder/{merchantCode}/{login}/{key}
Modo 2/v2/Order/UnblockOrder/{merchantCode}
Cuerpo
Objeto OrderReference
Respuesta
bool · HTTP 200
  • Desbloquea un pedido en estado « Bloquée » (Bloqueado): retoma su ciclo (completitud y luego transmisión al almacén)
  • Mismas condiciones que el botón « Débloquer » (Desbloquear) de MyFuturLog: un pedido que no está bloqueado se rechaza con el código correspondiente, no se modifica nada
  • Un pedido grande pendiente de verificación solo puede ser desbloqueado por FuturLog
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNABLE_TO_UNBLOCK_ORDERE_UNKNOWN_ERROR
POST

Forzar la transmisión de un pedido

Modo 1/Order/ForceCompleteOrder/{merchantCode}/{login}/{key}
Modo 2/v2/Order/ForceCompleteOrder/{merchantCode}
Cuerpo
Objeto OrderReference
Respuesta
bool · HTTP 200
  • Fuerza la transmisión al almacén de un pedido en estado « Incomplète » (Incompleto) (stock insuficiente), retomando si es necesario las reservas de otros pedidos del comerciante aún no transmitidos, que vuelven a quedar incompletos
  • Misma condición que el botón « Forcer la transmission » (Forzar la transmisión) de MyFuturLog: cualquier otro pedido se rechaza con el código correspondiente
  • Si el stock sigue siendo insuficiente, el pedido permanece incompleto y el método devuelve E_UNABLE_TO_COMPLETE_ORDER
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNABLE_TO_COMPLETE_ORDERE_UNKNOWN_ERROR
POST

Anonimizar un pedido

Modo 1/Order/AnonymizeOrder/{merchantCode}/{login}/{key}
Modo 2/v2/Order/AnonymizeOrder/{merchantCode}
Cuerpo
Objeto OrderReference
Respuesta
bool · HTTP 200
  • Sustituye los datos personales del destinatario (nombre, dirección, teléfonos, e-mail, dirección de facturación) de un pedido cancelado o ya enviado, en virtud del RGPD
  • Irreversible
  • Misma condición que el botón « Anonymiser » (Anonimizar) de MyFuturLog: un pedido en curso de tratamiento se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR

Devoluciones

POST

Crear una nueva devolución prevista

Modo 1/Order/CreateNewExpectedReturn/{merchantCode}/{login}/{key}
Modo 2/v2/Order/CreateNewExpectedReturn/{merchantCode}
Cuerpo
Objeto ExpectedParcelReturn
Respuesta
bool · HTTP 200
  • Declara una devolución de cliente prevista sobre un pedido enviado: el pedido y la devolución pasan a Retour annoncé (Devolución anunciada)
  • Un número de seguimiento ya asignado a una devolución del mismo pedido se rechaza; sin número de seguimiento, cada llamada crea una devolución
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERRORE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_UNKNOWN_CARRIERE_ALREADY_EXISTING_PARCEL_RETURNE_UNKNOWN_PRODUCT_CODEE_NO_RETURN_LINE_QUANTITYE_UNKNOWN_BRAND
GET

Obtener la lista de pedidos devueltos

Modo 1/Order/GetReturns/{merchantCode}/{login}/{key}/{dateFromUtc}
Modo 2/v2/Order/GetReturns/{merchantCode}/{dateFromUtc}
Respuesta
Lista de OrderReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
POST

Cambiar el estado de reembolso de una devolución

Modo 1/Order/SetParcelReturnRefundState/{merchantCode}/{login}/{key}
Modo 2/v2/Order/SetParcelReturnRefundState/{merchantCode}
Cuerpo
Objeto ParcelReturnRefundState
Respuesta
bool · HTTP 200
  • Cambia el estado de reembolso de una devolución de cliente: 0 vacío, 1 pendiente de reembolso, 2 cambio creado, 3 reembolsado (abono), 4 reembolsado (medio de pago)
  • La devolución se designa por su identificador FuturLog (prioritario), por su número de seguimiento o por el número del pedido cuando este solo tiene una devolución; un pedido con varias devoluciones se rechaza con E_AMBIGUOUS_PARCEL_RETURN, y el detalle enumera las devoluciones con su identificador
  • Un valor fuera de 0 a 4, o ya vigente, se rechaza, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_PARCEL_RETURNE_AMBIGUOUS_PARCEL_RETURNE_INVALID_REFUND_STATEE_NOTHING_TO_UPDATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR

Productos y stock

POST

Declarar un nuevo artículo

Modo 1/Product/CreateNewProduct/{merchantCode}/{login}/{key}
Modo 2/v2/Product/CreateNewProduct/{merchantCode}
Cuerpo
Objeto Product
Respuesta
bool · HTTP 200
  • Si el producto ya existe, se actualiza
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Actualizar un artículo existente

Modo 1/Product/UpdateProduct/{merchantCode}/{login}/{key}
Modo 2/v2/Product/UpdateProduct/{merchantCode}
Cuerpo
Objeto Product
Respuesta
bool · HTTP 200
  • Si el producto no existe, se crea
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Declarar artículos en masa

Modo 1/Product/CreateNewProducts/{merchantCode}/{login}/{key}
Modo 2/v2/Product/CreateNewProducts/{merchantCode}
Cuerpo
Lista de Product
Respuesta
bool · HTTP 200
  • Si un producto ya existe, se actualiza
  • Nota: en caso de error en un producto, no se registra ningún producto
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Actualizar artículos existentes en masa

Modo 1/Product/UpdateProducts/{merchantCode}/{login}/{key}
Modo 2/v2/Product/UpdateProducts/{merchantCode}
Cuerpo
Lista de Product
Respuesta
bool · HTTP 200
  • Si un producto no existe, se crea
  • Nota: en caso de error en un producto, no se registra ninguna modificación de producto
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Eliminar un artículo

Modo 1/Product/DeleteProduct/{merchantCode}/{login}/{key}/{productCode}
Modo 2/v2/Product/DeleteProduct/{merchantCode}/{productCode}
Parámetros
productCode = Código del producto que se va a eliminar
Respuesta
bool · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_UNKNOWN_ERROR
POST

Reactivar un artículo

Modo 1/Product/EnableProduct/{merchantCode}/{login}/{key}
Modo 2/v2/Product/EnableProduct/{merchantCode}
Cuerpo
Objeto ProductReference
Respuesta
bool · HTTP 200
  • Reactiva un artículo desactivado (eliminado mediante DeleteProduct o desde MyFuturLog): su ficha se revalida como en la creación, luego se reintegra y se reenvía al almacén
  • Un artículo ya activo se rechaza con el código correspondiente, no se modifica nada
  • Si la ficha no puede reintegrarse (código de barras ya asignado a otro artículo activo, por ejemplo), se devuelve el código del error de integración y el artículo permanece desactivado
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_PRODUCT_CODEE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ALREADY_EXISTING_BAR_CODEE_UNKNOWN_ERROR
GET

Obtener la información de un producto

Modo 1/Product/GetProductInfo/{merchantCode}/{login}/{key}/{productCode}
Modo 2/v2/Product/GetProductInfo/{merchantCode}/{productCode}
Parámetros
productCode = Código del producto
Respuesta
ProductInfoReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_UNKNOWN_ERROR
GET

Obtener la lista de productos con error

Modo 1/Product/GetProductErrors/{merchantCode}/{login}/{key}
Modo 2/v2/Product/GetProductErrors/{merchantCode}
Respuesta
Lista de ProductErrorReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
POST

Rechazar un artículo con error

Modo 1/Product/RejectProductError/{merchantCode}/{login}/{key}
Modo 2/v2/Product/RejectProductError/{merchantCode}
Cuerpo
Objeto ProductReference
Respuesta
bool · HTTP 200
  • Rechaza el artículo pendiente de integración (o con error) más reciente con este código: nunca se integrará, como el botón « Rejeter » (Rechazar) de la pestaña Artículos con error de MyFuturLog
  • Un artículo ya integrado o ya rechazado se rechaza con el código correspondiente, no se modifica nada
  • Para corregir el artículo en lugar de rechazarlo, vuelva a enviar CreateNewProduct o UpdateProduct con el mismo código
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_TMPPRODUCTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
POST

Reenviar la ficha de un artículo al almacén

Modo 1/Product/ResendProductToLogistics/{merchantCode}/{login}/{key}
Modo 2/v2/Product/ResendProductToLogistics/{merchantCode}
Cuerpo
Objeto ProductReference
Respuesta
bool · HTTP 200
  • Marca la ficha del artículo para retransmitirla al almacén en el próximo flujo de productos (archivo o FuturWare), como el botón « Renvoyer à la logistique » (Reenviar a logística) de MyFuturLog
  • Se rechaza con el código correspondiente si el artículo está desactivado, si es virtual (nunca transmitido) o si el flujo de productos hacia el almacén está cerrado para este comerciante; no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_PRODUCT_CODEE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ACTION_NOT_SUPPORTED_BY_WAREHOUSEE_UNKNOWN_ERROR
POST

Obtener el estado del stock en la unidad de la marca

Modo 1/Product/GetStocks/{merchantCode}/{login}/{key}
Modo 2/v2/Product/GetStocks/{merchantCode}
Parámetros
Producto solicitado y marca que fija la unidad de las cantidades devueltas
Cuerpo
Objeto StockRequest
Respuesta
Lista de StockReturn · HTTP 200
  • El código de la marca es obligatorio cuando el comerciante tiene varias
  • Cuando la marca expresa sus cantidades en unidades de venta al consumidor, las cantidades devueltas se multiplican por la cantidad por SKU del producto; si no, se devuelven en unidades de stock
  • Un producto cuya cantidad por SKU no está informada no aparece en la respuesta
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_BRAND_MISSINGE_UNKNOWN_BRANDE_UNKNOWN_ERROR
POST

Controlar la disponibilidad de varios productos

Modo 1/Product/CheckStocks/{merchantCode}/{login}/{key}
Modo 2/v2/Product/CheckStocks/{merchantCode}
Parámetros
Marca que fija la unidad de las cantidades solicitadas, y líneas que se van a controlar
Cuerpo
Objeto StockCheckRequest
Respuesta
StockCheckReturn · HTTP 200
  • Devuelve IsAvailable = false en cuanto una sola cantidad solicitada supera el stock disponible, con el detalle de las líneas que faltan
  • Un código de producto enviado varias veces suma sus cantidades, una cantidad negativa cuenta como 0
  • Cuando la marca expresa sus cantidades en unidades de venta al consumidor, cada cantidad solicitada se divide por la cantidad por SKU del producto antes de la comparación
  • Instantánea: no se reserva nada entre el control y la creación del pedido
  • Solo controla el stock: no se tienen en cuenta ni el destino ni el transportista
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_STOCKS_TRANSMISSION_DISABLEDE_BRAND_MISSINGE_UNKNOWN_BRANDE_PRODUCT_CONTAINERS_PER_UNIT_REQUIREDE_ORDER_QUANTITY_NOT_DIVISIBLEE_UNKNOWN_ERROR

Recepciones

POST

Crear una nueva recepción prevista

Modo 1/Product/CreateNewExpectedReceipt/{merchantCode}/{login}/{key}
Modo 2/v2/Product/CreateNewExpectedReceipt/{merchantCode}
Cuerpo
Objeto Receipt
Respuesta
bool · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERRORE_NO_RECEIPTE_ALREADY_EXISTING_RECEIPTE_NO_RECEIPT_LINEE_NO_SCHEDULED_DATEE_UNKNOWN_PRODUCT_CODEE_NO_RECEIPT_LINE_QUANTITYE_NO_SUPPLIER_NAME
POST

Modificar una recepción prevista

Modo 1/Product/UpdateReceipt/{merchantCode}/{login}/{key}
Modo 2/v2/Product/UpdateReceipt/{merchantCode}
Cuerpo
Objeto ReceiptUpdate
Respuesta
bool · HTTP 200
  • Modifica una recepción prevista aún no transmitida al almacén (estado « Reçu informatiquement » (Recibido informáticamente))
  • Un campo ausente se conserva, una cadena vacía lo borra; el número de recepción prevista se cambia mediante NewReceiptNumber con las reglas de la creación (alfanumérico, 12 caracteres como máximo, único); un nombre de proveedor igual al de un proveedor registrado del comerciante lo vincula; las líneas proporcionadas sustituyen en bloque a las líneas previstas (referencias activas del comerciante, cantidades estrictamente positivas)
  • Nunca el estado ni las cantidades recibidas
  • Una recepción prevista ya transmitida, en recepción o cerrada se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_RECEIPTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_INVALID_RECEIPTNUMBERE_RECEIPT_CODE_TOO_LONGE_ALREADY_EXISTING_RECEIPTE_NO_SUPPLIER_NAMEE_UNKNOWN_SUPPLIERE_NO_RECEIPT_LINEE_NO_RECEIPT_LINE_QUANTITYE_UNKNOWN_PRODUCT_CODEE_NOTHING_TO_UPDATEE_UNKNOWN_ERROR
POST

Cancelar una recepción prevista

Modo 1/Product/CancelReceipt/{merchantCode}/{login}/{key}
Modo 2/v2/Product/CancelReceipt/{merchantCode}
Cuerpo
Objeto ReceiptReference
Respuesta
bool · HTTP 200
  • Cancela una recepción prevista
  • Aún no transmitida al almacén: se cancela inmediatamente
  • Ya anunciada al almacén: pasa a « En annulation » (En cancelación) y la cancelación se transmite por el flujo cuando el almacén la acepta (almacenes MPO y MPM; en otros casos, la cancelación de una recepción anunciada pasa por MyFuturLog o el soporte FuturLog)
  • Una recepción prevista en recepción, terminada, saldada, bloqueada o ya cancelada se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_RECEIPTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ACTION_NOT_SUPPORTED_BY_WAREHOUSEE_UNKNOWN_ERROR
POST

Saldar una recepción prevista

Modo 1/Product/SettleReceipt/{merchantCode}/{login}/{key}
Modo 2/v2/Product/SettleReceipt/{merchantCode}
Cuerpo
Objeto ReceiptReference
Respuesta
bool · HTTP 200
  • Salda una recepción prevista en recepción o terminada, aceptando la diferencia entre las cantidades anunciadas y recibidas: pasa a « Soldé » (Saldada)
  • Este método no crea ningún remanente: las cantidades no recibidas pendientes se vuelven a declarar mediante CreateNewExpectedReceipt
  • Una recepción prevista que aún no está en recepción, ya saldada o cancelada se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_RECEIPTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
GET

Obtener la lista de recepciones

Modo 1/Product/GetReceipts/{merchantCode}/{login}/{key}/{dateFromUtc}
Modo 2/v2/Product/GetReceipts/{merchantCode}/{dateFromUtc}
Respuesta
Lista de ReceiptReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR

Proveedores

POST

Crear un proveedor

Modo 1/Supplier/CreateSupplier/{merchantCode}/{login}/{key}
Modo 2/v2/Supplier/CreateSupplier/{merchantCode}
Cuerpo
Objeto Supplier
Respuesta
int · HTTP 200
  • Crea un proveedor del comerciante
  • Solo el nombre es obligatorio; los datos de contacto son opcionales, el país es un código ISO de 2 letras
  • Devuelve el identificador del proveedor creado, que debe conservarse para UpdateSupplier y ArchiveSupplier
  • Sin protección contra duplicados: dos llamadas con el mismo nombre crean dos proveedores
  • Los vínculos de productos (código en el proveedor, plazo de aprovisionamiento) se establecen después mediante UpdateSupplier
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_SUPPLIER_NAMEE_INVALID_EMAILE_UNKNOWN_COUNTRY_CODEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
POST

Modificar un proveedor

Modo 1/Supplier/UpdateSupplier/{merchantCode}/{login}/{key}
Modo 2/v2/Supplier/UpdateSupplier/{merchantCode}
Cuerpo
Objeto SupplierUpdate
Respuesta
bool · HTTP 200
  • Modifica un proveedor designado por su identificador (devuelto por CreateSupplier)
  • Un campo ausente se conserva, una cadena vacía lo borra (salvo el nombre, que no se borra)
  • Los vínculos de productos proporcionados sustituyen en bloque a los existentes: un producto ausente de la lista se desvincula; lista ausente = vínculos conservados
  • Un proveedor archivado se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_SUPPLIERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_NO_SUPPLIER_NAMEE_INVALID_EMAILE_UNKNOWN_COUNTRY_CODEE_UNKNOWN_PRODUCT_CODEE_NOTHING_TO_UPDATEE_UNKNOWN_ERROR
POST

Archivar un proveedor

Modo 1/Supplier/ArchiveSupplier/{merchantCode}/{login}/{key}
Modo 2/v2/Supplier/ArchiveSupplier/{merchantCode}
Cuerpo
Objeto SupplierReference
Respuesta
bool · HTTP 200
  • Archiva un proveedor designado por su identificador: desaparece de las listas y de las opciones de recepción prevista, las recepciones previstas pasadas conservan su nombre
  • Un proveedor ya archivado se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_SUPPLIERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR

Fabricación de kits

POST

Crear una orden de fabricación de kits

Modo 1/BundleManufacturing/CreateBundleManufacturing/{merchantCode}/{login}/{key}
Modo 2/v2/BundleManufacturing/CreateBundleManufacturing/{merchantCode}
Cuerpo
Objeto BundleManufacturing
Respuesta
string · HTTP 200
  • Crea una orden de fabricación: los kits que se van a fabricar (productos con composición) con su cantidad, y comentarios para el almacén
  • El número es opcional: si falta, FuturLog lo genera y lo devuelve en la respuesta; si se proporciona, es alfanumérico, de 12 caracteres como máximo y único para el comerciante
  • La orden se registra como « Reçu informatiquement » (Recibido informáticamente); los componentes se reservan y luego FuturLog avisa al almacén
  • Sin protección contra duplicados cuando falta el número
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_STARTING_TOO_LOWE_NO_BUNDLE_MANUFACTURINGE_NO_BUNDLE_MANUFACTURING_NUMBERE_BUNDLE_MANUFACTURING_CODE_TOO_LONGE_ALREADY_EXISTING_BUNDLE_MANUFACTURINGE_NO_BUNDLE_MANUFACTURING_LINEE_NO_BUNDLE_MANUFACTURING_LINE_QUANTITYE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_PRODUCT_IS_NOT_BUNDLEE_UNKNOWN_ERROR
POST

Modificar una orden de fabricación de kits

Modo 1/BundleManufacturing/UpdateBundleManufacturing/{merchantCode}/{login}/{key}
Modo 2/v2/BundleManufacturing/UpdateBundleManufacturing/{merchantCode}
Cuerpo
Objeto BundleManufacturingUpdate
Respuesta
bool · HTTP 200
  • Modifica una orden de fabricación aún no transmitida al almacén (estados Reçu informatiquement, Incomplet, Complet (Recibido informáticamente, Incompleto, Completo)), designada por su número
  • Los comentarios son un parche: ausentes, se conservan; vacíos, se borran
  • Cada línea proporcionada sustituye la cantidad que se va a fabricar del kit designado por su código; un kit ausente de la orden se rechaza, no se añade ni se retira ninguna línea
  • La cantidad fabricada y el estado nunca se modifican por API
  • Las reservas de componentes se realinean y el estado se recalcula en la llamada
  • Una orden transmitida, fabricada o eliminada se rechaza con el código correspondiente, no se modifica nada
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_BUNDLE_MANUFACTURINGE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_NO_BUNDLE_MANUFACTURING_LINE_QUANTITYE_NOTHING_TO_UPDATEE_UNKNOWN_ERROR
POST

Cancelar una orden de fabricación de kits

Modo 1/BundleManufacturing/CancelBundleManufacturing/{merchantCode}/{login}/{key}
Modo 2/v2/BundleManufacturing/CancelBundleManufacturing/{merchantCode}
Cuerpo
Objeto BundleManufacturingReference
Respuesta
bool · HTTP 200
  • Cancela una orden de fabricación designada por su número: pasa a « Supprimé » (Eliminado), los componentes aún reservados se liberan y los kits ya fabricados se contraasientan en stock (movimientos inversos)
  • Una orden ya transmitida al almacén o ya fabricada solo puede ser cancelada por FuturLog, una orden ya eliminada se rechaza, y la cancelación se rechaza cuando kits fabricados ya han salido del stock
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_BUNDLE_MANUFACTURINGE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_CANNOT_DELETE_BUNDLE_MANUFACTURINGE_UNKNOWN_ERROR

Atención al cliente

POST

Abrir una solicitud a atención al cliente

Modo 1/Support/CreateSupportRequest/{merchantCode}/{login}/{key}
Modo 2/v2/Support/CreateSupportRequest/{merchantCode}
Cuerpo
Objeto SupportTicket
Respuesta
long · HTTP 200
  • Abre un ticket ante la atención al cliente de FuturLog en nombre del usuario autenticado, que debe tener acceso a la atención al cliente desde MyFuturLog (una cuenta técnica de integración generalmente no lo tiene: el método lo rechaza entonces explícitamente)
  • Asunto y mensaje obligatorios
  • Archivos adjuntos opcionales: como máximo 3 archivos de 5 MB cada uno, tipos png, jpg, pdf, csv, txt, contenido en base64
  • Entidades vinculadas opcionales, designadas por su referencia (número de pedido, código de producto, número de recepción prevista, identificador o número de seguimiento de la devolución, número de orden de fabricación): una referencia desconocida rechaza la solicitud
  • Devuelve el número del ticket, que debe conservarse para ReplySupportRequest
  • Sin protección contra duplicados: dos llamadas crean dos tickets
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_SUPPORT_NOT_ACTIVATEDE_ACTION_RESERVED_TO_INTERNAL_ROLEE_INVALID_SUPPORT_REQUESTE_NO_ORDERE_UNKNOWN_PRODUCT_CODEE_UNKNOWN_TMPPRODUCTE_NO_RECEIPTE_UNKNOWN_PARCEL_RETURNE_NO_BUNDLE_MANUFACTURINGE_SUPPORT_UNAVAILABLEE_UNKNOWN_ERROR
POST

Responder a una solicitud a atención al cliente

Modo 1/Support/ReplySupportRequest/{merchantCode}/{login}/{key}
Modo 2/v2/Support/ReplySupportRequest/{merchantCode}
Cuerpo
Objeto SupportTicketReply
Respuesta
bool · HTTP 200
  • Añade una respuesta a un ticket existente del comerciante, designado por su número (devuelto por CreateSupportRequest), en nombre del usuario autenticado, que debe tener acceso a la atención al cliente desde MyFuturLog
  • Mensaje obligatorio, archivos adjuntos opcionales (como máximo 3 archivos de 5 MB, tipos png, jpg, pdf, csv, txt, base64)
  • Un ticket resuelto se reabre con la respuesta; un ticket cerrado se rechaza con el código correspondiente
  • Un ticket desconocido o de otro comerciante no se encuentra, sin distinción
  • Sin protección contra duplicados: vuelva a leer el hilo antes de reenviar una respuesta tras un error de red
  • Ningún permiso de usuario está asignado por defecto a este método: solicite su activación a FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_SUPPORT_NOT_ACTIVATEDE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_SUPPORT_REQUESTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_INVALID_SUPPORT_REQUESTE_SUPPORT_UNAVAILABLEE_UNKNOWN_ERROR

Modelos de datos

Objetos enviados / recibidos, lista exhaustiva de campos. (O) = obligatorio, (O/F) = obligatorio según sus parámetros FuturLog, string[n] = longitud máx. n, ? = nullable. Los campos sin anotación son facultativos.

Order solicitud

{
  "OrderNumber": "string[9]",                // (O) único
  "BrandCode": "string[3]",                  // (O/F) código de la enseña
  "CurrencyCode": "string[3]",               // divisa (EUR, USD, ...)
  "CustomerNumber": "string[50]",            // n.º de pedido cliente (B2B)
  "Language": "string[2]",                   // idioma de la enseña
  "Incoterm": "string[3]",
  "DateUtc": "datetime?",                    // fecha del pedido
  "ScheduledTransmissionDate": "datetime?",  // transmisión programada al logístico
  "MerchantCarrierCode": "string[7]",        // transportista del comerciante: código
  "MerchantCarrierLabel": "string[50]",      // transportista del comerciante: nombre
  "ShippingServiceCode": "string[3]",        // A2P, CIT, BPR, CDI, ACP, DOM, RDV, MRL...
  "SpecificationCode": "string[50]", // código del pliego de condiciones B2B (CDC)
  "StockType": "string[3]",              // tipo de stock (STD, DEF, BLQ), STD por defecto
  "PickerComments": "string[500]",           // comentario del preparador
  "EshopId": "string", "EshopCustom1": "string",     // ref. / info e-shop
  "CustomInvoiceBase64": "string",          // factura personalizada (Base64)
  "CustomDocumentBase64": "string",         // documento personalizado (Base64)
  "Address": {                                    // (O) dirección de entrega
    "CorporateName": "string[100]",
    "LastName": "string[50]", "FirstName": "string[50]",
    "Address1": "string[35]",              // (O)
    "Address2": "string[35]", "Address3": "string[35]",
    "ZipCode": "string[10]",               // (O)
    "City": "string[50]",                  // (O)
    "ProvinceCode": "string[2]",            // EE. UU. / Canadá
    "CountryCode": "string[2]",             // (O)
    "MobilePhone": "string[30]",            // (O)
    "Phone": "string[30]",
    "Email": "string[100]",
    "PickupPointNumber": "string[10]",       // punto de recogida
    "Comments": "string[500]"
  },
  "Billing": {                                    // facturación
    "CorporateName": "string[50]",
    "LastName": "string[50]", "FirstName": "string[50]",
    "Address1": "string[35]",              // (O)
    "Address2": "string[35]", "Address3": "string[35]",
    "ZipCode": "string[10]",               // (O)
    "City": "string[50]",                  // (O)
    "ProvinceCode": "string[2]",            // EE. UU. / Canadá
    "CountryCode": "string[2]",             // (O)
    "BillNumber": "string[50]",            // n.º de factura
    "TotalAmount": "decimal?",            // (O) total del pedido con IVA
    "ShipmentPrice": "decimal?",          // gastos de envío con IVA
    "ShipmentVAT": "decimal?",            // (O/F) IVA de los gastos de envío
    "Discount": "decimal?", "DiscountHT": "decimal?", "DiscountTTC": "decimal?"  // descuento (sin/con IVA según parámetros)
  },
  "Gift": {                                       // regalo
    "Message": "string",                   // mensaje de la tarjeta regalo
    "PackageType": "int?"                  // tipo de papel de regalo
  },
  "OrderLines": [ {                               // (O) líneas de pedido
    "ProductCode": "string[30]",            // (O) ref. de producto
    "InternalProductCode": "string[30]",    // (O) ref. interna
    "ProductLabel": "string[120]",         // (O)
    "ProductBatchNumber": "string[30]",      // n.º de lote
    "Quantity": 0,                         // (O)
    "UnitPrice": "decimal?", "UnitPriceHT": "decimal?", "UnitPriceTTC": "decimal?",  // (O/F) precio unitario (sin/con IVA según parámetros)
    "VATRate": "decimal?"                  // (O/F) tipo de IVA
  } ]
}

Product solicitud

{
  "Code": "string[30]",               // (O) código de producto
  "Label": "string[120]",            // (O) descripción del producto
  "BarCode": "string[60]",           // código de barras
  "BrandCode": "string[3]",          // código de la enseña
  "ExternalCode": "string[60]",      // código de proveedor
  "HsCode": "string[10]",            // nomenclatura aduanera
  "OriginCountryCode": "string[2]",  // país de origen
  "Family": "string[100]",           // categoría de producto
  "Model": "string[100]", "Color": "string[50]", "Size": "string[100]",
  "Type": "string[100]",            // 'p' = físico, 'v' = virtual
  "Weight": "decimal?",             // peso en kg
  "Height": "decimal?", "Width": "decimal?", "Length": "decimal?",   // dimensiones en cm
  "UnitPriceHT": "decimal?",        // último precio sin IVA
  "TvaRate": "decimal?",            // tipo de IVA
  "WeePrice": "decimal?",           // eco-participación
  "AlertThreshold": 0,               // umbral de alerta de stock
  "IsActive": true, "IsLotManaged": false,
  "PictureUrl": "string[300]",       // URL de la imagen
  "EshopId": "string", "EshopCustom1": "string",     // ref. / info e-shop
  "Parameter1": "string", "Parameter2": "string",  // parámetros personalizados
  "ProductTypeCode": "string[15]", // STANDARD, ALCOOL, DANGEREUX, BIO (ausente = sin cambios)
  "SalesUnitsPerStockUnit": "int?", // cantidad por SKU, de 1 a 1 000 (ausente = 1)
  "AlcoholTypeCode": "string[20]", // (O si ALCOOL) categoría fiscal: VIN_TRANQ, VIN_MOUSS, BOISSON_FERM_AUTRE, PROD_INTER_VDN_VDL, PROD_INTER_AUTRES, BIERE, CIDRE, SPIRITUEUX
  "AlcoholDegree": "decimal?",    // (O si ALCOOL) grado alcohólico en % vol
  "ContainerNominalVolumeCl": "decimal?", // (O si ALCOOL) volumen nominal de un envase en cl
  "AlcoholContainersPerUnit": "int?", // (O si ALCOOL) envases por unidad de stock, de 1 a 1 000
  "ContainerTypeCode": "string[15]", // (O si ALCOOL) BOUTEILLE, CANETTE, FUT, BAG_IN_BOX, AUTRE
  "AppellationDenomination": "string[100]", // denominación o apelación
  "PlatoDegree": "decimal?",      // grado Plato de una cerveza
  "ProductsInBundle": [ { "Code": "string[30]", "Quantity": 1 } ]  // componentes (si es un producto compuesto)
}

Receipt solicitud recepción prevista

{
  "ScheduledDate": "datetime",      // (O) fecha de recepción prevista
  "StockType": "string[3]",    // tipo de stock objetivo: STD (defecto), DEF (defectuoso), BLQ (bloqueado)
  "SupplierName": "string[100]",    // (O) proveedor
  "ReceiptNumber": "string[12]",    // n.º de recepción
  "CarrierName": "string[100]",     // transportista
  "DeliveryComments": "string[500]", // comentario de entrega
  "ReceiptLines": [ {                       // (O) líneas de recepción
    "ProductCode": "string[30]",          // (O) ref. de producto
    "Quantity": 0                        // (O) cantidad anunciada
  } ]
}

BundleManufacturing solicitud

Cuerpo de CreateBundleManufacturing

CampoTipoDescripción
BundleManufacturingNumberstring[12]Número de la orden de fabricación en el comerciante (alfanumérico, único); si falta: lo genera FuturLog y lo devuelve en la respuesta
Commentsstring[500]Comentarios para el almacén
Lines (O)list<BundleManufacturingLine>Kits que se van a fabricar: al menos una línea
Lines[].ProductCode (O)string[100]Código del producto kit en el comerciante (SKU), producto con composición
Lines[].Quantity (O)intCantidad de kits que se van a fabricar, estrictamente positiva

BundleManufacturingReference solicitud

Cuerpo de CancelBundleManufacturing

CampoTipoDescripción
BundleManufacturingNumber (O)string[12]Número de la orden de fabricación, tal como se transmitió o se devolvió en su creación

BundleManufacturingUpdate solicitud

Cuerpo de UpdateBundleManufacturing

CampoTipoDescripción
BundleManufacturingNumber (O)string[12]Número de la orden de fabricación, tal como se transmitió o se devolvió en su creación
Commentsstring[500]Comentarios; ausentes: se conservan, vacíos: se borran
Lineslist<BundleManufacturingLine>Kits cuya cantidad que se va a fabricar cambia (código del kit y nueva cantidad); ausentes: se conservan. Un kit ausente de la orden se rechaza
Lines[].ProductCode (O)string[100]Código del producto kit en el comerciante (SKU), producto con composición
Lines[].Quantity (O)intCantidad de kits que se van a fabricar, estrictamente positiva

OrderReference solicitud

Cuerpo de AnonymizeOrder, CancelOrder, ForceCompleteOrder, RejectOrderError, UnblockOrder

CampoTipoDescripción
OrderNumber (O)string[50]Número del pedido en el comerciante, tal como se transmitió en su creación

ParcelReturnRefundState solicitud

Cuerpo de SetParcelReturnRefundState

CampoTipoDescripción
OrderNumberstring[50]Número del pedido en el comerciante, si solo tiene una devolución
ParcelReturnIdint<nullable>Identificador FuturLog de la devolución (prioritario sobre las otras dos designaciones); se devuelve en el detalle del rechazo cuando el pedido tiene varias devoluciones
RefundState (O)intEstado de reembolso deseado: 0 vacío, 1 pendiente de reembolso, 2 cambio creado, 3 reembolsado (abono), 4 reembolsado (medio de pago)
TrackingNumberstring[50]Número de seguimiento de la devolución (prioritario sobre el número de pedido); varias devoluciones con el mismo seguimiento: la más reciente

ProductReference solicitud

Cuerpo de EnableProduct, RejectProductError, ResendProductToLogistics

CampoTipoDescripción
Code (O)string[100]Código del producto en el comerciante (SKU), tal como se transmitió en su creación

ReceiptReference solicitud

Cuerpo de CancelReceipt, SettleReceipt

CampoTipoDescripción
ReceiptNumber (O)string[12]Número de la recepción prevista en el comerciante, tal como se transmitió en su creación

ReceiptUpdate solicitud

Cuerpo de UpdateReceipt

CampoTipoDescripción
CarrierNamestring[100]Nombre del transportista; ausente: se conserva, vacío: se borra
DeliveryCommentsstring[500]Comentario de entrega; ausente: se conserva, vacío: se borra
NewReceiptNumberstring[12]Nuevo número de recepción prevista (alfanumérico, único para el comerciante); ausente: se conserva
ReceiptNumber (O)string[12]Número de la recepción prevista en el comerciante, tal como se transmitió en su creación
ScheduledDatedatetime<nullable>Fecha de recepción prevista; ausente: se conserva
SupplierNamestring[100]Nombre del proveedor; ausente: se conserva
TrackingNumberstring[50]Número de seguimiento; ausente: se conserva, vacío: se borra
ReceiptLineslist<ReceiptLine>Líneas previstas (referencia y cantidad anunciada); ausentes: se conservan, proporcionadas: se sustituyen en bloque
ReceiptLines[].ProductCode (O)string[30]Referencia de producto
ReceiptLines[].Quantity (O)intCantidad anunciada

StockCheckRequest solicitud

Cuerpo de CheckStocks

CampoTipoDescripción
BrandCodestring[3]Código de la marca. Opcional si el comerciante solo tiene una, obligatorio en caso contrario
Stocks (O)list<StockCheck>Líneas que se van a controlar: un código de producto y la cantidad solicitada
Stocks[].Codestring[30]Código de producto
Stocks[].QuantityintCantidad solicitada

StockRequest solicitud

Cuerpo de GetStocks

CampoTipoDescripción
BrandCodestring[3]Código de la marca. Opcional si el comerciante solo tiene una, obligatorio en caso contrario
ProductCodestring[30]Código del producto. Si no se informa, devuelve el estado del stock de todos los productos

Supplier solicitud

Cuerpo de CreateSupplier

CampoTipoDescripción
Addressstring[255]Dirección postal
Citystring[100]Ciudad
ContactNamestring[100]Nombre del contacto en el proveedor
CountryCodestring[2]Código ISO del país (2 letras). Ver el anexo Países.
Emailstring[150]Dirección de e-mail del proveedor
Name (O)string[100]Nombre del proveedor
Phonestring[30]Teléfono del proveedor
ZipCodestring[20]Código postal

SupplierReference solicitud

Cuerpo de ArchiveSupplier

CampoTipoDescripción
Id (O)intIdentificador del proveedor en FuturLog, devuelto por CreateSupplier

SupplierUpdate solicitud

Cuerpo de UpdateSupplier

CampoTipoDescripción
Addressstring[255]Dirección postal; ausente: se conserva, vacía: se borra
Citystring[100]Ciudad; ausente: se conserva, vacía: se borra
ContactNamestring[100]Nombre del contacto; ausente: se conserva, vacío: se borra
CountryCodestring[2]Código ISO del país (2 letras); ausente: se conserva, vacío: se borra. Ver el anexo Países.
Emailstring[150]Dirección de e-mail; ausente: se conserva, vacía: se borra
Id (O)intIdentificador del proveedor en FuturLog, devuelto por CreateSupplier
Namestring[100]Nuevo nombre del proveedor; ausente: se conserva
Phonestring[30]Teléfono; ausente: se conserva, vacío: se borra
ZipCodestring[20]Código postal; ausente: se conserva, vacío: se borra
ProductLinkslist<SupplierProductLink>Vínculos de productos del proveedor; ausentes: se conservan, proporcionados: se sustituyen en bloque
ProductLinks[].LeadTimeDaysint<nullable>Plazo de aprovisionamiento en días (0 por defecto)
ProductLinks[].ProductCode (O)string[100]Código del producto en el comerciante (SKU)
ProductLinks[].SupplierProductCodestring[100]Código del producto en el proveedor

SupportTicket solicitud

Cuerpo de CreateSupportRequest

CampoTipoDescripción
Message (O)string[10000]Mensaje inicial del ticket (texto)
Subject (O)string[200]Asunto del ticket
Attachmentslist<SupportTicketAttachment>Archivos adjuntos: como máximo 3 archivos de 5 MB cada uno, tipos png, jpg, pdf, csv, txt
Attachments[].ContentBase64 (O)stringContenido del archivo codificado en base64 (5 MB como máximo una vez decodificado)
Attachments[].FileName (O)string[255]Nombre del archivo con su extensión (png, jpg, pdf, csv, txt)
LinkedEntitieslist<SupportTicketLinkedEntity>Entidades de MyFuturLog que se vinculan al ticket, designadas por su referencia
LinkedEntities[].Reference (O)string[100]Referencia: número de pedido, código de producto, número de recepción prevista, identificador o número de seguimiento de la devolución, número de orden de fabricación
LinkedEntities[].Type (O)string[30]Tipo de entidad: order, tmpOrder, product, tmpProduct, receipt, parcelReturn o bundleManufacturing

SupportTicketReply solicitud

Cuerpo de ReplySupportRequest

CampoTipoDescripción
Message (O)string[10000]Mensaje de la respuesta (texto)
TicketId (O)longNúmero del ticket (devuelto por CreateSupportRequest)
Attachmentslist<SupportTicketAttachment>Archivos adjuntos: como máximo 3 archivos de 5 MB cada uno, tipos png, jpg, pdf, csv, txt
Attachments[].ContentBase64 (O)stringContenido del archivo codificado en base64 (5 MB como máximo una vez decodificado)
Attachments[].FileName (O)string[255]Nombre del archivo con su extensión (png, jpg, pdf, csv, txt)

ExpectedParcelReturn solicitud

Cuerpo de CreateNewExpectedReturn

CampoTipoDescripción
Brandstring[3]Código de la marca
CarrierCodestring[7]Código de servicio de transportista, conocido por FuturLog (ver « Obtener mi lista de transportistas »)
OrderNumber (O)string[50]Número del pedido en el comerciante, tal como se transmitió en su creación; el pedido debe haberse enviado
ReturnReasonTextstring[200]Motivo de la devolución
TrackingNumberstring[50]Número de seguimiento de la devolución; se rechaza si ya lo tiene una devolución del mismo pedido
Weightdecimal<nullable>Peso en kg; ausente: peso de los paquetes enviados, con un máximo de 30 kg
ReturnLines (O)list<ReturnLineReturn>Líneas de devolución: al menos una, productos del pedido, cantidad devuelta estrictamente positiva
ReturnLines[].DateUtcdatetime<nullable>Fecha de devolución al almacén
ReturnLines[].ProductBatchNumberstring[30]Lote del producto
ReturnLines[].ProductCode (O)string[30]Referencia de producto
ReturnLines[].QuantityReturned (O)intCantidad devuelta
ReturnLines[].QuantityReturnedDamagedintCantidad devuelta dañada
ReturnLines[].ReturnReasonCodeint<nullable>Código del motivo de devolución
ReturnLines[].ReturnReasonLabelstring[50]Etiqueta del motivo de devolución

CarrierReturn respuesta

Respuesta de GetCarriers

CampoTipoDescripción
Codestring[7]Código del transportista
Labelstring[50]Nombre del transportista

OrderErrorReturn respuesta

Respuesta de GetOrderErrors

CampoTipoDescripción
Brandstring[3]Código de la marca
ErrorCodestring[50]Código del error. Ver el anexo Códigos de error de los pedidos.
ErrorLabelstring[200]Etiqueta del error
OrderNumberstring[9]Número del pedido

OrderReturn respuesta

Respuesta de GetReturns

CampoTipoDescripción
Brandstring[3]Código de la marca
CreationDateUtcdatetimeFecha del anuncio de la devolución
CustomerNumberstring[50]Número de pedido del cliente (B2B)
DateUtcdatetime<nullable>Fecha de devolución al almacén
Languagestring[2]Idioma de la marca
MerchantCarrierCodestring[7]Código de servicio del transportista del comerciante
MerchantCarrierLabelstring[50]Nombre del transportista del comerciante
OrderNumberstring[9]Número del pedido
ShippingServiceCodestring[3]Código de servicio (A2P, CIT, BPR, CDI, ACP, DOM, RDV, MRL, DOS, CMT, BDP, ...).
Statestring[50]Estado del paquete. Ver el anexo Estados de las devoluciones.
StateCodeintCódigo de estado del paquete. Ver el anexo Estados de las devoluciones.
TrackingNumberstring[50]Número de seguimiento
TrackingUrlstring[200]URL de seguimiento
AddressAddressDirección
Address.Address1string[35]Dirección de entrega: dirección
Address.Address2string[35]Dirección de entrega: complemento de dirección
Address.Address3string[35]Dirección de entrega: continuación del complemento de dirección
Address.Citystring[50]Dirección de entrega: ciudad
Address.Commentsstring[500]Dirección de entrega: comentarios
Address.CorporateNamestring[100]Dirección de entrega: nombre de la empresa
Address.CountryCodestring[2]Dirección de entrega: código de país. Ver el anexo Países.
Address.Emailstring[100]Dirección de entrega: e-mail
Address.FirstNamestring[50]Dirección de entrega: nombre del cliente
Address.LastNamestring[50]Dirección de entrega: apellido del cliente
Address.MobilePhonestring[30]Dirección de entrega: número de móvil
Address.Phonestring[30]Dirección de entrega: número de teléfono
Address.PickupPointNumberstring[10]Dirección de entrega: código del punto de recogida
Address.ProvinceCodestring[2]Dirección de entrega: código de provincia (EE. UU. y Canadá). Ver el anexo Provincias.
Address.ZipCodestring[10]Dirección de entrega: código postal
BillingBillingDatos de facturación
Billing.Address1string[35]Dirección de facturación: dirección
Billing.Address2string[35]Dirección de facturación: complemento de dirección
Billing.Address3string[35]Dirección de facturación: continuación del complemento de dirección
Billing.BillNumberstring[50]Número de la factura
Billing.Citystring[50]Dirección de facturación: ciudad
Billing.CorporateNamestring[50]Dirección de facturación: nombre de la empresa
Billing.CountryCodestring[2]Dirección de facturación: código de país. Ver el anexo Países.
Billing.Discountdecimal<nullable>Importe del descuento (sin IVA o con IVA según sus parámetros FuturLog)
Billing.DiscountHTdecimal<nullable>Importe del descuento sin IVA
Billing.DiscountTTCdecimal<nullable>Importe del descuento con IVA
Billing.FirstNamestring[50]Dirección de facturación: nombre del cliente
Billing.LastNamestring[50]Dirección de facturación: apellido del cliente
Billing.ProvinceCodestring[2]Dirección de facturación: código de provincia (EE. UU. y Canadá). Ver el anexo Provincias.
Billing.ShipmentPricedecimal<nullable>Gastos de envío con IVA
Billing.ShipmentVATdecimal<nullable>Tipo de IVA de los gastos de envío
Billing.TotalAmountdecimal<nullable>Importe total del pedido con IVA
Billing.ZipCodestring[10]Dirección de facturación: código postal
GiftGiftDatos de regalo
Gift.MessagestringMensaje de la tarjeta regalo
Gift.PackageTypeint<nullable>Tipo de papel de regalo
OrderLineslist<OrderLineReturn>Líneas de pedido
OrderLines[].InitialQuantityintCantidad pedida inicial
OrderLines[].ProductCodestring[30]Referencia de producto
OrderLines[].ShippedBatchesReturnlist<ShippedBatchReturn>Lista de los lotes enviados
OrderLines[].ShippedBatchesReturn[].Numberstring[50]Número de lote
OrderLines[].ShippedBatchesReturn[].QuantityintCantidad enviada
ReturnLineslist<ReturnLineReturn>Líneas de devolución
ReturnLines[].DateUtcdatetime<nullable>Fecha de devolución al almacén
ReturnLines[].ProductBatchNumberstring[30]Lote del producto
ReturnLines[].ProductCodestring[30]Referencia de producto
ReturnLines[].QuantityReturnedintCantidad devuelta
ReturnLines[].QuantityReturnedDamagedintCantidad devuelta dañada
ReturnLines[].ReturnReasonCodeint<nullable>Código del motivo de devolución
ReturnLines[].ReturnReasonLabelstring[50]Etiqueta del motivo de devolución

ProductErrorReturn respuesta

Respuesta de GetProductErrors

CampoTipoDescripción
Codestring[30]Código de producto
ErrorCodestring[50]Código del error. Ver el anexo Códigos de error de los productos.
ErrorLabelstring[200]Etiqueta del error

ProductInfoReturn respuesta

Respuesta de GetProductInfo

CampoTipoDescripción
AlertThresholdint<nullable>Umbral de alerta de stock
BarCode2string[60]Código de barras alternativo 2
BarCode3string[60]Código de barras alternativo 3
BarCode4string[60]Código de barras alternativo 4
BarCode5string[60]Código de barras alternativo 5
BarCodeMerchantstring[60]Código de barras principal (EAN)
BillingPcbdecimal<nullable>PCB (unidades por caja): embalaje logístico
Codestring[30]Código de producto
Colorstring[50]Color
ExternalCodestring[60]Código de proveedor / código externo
Familystring[100]Familia / categoría de producto
Heightdecimal<nullable>Altura en cm (valor logístico si está informado, si no valor del comerciante)
HsCodestring[10]Nomenclatura aduanera (código SA)
IsActivebooltrue si el producto está activo (no eliminado)
IsFragilebooltrue si el producto está declarado frágil
IsLotManagedbooltrue si la gestión por lotes está activada
IsReplacedByCodestring[30]Código del producto de sustitución (null si no hay)
IsReturnablebooltrue si el producto se puede devolver
IsSaleDeadlineManagedbooltrue si la gestión por fecha límite de venta está activada
IsSerialNumberManagedbooltrue si la gestión por número de serie está activada
Labelstring[120]Descripción del producto
LastUnitPriceHTdecimal<nullable>Último precio unitario sin IVA conocido
Lengthdecimal<nullable>Longitud en cm (valor logístico si está informado, si no valor del comerciante)
Modelstring[10]Modelo
OriginCountryCodestring[2]Código del país de origen (ISO 3166-1 alfa-2). Ver el anexo Países.
PictureUrlstring[300]URL de la imagen del producto
QuantityAvailableintCantidad disponible (física menos reservada)
QuantityDamagedintCantidad dañada
QuantityInSupplyintCantidad en curso de recepción
QuantityOnHandintCantidad física en stock
SaleDeadlineFreshnessDelayint<nullable>Plazo de frescura garantizado en días naturales, utilizado por los almacenes Houtch. Vacío equivale a 30 días
Sizestring[100]Talla
Typestring[10]Tipo de producto (p = producto físico, v = pack virtual)
UnitPriceHTdecimal<nullable>Precio unitario sin IVA
WeePricedecimal<nullable>Ecoparticipación (RAEE)
Weightdecimal<nullable>Peso real en kg (valor logístico si está informado, si no valor del comerciante)
Widthdecimal<nullable>Anchura en cm (valor logístico si está informado, si no valor del comerciante)

ReceiptReturn respuesta

Respuesta de GetReceipts

CampoTipoDescripción
EntryDateUtcdatetimeFecha de registro
ReceiptDatedatetime<nullable>Fecha de recepción efectiva
ReceiptNumberstring[30]Número del pedido
Statestring[50]Estado de la recepción. Ver el anexo Estados de las recepciones.
StateCodeintCódigo de estado de la recepción. Ver el anexo Estados de las recepciones.
ReceiptLineslist<ReceiptLineReturn>Líneas de recepción
ReceiptLines[].ProductCodestring[30]Referencia de producto
ReceiptLines[].QuantityintCantidad anunciada
ReceiptLines[].ReceivedQuantityint<nullable>Cantidad recibida
ReceiptLines[].ReceivedQuantityDamagedint<nullable>Cantidad recibida dañada
ReceiptLines[].ReceiptLinePartialReceptionslist<ReceiptLinePartialReceptionReturn>Líneas de recepción parciales
ReceiptLines[].ReceiptLinePartialReceptions[].DatedatetimeFecha
ReceiptLines[].ReceiptLinePartialReceptions[].ProductBatchNumberstring[50]Número de lote
ReceiptLines[].ReceiptLinePartialReceptions[].ReceivedQuantityint<nullable>Cantidad recibida
ReceiptLines[].ReceiptLinePartialReceptions[].ReceivedQuantityDamagedint<nullable>Cantidad recibida dañada

ShipmentReturn respuesta

Respuesta de GetShipments

CampoTipoDescripción
BrandCodestring[3]Código de la marca
CustomerNumberstring[50]Número de pedido del cliente (B2B)
EshopIdstring[100]Id interno del e-shop
OrderNumberstring[30]Número del pedido
Statestring[50]Estado del pedido. Ver el anexo Estados de los pedidos.
StateCodeintCódigo de estado del pedido. Ver el anexo Estados de los pedidos.
OrderLineslist<OrderLineReturn>Lista de las líneas de pedido
OrderLines[].InitialQuantityintCantidad pedida inicial
OrderLines[].ProductCodestring[30]Referencia de producto
OrderLines[].ShippedBatchesReturnlist<ShippedBatchReturn>Lista de los lotes enviados
OrderLines[].ShippedBatchesReturn[].Numberstring[50]Número de lote
OrderLines[].ShippedBatchesReturn[].QuantityintCantidad enviada
Parcelslist<ParcelReturn>Lista de los paquetes
Parcels[].CarrierCodestring[7]Código del transportista
Parcels[].DepthdecimalProfundidad
Parcels[].HeightdecimalAltura
Parcels[].PackCodestring[50]Código de caja del proveedor logístico
Parcels[].PackNumberstring[50]Número de paquete interno
Parcels[].PackTypestring[1]C = Paquete P = Palé
Parcels[].ShippingDatedatetime<nullable>Fecha de envío
Parcels[].Statestring[50]Estado del paquete. Ver el anexo Estados de los pedidos.
Parcels[].StateCodeintCódigo de estado del paquete. Ver el anexo Estados de los pedidos.
Parcels[].TrackingNumberstring[50]Número de seguimiento
Parcels[].TrackingUrlstring[200]URL de seguimiento
Parcels[].VolumedecimalVolumen
Parcels[].WeightdecimalPeso físico del paquete en kg: peso comunicado por el almacén, si no peso teórico
Parcels[].WidthdecimalAnchura
Parcels[].ParcelLineslist<ParcelLineReturn>Lista de los productos del paquete
Parcels[].ParcelLines[].InternalProductCodestring[10]Código de producto interno FL
Parcels[].ParcelLines[].ProductBatchNumberstring[30]Número de lote del producto
Parcels[].ParcelLines[].ProductCodestring[30]Código de producto
Parcels[].ParcelLines[].QuantityintCantidad de producto
Parcels[].ParcelLines[].ShippedSerialNumbersReturnlist<ShippedSerialNumberReturn>Lista de los números de serie enviados
Parcels[].ParcelLines[].ShippedSerialNumbersReturn[].Numberstring[50]Número de serie
ReturnTrackingslist<ReturnTrackingReturn>Lista de los seguimientos de devolución
ReturnTrackings[].CarrierCodestring[7]Código del transportista
ReturnTrackings[].TrackingNumberstring[50]Número de seguimiento
ReturnTrackings[].TrackingUrlstring[200]URL de seguimiento

StateReturn respuesta

Respuesta de GetStates

CampoTipoDescripción
CodeintCódigo de estado del pedido
Labelstring[50]Estado del pedido
SortOrderint<nullable>Orden teórico de aparición del estado

StockCheckReturn respuesta

Respuesta de CheckStocks

CampoTipoDescripción
IsAvailableboolVerdadero si todas las cantidades solicitadas están disponibles
MissingLineslist<StockCheckLineReturn>Líneas cuya cantidad solicitada supera el stock disponible. Vacío si todo está disponible
MissingLines[].AvailableQuantityintCantidad disponible
MissingLines[].Codestring[30]Código de producto
MissingLines[].MissingQuantityintCantidad que falta
MissingLines[].RequestedQuantityintCantidad solicitada

StockReturn respuesta

Respuesta de GetStocks

CampoTipoDescripción
AvailableQuantityintCantidad disponible
BarCodestring[60]Código de barras del comerciante
Codestring[30]Código de producto
EshopCustom1stringInformación diversa del e-shop
EshopIdstringId interno del e-shop
ReservedQuantityintCantidad reservada
BatchesStocklist<BatchStockReturn>Stock de los lotes
BatchesStock[].Numberstring[50]Número de lote
BatchesStock[].OnHandQuantityintCantidad disponible
El objeto Error devuelto en caso de fallo se describe en la sección Sobre de respuesta.

Códigos de error

Devueltos en el objeto Error.Code. Principales códigos por dominio:

DominioCódigos
AutenticaciónE_UNKNOWN_USER_OR_KEY · E_UNKNOWN_MERCHANT
Acciones y permisosE_METHOD_NOT_ALLOWED · E_ACTION_NOT_ALLOWED_IN_CURRENT_STATE · E_ACTION_RESERVED_TO_INTERNAL_ROLE · E_ACTION_NOT_SUPPORTED_BY_WAREHOUSE · E_NOTHING_TO_UPDATE
PedidoE_NO_ORDER · E_NO_ORDER_LINE · E_NO_ORDER_NUMBER · E_ORDER_NUMBER_TOO_LONG_50 · E_ALREADY_EXISTING_ORDER · E_PRODUCT_CONTAINERS_PER_UNIT_REQUIRED · E_UNKNOWN_BRAND · E_AMBIGUOUS_ORDER · E_UNABLE_TO_CANCEL_ORDER · E_UNABLE_TO_UNBLOCK_ORDER · E_UNABLE_TO_COMPLETE_ORDER · E_ORDER_NUMBER_TOO_LONG · E_ORDER_NUMBER_PROHIBITED_CHARACTERS · E_NO_COUNTRY_CODE · E_UNKNOWN_COUNTRY_CODE · E_INCOHERENT_CARRIER · E_UNKNOWN_CARRIER · E_BRAND_MISSING · E_NO_PICKUP_POINT_NUMBER · E_UNKNOWN_BILLING_COUNTRY_CODE · E_UNKNOWN_PRODUCT_CODE · E_NO_HS_CODE_OR_ORIGIN_COUNTRY · E_INVALID_VAT · E_NO_LASTNAME_OR_COMPANY · E_NO_ADDRESS · E_NO_ZIPCODE · E_UNKNOWN_ZIPCODE · E_NO_CITY · E_NO_PHONE · E_NO_EMAIL · E_INVALID_EMAIL · E_INVALID_DISCOUNT · E_INVALID_SHIPMENT_PRICE · E_INVALID_SHIPMENT_VAT · E_INVALID_TOTAL_AMOUNT · E_ONLY_VIRTUAL_PRODUCTS · E_ADDRESS1_TOO_LONG · E_ADDRESS2_TOO_LONG · E_ADDRESS3_TOO_LONG · E_BILLING_ADDRESS1_TOO_LONG · E_BILLING_ADDRESS2_TOO_LONG · E_BILLING_ADDRESS3_TOO_LONG · E_BILLING_CITY_TOO_LONG_DPH · E_BILLING_COMPANY_TOO_LONG_DPH · E_BILLING_FIRSTNAME_TOO_LONG_DPH · E_BILLING_LASTNAME_TOO_LONG_DPH · E_CARRIER_COMMENTS_TOO_LONG · E_CITY_PROHIBITED_CHARACTERS · E_CITY_TOO_LONG_DPH · E_COMPANY_TOO_LONG_DPH · E_EORIORVATNUMBER_MISSING · E_FIRSTNAME_PROHIBITED_CHARACTERS · E_FIRSTNAME_TOO_LONG_DPH · E_INCOMPATIBLE_INCOTERM · E_INCORRECT_ADDRESS · E_INCORRECT_MOBILEPHONE · E_INCORRECT_PHONE · E_INVALID_ORDERLINE_AMOUNT · E_INVOICEINFORMATION_ERROR · E_LASTNAME_PROHIBITED_CHARACTERS · E_LASTNAME_TOO_LONG_DPH · E_NO_PALLET_CARRIER · E_NO_PROVINCE_CODE · E_NO_UNITPRICE · E_PICKER_COMMENTS_TOO_LONG · E_PICKUP_POINT_INCOHERENCE · E_PICKUP_POINT_INEXISTANT · E_PICKUP_POINT_UNAVAILABLE · E_SPECIFICATION_CARRIER_ERROR · E_UNKNOWN_PROVINCE_CODE · E_UNKNOWN_SPECIFICATION_CODE · E_ORDER_QUANTITY_NOT_DIVISIBLE
DevoluciónE_NO_ORDER · E_UNKNOWN_CARRIER · E_ALREADY_EXISTING_PARCEL_RETURN · E_UNKNOWN_PRODUCT_CODE · E_NO_RETURN_LINE_QUANTITY · E_UNKNOWN_BRAND · E_UNKNOWN_PARCEL_RETURN · E_AMBIGUOUS_PARCEL_RETURN · E_INVALID_REFUND_STATE
ProductoE_NO_PRODUCT_CODE · E_UNKNOWN_PRODUCT_TYPE_CODE · E_UNKNOWN_ALCOHOL_TYPE_CODE · E_UNKNOWN_CONTAINER_TYPE_CODE · E_UNKNOWN_PRODUCT_CODE · E_ALREADY_EXISTING_BAR_CODE · E_UNKNOWN_TMPPRODUCT · E_BRAND_MISSING · E_UNKNOWN_BRAND · E_STOCKS_TRANSMISSION_DISABLED · E_PRODUCT_CONTAINERS_PER_UNIT_REQUIRED · E_ORDER_QUANTITY_NOT_DIVISIBLE · E_PRODUCT_CODE_TOO_LONG · E_UNKNOWN_HS_CODE · E_UNKNOWN_COUNTRY_CODE · E_ALREADY_EXISTING_BAR_CODE_2 · E_ALREADY_EXISTING_BAR_CODE_3 · E_ALREADY_EXISTING_BAR_CODE_4 · E_ALREADY_EXISTING_BAR_CODE_5 · E_NO_PRODUCT_LABEL · E_CIRCULAR_SUBSTITUTION · E_INCORRECT_BUNDLE_QUANTITY · E_NO_PRODUCT · E_ALCOHOL_NOT_ALLOWED_FOR_MERCHANT · E_PRODUCT_ALCOHOL_FIELDS_REQUIRED · E_ALCOHOL_CONTAINERS_PER_UNIT_OUT_OF_BOUNDS · E_PRODUCT_CODE_PROHIBITED_CHARACTERS_DPH · E_PRODUCT_CODE_TOO_LONG_DPH · E_PRODUCT_CODE_TOO_LONG_FUTURSHIP · E_PRODUCT_CODE_TOO_LONG_GV1_GTM · E_PRODUCT_CONTAINERS_PER_UNIT_OUT_OF_BOUNDS · E_PRODUCT_DANGEROUS_FIELDS_REQUIRED · E_PRODUCT_OVERPACKING_REQUIRED · E_PRODUCT_REPLACEMENT_DELETED · E_UNABLE_TO_MANAGE_BY_BATCH · E_UNABLE_TO_SAVE_PICTURE · E_UNABLE_TO_UNMANAGE_BY_BATCH
RecepciónE_NO_RECEIPT · E_ALREADY_EXISTING_RECEIPT · E_NO_RECEIPT_LINE · E_NO_SCHEDULED_DATE · E_UNKNOWN_PRODUCT_CODE · E_NO_RECEIPT_LINE_QUANTITY · E_NO_SUPPLIER_NAME · E_INVALID_RECEIPTNUMBER · E_RECEIPT_CODE_TOO_LONG · E_UNKNOWN_SUPPLIER
ProveedorE_NO_SUPPLIER_NAME · E_INVALID_EMAIL · E_UNKNOWN_COUNTRY_CODE · E_UNKNOWN_SUPPLIER · E_UNKNOWN_PRODUCT_CODE
Fabricación de kitsE_STARTING_TOO_LOW · E_NO_BUNDLE_MANUFACTURING · E_NO_BUNDLE_MANUFACTURING_NUMBER · E_BUNDLE_MANUFACTURING_CODE_TOO_LONG · E_ALREADY_EXISTING_BUNDLE_MANUFACTURING · E_NO_BUNDLE_MANUFACTURING_LINE · E_NO_BUNDLE_MANUFACTURING_LINE_QUANTITY · E_NO_PRODUCT_CODE · E_UNKNOWN_PRODUCT_CODE · E_PRODUCT_IS_NOT_BUNDLE · E_CANNOT_DELETE_BUNDLE_MANUFACTURING
Atención al clienteE_SUPPORT_NOT_ACTIVATED · E_INVALID_SUPPORT_REQUEST · E_NO_ORDER · E_UNKNOWN_PRODUCT_CODE · E_UNKNOWN_TMPPRODUCT · E_NO_RECEIPT · E_UNKNOWN_PARCEL_RETURN · E_NO_BUNDLE_MANUFACTURING · E_SUPPORT_UNAVAILABLE · E_UNKNOWN_SUPPORT_REQUEST
GeneralE_UNKNOWN_ERROR
¿Necesita ayuda con la integración? Hable con un experto Futurlog o consulte la vista general de los web services.