Manual de Servicios de Integración - BRIDGE v4.2



Manual
de USUARIO
Bridge - Servicios de integración

Revisión 7.7


REVISIONES

Fecha

Versión

Descripción

21/04/2016

1.0

Creación del documento

23/05/2016

1.1

Se agrega eliminar cliente

10/06/2016

1.2

Se actualiza servicios de clientes y se agrega lista de precios.

10/06/2016

1.3

Se actualiza con servicio de StockItem y Brand

21/06/2016

1.4

  • Se actualiza con los servicios linkedItem, serviceItem, stock, storeTaxCategory.
  • Se ajustan campos de Customer
  • Se ajustan campos en Brand (campo disabled) y linkedItem (unitPrice por memberItemPrice)

03/06/2016

1.5

Se actualiza servicio Customer:

  • Pasa a opcional: accounts, certificates y en identification (campos issueDate y expirationDate)
  • Se agrega campo itemSellingPriceNumber como opcional en Customer.
  • Se elimina campo sequenceNumber en PartyRole. Campo Description en Customer. Campo statusCode de Role del participante.
  • Se ajustan los campos saleAllowed y distributionCenter de depósitos eliminando flag del nombre.
  • Se agrega ejemplos de request para consumidor final, responsable inscripto y exento.
  • Se agregan aclaraciones sobre los datos a enviar en customer.

29/07/2016

1.6

Se actualiza el servicio de cliente:

  • Se cambia partyType por typeCode
  • Se cambia accounts por

    customerAccounts
  • Se cambia partyData por party
  • Se cambia storeCode por store
  • Se cambia idPartyRole por partyRole id
  • Se cambia email por name
  • Se cambia number por telephoneNumber
  • En <address>, se agrega un tag code dentro de city, country y state.
  • En Identification, se agrega un tag partyIdentification
  • Cambia el tag identifier por identifierValue
  • Cambia typeId por identificationType id
  • Se modifica el tag taxRegistrations
  • Se elimina categoryCode de TaxTypes
  • Se agrega detalle del monitor de erroes

03/08/2016

1.7

Se actualiza el servicio de cliente:

  • Se elimina categoryCode de TaxTypes
  • Se inserta xml de ejemplo de cliente consumidor final


    Se agrega detalle del monitor de errores

04/08/2016

1.8

  • Se actualiza el servicio de ítem, con el agregado de los impuestos internos (opcional) y se actualiza el ejemplo de request con los campos agregados

  • Se ajusta el servicio lista de precios y su ejemplo de request

05/09/2016

1.9

  • Se actualizan los ejemplos de request de clientes (person y organization) y se eliminan requerimientos ejemplos previos.

07/09/2016

2.0

  • Se actualiza el ejemplo de user
  • Se agregan campos a ítem (sellerRequired: flag y importDocReq: flag )

08/09/2016

2.1

  • Se ajusta el ejemplo de request de lista de precios

21/09/2016

2.2

  • Se ajusta el servicio de usuarios y ejemplos.

07/03/2017

2.3

  • Se ajustan campos puntuales de servicios de lista de precios.

12/04/2017

2.4

  • Se agregan servicios de v4.1: prefijos de tarjetas fidelidad y cupones.

11/05/2017

2.5

  • Se ajusta formato del doc y cambio de URL

2/08/2017

2.6

  • Se actualiza el servicio para usuarios con los campos agregados en v4.1 para las mejoras de seguridad.

8/08/2017

2.7

  • Se actualiza el doc eliminando mención a REST

16/11/2017

2.8

  • Se actualiza el doc con servicio de view template, se agregan campos en item (admite lista de imágenes) y se elimina el campo imageCode. Para customer se agrega el email para generar el usuario web. Disponible a partir de v4.2 de Bridge

28/11/2017

2.9

  • Se agregan los servicios de salida

29/11/2017

3.0

  • Se crean los siguientes servicios:
  • Impuestos internos de los artículos
  • Relación de artículos con impuestos internos
  • Relación de artículos con proveedores
  • Artículos de tipo Kits
  • Parámetros tienda de medios de pago
  • Parámetros terminal de medios de pago
  • Se modifican los siguientes servicios:
  • proveedores
  • articulos
  • articulos de tipo stock

04/01/2018

3.1

  • Se actualiza el nombre de servicio de uom por unitOfMeasure para maestro de Unidades de medida
  • Se actualiza el nombre de servicio vat por vatType y los campos vats y vat a vatTypes y vatType respectivamente para Impuesto IVA de los artículos.

05/01/2018

3.2

  • Se actualiza el nombre del campo disabled del servicio
  • Se actualiza el nombre del campo tenderCode del servicio tender
  • Se agrega el servicio de portavalores

26/01/2018

3.3

  • Se actualiza con el encabezado y datos requeridos del request

2/03/2018

3.4

  • Se agrega el tag nacionalidad en Customer (birthCountryCode)
  • Se agrega request de customer (Persona)

20/02/18

3.5

  • Servicio ítem: se crea una nueva property para identificar si los impuestos internos serán informados dentro del servicio

    Se agrega el campo requiere monto
    Se agrega el campo payment condition
  • Servicio relación de artículos con impuestos internos: se agrega el tag disabled
  • Modificaciones sobre la entidad itemSupplierItem
  • Se cambia el nombre externalIntegration por asn en la entidad supplier
  • Se realizan modificaciones sobre la entidad stockItem
  • Se crea el servicio de relación entre artículos
  • Se crean los servicios de actualización de maestros de impuestos
  • Se realizan modificaciones sobre el servicio de relaciones impositivas anidadas dentro de los servicios de actualización de clientes

11/04/18

3.6

  • Se eliminan los campos itemStore y associatedStores del servicio de articulos
  • Se elimina el campo typeCode y se modifica el campo store como no requerido en el servicio de cliente
  • Se agrega xml de ejemplo del servicio impuestos internos de los artículos
  • Se agregan los campos automaticSafeOutflow y conciliationByQuantity al servicio de medios de pago por terminal
  • Se agrega el campo frecuencia al servicio de proveedores
  • Se modifica el nombre del campo de umbral de reposición de la stockItem
  • Se modifican los servicios de reglas de impuestos
  • Se agrega xml de ejemplo de reglas de impuestos y jurisdicciones

20/04/18

3.7

  • Se agregan nuevos parámetros en el servicio de exportación

07/05/18

3.8

  • Se elimina el campo Requiere monto del servicio de items
  • Se cambia el campo paymentCondition del servicio de items a no requerido

19/05/18

3.9

  • Se agregan servicios del modelo de producto y atributos
    • Product, productAttributeCategory, SpecificationAttributeCategory, ProductAttribute, SpecificationAttribute, MerchandiseHierarchy
  • Ajustes en ítem, niveles de jerarquía de los artículos y stockItems

22/05/18

4.0

  • Se actualiza el servicio de portavalores y se agrega ejemplo
  • Se actualiza el tipo de dato del campo externalDepository del servicio medios de pago por terminal
  • Se elimina el campo grupoMedioDePago del servicio medios de pago

07/06/18

4.1

  • Se revisan los campos requeridos de los servicios de medios de

    Pago y se actualizan los ejemplos
    Se agregan los servicios del módulo de abastecimiento (documentos fiscales)

12/06/2018

4.2

  • Se ajustan campos de StoreCode en alias, location, itemSellingPrices y stock

18/07/2018

4.3

  • Se crea el servicio de centros emisores
  • Se ajusta el servicio de artculos relacionados
  • Se agrega el tipo de tarjeta de afinidad en la entidad de medios de pago

13/08/2018

4.4

  • Se ajusta el servicio de depósitos y su request (de InventoryLocation a location)

14/08/2018

4.5

  • Se agrega el servicio para actualizar el stock derivado de movimientos de abastecimiento externos

03/09/2018

4.6

  • Se agrega en el request el parámetro store (opcional)

18/09/2018

4.7

  • Se actualiza servicio ítem (campo unidad de medida) y request ejemplo.
  • Servicio de centro emisores (request broadcast)
  • Se ajusta formato del doc a Napse

20/09/2018

4.8

  • Se actualiza servicio paymentPlan y paymentPlanInstallment

26/09/2018

4.9

  • Se actualiza el servicio stock (con revenueCenter)

1/10/2018

5.0

  • Se actualiza el servicio ítem (cambia campo stockReservationRequired en lugar del reservationAllowedFlag para flag requiere reserva de stock)

17/10/2018

5.1

  • Se actualizan los flags genéricos del servicio items
  • Se actualiza el servicio stockItem (campo shrinkFlag)

18/10/2018

5.2

  • Se actualiza el nombre del servicio taxGroupRule por taxRateGroup
  • Se elimina el campo paymentCondition del servicio item

23/10/2018

5.3

  • Se actualiza el servicio stockInventory

24/10/2018

5.4

  • Se actualiza agregando la tabla de tipo de documento en la especificación del servicio stockInventory y se agrega comentario en categoría de producto

28/102018

5.5

  • Se agregan descripciones faltantes a la tabla Product y comentarios a la misma.

08/11/2018

5.6

  • Se aclara que los medios de pago de tipo efectivo sólo admiten un medio de pago local
  • Se modifica el ejemplo de Documentos fiscales

13/11/2018

5.7

  • Se ajusta el servicio customer
  • Se agrega el servicio couponPrefix y se elimina el coupon
  • Se eliminan campos del ejemplo request de ítem no vigentes

15/11/2018

5.8

  • Se ajusta request de stockInventory, formato fecha del campo manufacturingDate
  • Se agrega campo opcional a user (código alternativo de usuario)

20/11/2018

5.9

  • Se ajustan campos y su longitud en entidades ítem, sellingItemPrices, linkItem, stockInventory, customer, storeTender, terminalTender, itemSupplieritem, serviceItem)

23/11/2018

6.0

  • Se elimina campo en customerAccount y se detalle que el servicio no se encuentra implementado

23/11/2018

6.1

  • Se agrega la operación update al servicio customer

28/11/2018

6.2

  • Se modifica el servicio del módulo de abastecimiento

5/12/2018

6.3

  • Se ajusta campo "disabled" en atributo de especificación y atributo de producto
  • Cambia en ítem, el nombre de campo saleUnitSpecialPrice por specialPrice
  • Se agrega nota de validación de email para el proveedor

23/02/2019

6.4

  • Se ajusta el código del ítem por defecto en producto

28/02/2019

6.5

  • Se agrega un nuevo tag al servicio taxJurisdiction

07/03/2019

6.6

  • Se modifica el servicio taxJurisdiction

13/03/2019

6.7

  • Se corrige ejemplo de request de niveles departamentales

14/03/2019

6.8

  • Se corrige el campo description del tipo de iva por name

14/03/2019

6.9

  • Se corrige el campo rateClass del servicio de reglas impositivas (se elimina el apartado de clase de impuestos ya que queda en desuso)

20/03/2019

7.0

  • Se corrige el campo storeCode de stock.
  • Se ajusta descripción del campo OriginalTenderChange de tenderConfig
  • Se agrega nota a servicios de itemInventory y SellingItemPrices por código de tienda a enviar

26/03/2019

7.1

  • Se ajusta el request de item con el agregado de campos generic
  • Se agrega comentarios en el servicio ítem para los campos en los cuales se importan los genericField.

16/04/2019

7.3

  • Se actualiza el servicio de exportación
  • Se actualizan los tipos dentro del servicio items

18/04/2019

7.4

  • Se actualiza el ejemplo del servicio supplier

25/04/2019

7.5

  • Se actualiza el servicio Customer, agregando el campo name del PartyRole.

20/05/2019

7.6

  • Se ajusta el servicio stockInventory (doc AJUE por AJUS y campo substractFlag)
  • Se agrega nota sobre campos montos

31/05/2019

7.7

  • Se agrega el campo "disabled" en user

CONTENIDO


  1. 1 Revisiones
  2. 2 Índice
  3. 3 Acerca del manual

3.1 Propósito y alcance

  1. 4 Bridge Core Server SOAP

4.1 Invocar un Servicio
4.1.1 Ejemplo de invocaciones a servicio:
4.1.2 Request de referencia
4.2 Manejo de errores

  1. 5 Servicio de actualización

5.1 Servicios de actualización de maestros de artículos
5.1.1 Proveedores
5.1.2 Marca del artículo
5.1.3 Niveles de Jerarquía de los artículos
5.1.4 Unidades de medida
5.1.5 Impuesto IVA de los artículos
5.1.6 Impuestos internos de los artículos
5.1.7 Depósitos
5.1.8 Maestro de artículos
5.1.9 Relación de artículos con impuestos internos
5.1.10 Códigos de barras – alias
5.1.11 Artículos de tipo Stock
5.1.12 Relación de artículos con proveedores
5.1.13 Lista de precios de artículos
5.1.14 Articulos de tipo Kits
5.1.15 Artículos enlazados o linkeados
5.1.16 Relación entre artículos
5.1.17 Artículos del tipo servicio
5.1.18 Stock por depósito
5.1.19 Items del depósito
5.2 Actualización de stock por movimientos de abastecimiento externos a Bridge
5.2.1 Actualización de stock por abastecimiento
5.3 Servicios de actualización maestros de producto y atributos
5.3.1 Producto
5.3.2 Múltiples categorías por producto
5.3.3 Atributos en las categorías
5.3.1 Atributos de especificación en las categorías
5.3.2 Atributos de producto
5.3.3 Atributos de especificación
5.4 Servicios de actualización maestros de medios de pagos
5.4.1 Medios de Pago
5.4.2 Parámetros de tienda
5.4.3 Parámetros de terminal
5.4.4 Configuración de planes para medios de pago a nivel terminal
5.4.1 Configuración de planes de cuotas para medios de pago
5.4.2 Configuración de Formato de Franqueo
5.4.3 Configuración de Prefijos de tarjetas
5.4.4 Configuración de prefijos de cupones/vales (como medio de pago)
5.4.5 Configuración de cupones (para PROMO)
5.5 Servicios de actualización maestros de Impuestos
5.5.1 Categorías impositivas del artículo
5.5.2 Categorías impositivas del cliente
5.5.3 Jurisdicciones impositivas
5.5.4 Regiones impositivas para tiendas
5.5.5 Reglas de impuestos
5.5.6 Relaciones impositivas anidadas
5.5.7 Parámetros de reglas de impuestos
5.6 Servicios de actualización de Usuarios y Vendedores.
5.6.1 Actualizacion de Usuarios
5.6.2 Grupos de permisos
5.6.3 Portavalores
5.7 Servicios de actualización de Clientes
5.7.1 Cliente
5.7.2 Participantes
5.7.3 Rol del participante
5.7.4 Metodos de contacto del cliente
5.7.5 Domicilio
5.7.6 Ciudad
5.7.7 País
5.7.8 Estado
5.7.9 Correo electrónico
5.7.10 Telefono
5.7.11 Identificaciones
5.7.12 Impuestos
5.7.13 Tipos de impuestos
5.7.14 Certificados
5.7.15 Clase de impuesto
5.7.16 Relaciones impositivas anidadas
5.7.17 Cuenta del cliente (no implementado el servicio)
5.7.18 Tarjetas asociadas a la cuenta (no implementado el servicio)
5.8 Servicios de actualización de Negocio
5.8.1 Centros emisores
5.9 Servicios de módulo de abastecimiento

  1. 6 Errores

6.1 Monitoreo de los registros recibidos a través de servicios

  1. 7 Servicios de exportación

7.1 Exportación de PosLog
7.1.1 Introducción
7.1.2 Definición general
7.1.3 Modelo de datos
7.1.4 Configuración

  1. 8 Apéndice

8.1 Servicio de Usuarios
8.1.1 Actualizacion de usuario
8.2 Servicios de actualización de maestros de artículos
8.2.1 Marca del Artículo
8.2.2 Proveedores
8.2.3 Niveles de jerarquía de los Artículos
8.2.4 Unidades de Medida
8.2.5 Impuesto IVA de los artículos
8.2.6 Impuestos internos de los artículos
8.2.7 Depósitos
8.2.8 Maestro de Artículos
8.2.9 Códigos de Barras - Alias
8.2.10 Artículos de Tipo Stock
8.2.11 Relación artículos con proveedores
8.2.12 Lista de precios de artículos
8.2.13 Artículos enlazados
8.2.14 Articulos de Tipo Kits
8.2.15 Artículos del tipo servicio
8.2.16 Stock por depósito e items del depósito
8.2.17 Actualización de stock por abastecimiento
8.3 Servicios de actualización de producto y atributos
8.3.1 Producto
8.3.2 Atributos en la categoría departamental: productAttributeCategory
8.3.3 Especificaciones de atributos en las categorías departamentales: specificationAttributeCategory
8.3.4 Atributos de producto: productAttribute
8.3.5 Atributos de especificación: specificationAttributes
8.4 Servicios de actualización de medios de pago
8.4.1 Medios de Pago
8.4.2 Parámetros de tienda
8.4.3 Parámetros de terminal
8.4.4 Configuración de planes para medios de pago a nivel terminal
8.4.5 Configuración de planes de cuotas para medios de pago
8.4.6 Configuración de Formato de Franqueo
8.4.7 Prefijos de tarjetas
8.4.8 Configuración de prefijos de cupones/vales (como medio de pago)
8.4.9 Configuración de cupones (para PROMO)
8.5 Servicios de actualización maestros de Impuestos
8.5.1 Categorías de Items para los Impuestos
8.5.2 Categorías de Regiones impositivas para las tiendas
8.5.3 Jurisdicciones impositivas
8.5.4 Reglas de impuestos
8.6 Servicios de actualización de Usuarios
8.6.1 Actualización de Usuarios
8.6.2 Actualización de portavalores
8.7 Servicios de actualización de Clientes
8.7.1 Creacion o actualización de clientes
8.7.2 Actualización de datos impositivos de cliente organización
8.1 Servicios del módulo de maestros de negocio
8.1.1 Centros emisores
8.2 Servicios del módulo de abastecimiento
8.2.1 Documentos fiscales



 

Acerca del manual

Propósito y alcance

El presente manual de usuario tiene como finalidad la capacitación al usuario que desee utilizar los servicios provistos por Bridge para la integración con otros sistemas que provean de la información requerida de maestros y configuraciones generales para el funcionamiento de Bridge en su operatoria de tiendas con sus puntos de venta.
Se detallan los campos requeridos por cada entidad, los errores posibles y se proveen algunos escenarios de aplicación del servicio para las diferentes entidades.
En el presente documento se detallan las entidades de los maestros de Bridge que se podrán actualizar.



Bridge Core Server SOAP

Invocar un Servicio

Los servicios de BCore son expuestos via SOAP definiendo métodos genéricos que reciben el nombre de la interfaz que agrupa servicios relacionados, y un xml como parámetro, el cual tiene nombre de la operación y parámetros de la misma. Dicho servicio retorna un xml como respuesta. Este xml se recibe como un simple string.
Por ejemplo, para ejecutar los servicios de proveedor de item, se deberá invocar el método SOAP
String execute(String service, String request, String store)

  • String store: este parámetro opcional (el cual permite definir que el envío se realiza a una tienda específica, de no definirse o encontrarse con el valor 0 será para todas las tiendas)

a la siguiente url:
~ /bridge/services/bridgeCoreSOAP?wsdl
Por ejemplo:
http://localhost:8180/bridge/services/bridgeCoreSOAP?wsdl
El parámetro service, es el nombre del servicio y el parámetro request será un xml con el nombre de la operación a ejecutar y sus parámetros. Dicho xml tiene la siguiente estructura básica:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
  <params>
    …
  </params>
</bridgeCoreRequest>

  • operation: Nombre de la operación
  • params: Parámetros de la operación.


Ejemplo de invocaciones a servicio:


El primer ejemplo muestra como invocar un servicio para crear o modificar uno o más proveedores:
service: supplier
request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
  <params>
    <suppliers type="list">
     <supplier type="bean">
    <code>PR1</code>
     <name>Proveedor1</name>
     <fantasyName>Proveedor1 Fantastico</fantasyName>
<address>Avda. Santa Fe 1234</address>
<phone>011-155669800</phone>
<fiscalId>3-55555555-66</fiscalId>
    <activeFlag>true</activeFlag>
     </supplier>
<supplier type="bean">
    <code>PR2</code>
     <name>Proveedor2</name>
     <fantasyName>Proveedor2 Fantastico</fantasyName>
<address>Avda. Garibaldi 9874</address>
<phone>011-1541878591</phone>
<fiscalId>3-44444444-66</fiscalId>
    <activeFlag>true</activeFlag>
     </supplier>
    </suppliers>
  </params>
</bridgeCoreRequest>
Donde operation es el nombre del método especifico a ejecutar para proveedores y params son los parámetros pasados a dicho método.
Cómo se puede ver en este ejemplo, se está pasando un listado de proveedores (suppliers). Dentro de este tag, hay un tag por cada proveedor (supplier) y dentro de este, los atributos propios del proveedor.
<supplier type="bean">
    <code>PR2</code>
     <name>Proveedor2</name>
     <fantasyName>Proveedor2 Fantastico</fantasyName>
<address>Avda. Garibaldi 9874</address>
<phone>011-1541878591</phone>
<fiscalId>3-44444444-66</fiscalId>
    <activeFlag>true</activeFlag>
     </supplier>
Este método devolverá un xml como el siguiente:
<?xml version="1.0" encoding="UTF-8" ?>
<bridgeCoreResponse>
  <ack>0</ack>
  <message></message>
</bridgeCoreResponse>
Donde ack es el código de error y message es el mensaje de dicho error. En el caso de ack sea 0, significa que el servicio se ejecutó sin errores.
En el siguiente ejemplo, para modificar un:
service: brand
request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
  <params>
<brands type="list">
<brand type="bean">
    <name>Marca Nueva</name>
    <activeFlag>true</activeFlag>
    <code>MNU</code>
</brand>
<brands>
  </params>
</bridgeCoreRequest>
Y la response en caso de éxito:
<?xml version="1.0" encoding="UTF-8" ?>
<bridgeCoreResponse>
  <ack>0</ack>
  <message></message>
</bridgeCoreResponse>

Request de referencia

Los mensajes de requerimiento tendrán la siguiente estructura.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.business.soap.bridge.synthesis.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:execute>
         <!-Optional:->
         <service>?</service> ** nombre del servicio a invocar **
         <!-Optional:->
         <request>?</request> ** request de BridgeCoreRequest según ejemplo de cada servicio (en punto 7 - apéndice) **
         <!-Optional:->
         <store>?</store> ** tiendas a ser enviado el requerimiento, puede ir vacío o con un 0 para todas las tiendas**
      </ser:execute>
   </soapenv:Body>
</soapenv:Envelope>

Ejemplo de request de marca (brand)




<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.business.soap.bridge.synthesis.com/">
<soapenv:Header/>
<soapenv:Body>
<ser:execute>
<!-Optional:->
<service>brand</service>
<!-Optional:->
<request> <![CDATA[ <span style="color: #ff0000">** para el encapsulado de datos dentro del request **</span>
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<brands type="list">
<brand type="bean">
<name>INCA</name>
<description>INCA KOLA</description>
<disabled>false</disabled>
</brand>
<brand type="bean">
<name>COCA</name>
<description>COCA COLA</description>
<disabled>false</disabled>
</brand>
</brands>
</params>
</bridgeCoreRequest> ]]>
</request>
<!-Optional:->
<store>0</store>
</ser:execute>
</soapenv:Body>
</soapenv:Envelope>




Manejo de errores

Cuando en la ejecución de BridgeCore ocurre un error, en la propiedad ack de la response se devuelve el código del mismo y en la propiedad message, el mensaje de dicho error.
Por ejemplo, el siguiente error es retornado cuando se intenta ejecutar algo, y la sesión de la terminal ha expirado:
<bridgeCoreResponse>
<ack>-1</ack>
<message>'000000000100265919ST' no existe. </message>
</bridgeCoreResponse>

Servicio de actualización

A continuación se detallan los diferentes maestros que se podrán popular.

Servicios de actualización de maestros de artículos

A continuación se describen los servicios que se ofrecen para la actualización de maestros de artículos, y sus entidades relacionadas. Cada uno de los servicios permite crear o actualizar las entidades mediante la operación "createOrUpdate".
Para no repetir para cada servicio los valores de retorno en caso de éxito, se describirá aquí los campos relevantes que sirven para todos los casos, y cualquier particularidad será descripta en el punto correspondiente.
Los valores de retorno relevantes son:

Propiedad

Tipo de dato

Descripción

ack

String

Código de respuesta. Si es 0, significa que el servicio se ejecutó exitosamente. Cualquier otro valor indica que ocurrió algún error, en cuyo caso se podrá obtener una descripción del mismo desde la propiedad "message".

message

String

Descripción del error que pudiera haber ocurrido.


Ejemplos de requerimientos para cada servicio pueden encontrarse en el apéndice.

Proveedores


Nombre del Servicio: supplier
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

Suppliers

List

Lista de proveedores a crear o actualizar.

Si


La lista suppliers debe contener entidades "supplier", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (100)

Identificador del proveedor.

Si

name

String (100)

Nombre o razón social del proveedor.

Si

fantasyName

String (100)

Nombre de fantasía del proveedor.

No

address

String (100)

Dirección del proveedor.

No

phone

String (100)

Teléfono del proveedor.

No

email

String (100)

Email del proveedor

No

fiscalId

String (100)

Identificador fiscal del proveedor, en Argentina corresponde al CUIT.

No

activeFlag

Boolean

Flag que indica que el proveedor está habilitado en el sistema.

Si

caiRequired

Boolean

Flag que indica si requiere CAI

No

asn

Boolean

Flag que indica si esta integrado

No

frequency

Integer(4)

Días que transcurren entre órdenes de compras

No


NOTA:
Para el servicio suppplier al validar el email se utiliza una librería de Apache, que se encarga de determinar si un mail es válido o no (https://commons.apache.org/proper/commons-validator/)
El email "[email protected]" para la librería es inválido.

Marca del artículo

Nombre del Servicio: brand
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

Brands

List

Lista de marcas a crear o actualizar.

Si


La lista brands debe contener entidades "brand", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

name

String(100)

Identificador de la marca comercial.

Si

description

String(200)

Nombre de la marca.

No

disabled

Boolean

Flag que indica si la marca está habilitada en el sistema.

Si


Niveles de Jerarquía de los artículos

Nombre del Servicio: merchandiseHierarchy
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

merchHierarchyLevels

List

Lista de niveles de jerarquía que posee la estructura departamental en la cual se agruparán los artículos.

No

merchHierarchyGroups

List

Lista de departamentos y secciones que contiene la estructura departamental.

No

La lista merchHierarchyLevels debe contener entidades "hierarchyLevel", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código del nivel jerárquico.

Si

description

String (100)

Nombre del nivel jerárquico.

Si

level

Integer

Profundidad del nivel, siendo 1 el nivel más alto en la jerarquía.

Si

active

Boolean

Flag que indica que el nivel está habilitado en el sistema. Por default es true.

No


La lista merchHierarchyGroups debe contener entidades "hierarchyGroup", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (10)

Código de la agrupación jerárquica.

Si

description

String (100)

Descripción de la agrupación.

Si

level

String (25)

Código del nivel jerárquico en que se encuentra esta agrupación.

Si

parentGroup

String (10)

Código de la agrupación "padre" de esta agrupación jerárquica. Si esta agrupación es de nivel 1, entonces no posee un valor en esta propiedad.

No

departamentalItemCode

String (25)

Código del artículo genérico utilizado para ventas departamentales. Sirve para indicar qué artículo se agregará a la transacción al momento de realizar una venta departamental. En general el artículo debería requerir precio, para que obligue al operador a ingresarlo.

No

disabled

Boolean

Flag que indica que la agrupación está deshabilitada en el sistema. Por default es false.

No

isWeb

Boolean

Flag que indica si es una categoría para la web o no (nuevo campo agregado para Bridge Web)

No


Unidades de medida

Nombre del Servicio: unitOfMeasure
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

uoms

List

Lista de unidades de medida a crear o actualizar.

Si

La lista uoms debe contener entidades "uom", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código de la unidad de medida.

Si

name

String (100)

Nombre de la unidad de medida.

Si

decQty

Decimal (0,100)

Cantidad de decimales que se van a manejar para la unidad de medida. Si no se especifica, por default se asume cero decimales.

No

disabled

Boolean

Flag que indica si la unidad de medida está deshabilitada para el sistema. Por default se asume false.

No


Impuesto IVA de los artículos

Nombre del Servicio: vatType
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

vatTypes

List

Lista de IVAs a crear o actualizar.

Si

La lista vatTypes debe contener entidades "vatType", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (3)

Código del porcentaje de IVA.

Si

name

String (100)

Descripción o nombre del tipo de IVA.

No

percentage

Decimal (8,2)

Porcentaje de IVA.

Si

disabled

Boolean

Flag que indica que el porcentaje de IVA se encuentra habilitado para su uso en el sistema.

No


Impuestos internos de los artículos

Nombre del Servicio: internalTax
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

internalTaxes

List

Lista de impuestos internos a crear o actualizar.

Si

La lista internalTaxes debe contener entidades "internalTax", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código del impuesto interno.

Si

name

String (100)

Descripción del impuesto interno

Si

flagOverValue

Boolean

Indica si el impuesto interno se calcula con un monto fijo

No

flagPercentageOverNetValue

Boolean

Indica si el impuesto interno se calcula sobre el valor neto del artículo

No

flagPercentageOverTotalValue

Boolea

Indica si el impuesto interno se calcula sobre el valor total del artículo

No

flagOverCoast

Boolean

Indica si el impuesto interno se calcula sobre el costo

No

disabled

Boolean

Flag que indica que el impuesto interno está deshabilitado

Si

amountOverPercentage

Decimal(8,2)

Monto del porcentaje

No


Depósitos

Los depósitos son los lugares físicos donde el retailer guarda mercadería, no incluye contenedores, barcos, o camiones que están en tránsito.
Nombre del Servicio: location
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

locations

List

Lista de depósitos a crear o actualizar.

Si

La lista locations debe contener entidades "location", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código del depósito.

Si

name

String (100)

Nombre del depósito

Si

saleAllowed

Boolean

Indica si el depósito está habilitado para la venta. True por defecto.
Enviar campo en true para habilitarlo

No

disabled

Boolean

Indica si el almacén está deshabilitado en el sistema. False por defecto.

No

distributionCenter

Boolean

Indica si el depósito funciona como centro de distribución. False por defecto.

No

revenueCenter

String (50)

Código identificador del Centro de Costo al que está asociado por default el depósito
(enviar el valor RCD)

Si

itemInventoryState

String (50)

Código identificador del estado del depósito (ej.: OnSale)
Valores disponibles:
ID – Código - Descripción

  • 1, 'OnSale', 'Items a la venta'
  • 2, 'OnLayaway', 'Items apartados'
  • 3, 'TransitIn', 'Items en tránsito de entrada'
  • 4, 'TransitOut', 'Items en tránsito de salida'

Si

storeCode

Varchar (20)

Código de la tienda (se setea el campo cd_ctr_dbn)

No


Maestro de artículos

Este servicio tiene dependencias de otros maestros (marca, proveedores, niveles de jerarquía, unidades de medida, impuesto IVA, depósitos, taxCategory) En caso de que se envíen artículos con datos de los maestros mencionados como dependencias, se debe considerar que esas referencias se hayan informado previamente a Bridge.
Nombre del Servicio: item
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

items

List

Lista de artículos a crear o actualizar.

Si

La lista items debe contener entidades "item", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Campo de importación

itemCode

String (25)

Código del artículo.

Si


description

String (50)

Descripción del artículo

Si


hierarchyGroupCode

String (10)

Código de la agrupación jerárquica de nivel más alto a la que pertenece el artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla MerchandiseHierarchy (code)

No


price

Decimal(11,2)

Precio de venta por unidad.

Si


unitCostPrice

Decimal(11,2)

Costo de la unidad.

No


specialPrice

Decimal(11,2)

Precio especial de venta para clientes.

No


vatCode

String (3)

Código del tipo de IVA asociado al artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla VAT (campo code)
Los valores que vendrán dados de alta por defecto:
Código – descripción
1 (IVA 0%, utilizado para artículos exentos)
2 (IVA 21%, utilizado para el gral de los artículos de consumo)
3 (IVA 10.5%, utilizado gralmente para los artículos frescos)
4 (IVA 27%, utilizado en servicios como LUZ, GAS, etc.)

Si


notForSaleFlag

Boolean

Flag que indica que el artículo no está a la venta.

No


notForDiscountsFlag

Boolean

Flag que indica que el artículo no admite descuentos.

No


priceRequiredFlag

Boolean

Flag que indica que el artículo requiere el ingreso del precio.

No


weightRequiredFlag

Boolean

Flag que indica que el artículo requiere el ingreso de peso.

No


quantityRequiredFlag

Boolean

Flag que indica que el artículo requiere el ingreso de una cantidad o magnitud.

No


quantityAllowedFlag

Boolean

Flag que indica que el artículo admite el ingreso de cantidad.

No


restrictedSaleFlag

Boolean

Flag de venta en horaio restringido

No


logExceptionFlag

Boolean

Flag que indica si debe registrarse en el log de excepciones.

No


authorizationRequiredFlag

Boolean

Flag que indica que el artículo requiere autorización del supervisor.

No


foodStampFlag

Boolean

Flag Food Stamp, indica si está asociado al medio de pago Food Stamp.

No


serialNumberRequiredFlag

Boolean

Flag que indica que el artículo requiere el ingreso de número de serie.

No


returnNotAllowedFlag

Boolean

Flag que indica que el artículo no admite ser devuelto.

No


supplierCode

String (100)

Código del proveedor del artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Supplier (campo code)

No


brandCode

String (100)

Código de la marca del artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Brand (campo name)

No


itemType

String (25)

Código del tipo de artículo.
En este campo los valores admitidos son:

  • CONT (Envase)
  • MISC(Miscelaneos)
  • CHRG (Recargos)
  • NORM (Normal)
  • DEPT(Departamental)
  • GRAL (Generico)
  • WRTY (Garantias)
  • SERV(Servicios)
  • GFCD (GiftCard)
  • FUEL(Combustible)
  • ADJM (Ajuste de combustible)
  • TAE(Tiempo Aire)
  • EXTRACASH(Adelanto en efectivo)

Si


promotionalPrice

Decimal(11,2)

Precio promocional.

No


promotionalPriceDateFrom

DateTime

Fecha y hora de inicio de la vigencia del precio promocional

No


promotionalPriceDateTo

DateTime

Fecha de hora de finalización de la vigencia del precio promocional

No


uomCode

String (25)

Código de la unidad de medida para el artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Uom (campo LU_UOM)
Ej: <uomCode>u<uomCode> – para unidad

  • u (unidad)
  • kg (kilo)
  • g (gramo)
  • l (litro)
  • c3 (centímetros cúbicos)
  • m (metro)
  • cm (centímetro)

Si


lastUpdateSaleUnitPrice

DateTime

Fecha y hora de la última actualización del precio de venta.

No


genericItemFlag

Boolean

Flag que indica que el artículo es genérico.

Si


kitComponentFlag

Boolean

Flag que indica que el artículo es un componente de un kit.

Si


inventoryLocationCode

Varchar (25)

Código del almacén o depósito
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Location (campo code, tabla LO_LCN_INV)

Si


commissionPercent

Decimal(6,2)

Porcentaje de comisión sobre el artículo que le corresponde al asociado.

No


disabled

Boolean

Flag que indica que el artículo está deshabilitado

Si


itemVATCategory

String (2)

Categoría de IVA del ítem. Los valores posibles son: C, E, F, o G:
C: Exento a Consumidor Final
E: Exento
F: Fresco
G: General



uom2Code

String (1)

Código de la segunda unidad de medida para el artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Uom (campo code)

No


uom2Units

Decimal(14,2)

Factor de conversión entre la primera y la segunda unidad de medida

No


uom2Operation

String (1)

Tipo de conversión.
Posibles valores:
M = Multiplicar
D = Dividir

No


retiredDiscountAllowedFlag

Boolean

Indicador para descuento para jubilado (no aplica uso en producto)

No


stockReservationRequired

Boolean

Indicador de requiere reserva de stock. Default false. Modifica el flag "Requiere reserva de stock" (FL_STKRES_RQ))

No


genericFieldString1

String (50)

Campo para uso genérico
Todos los campos generic se importan en la tabla
ITM_USR_DATA

No

Importar en ITM_USR_DATA, campo USR_I_STRNG

genericFieldString2

String (50)

Campo para uso genérico

No

Importar USR_II_STRNG

genericFieldString3

String (50)

Campo para uso genérico

No

Importar USR_III_STRNG

genericFieldString4

String (50)

Campo para uso genérico

No

Importar USR_IV_STRNG

genericFieldBoolean1

Boolean

Campo para uso genérico

No

Importar en USR_I_FL

genericFieldBoolean2

Boolean

Campo para uso genérico

No

Importar en USR_II_FL

genericFieldBoolean3

Boolean

Campo para uso genérico

No

Importar en USR_III_FL

genericFieldBoolean4

Boolean

Campo para uso genérico

No

Importar en USR_IV_FL

genericFieldDecimal1

Decimal(8,2)

Campo para uso genérico

No

Importar en campo USR_I_INT

genericFieldDecimal2

Decimal(8,2)

Campo para uso genérico

No

Importar en campo USR_II_INT

genericFieldDecimal3

Decimal(8,2)

Campo para uso genérico

No

Importar en campo USR_III_INT

genericFieldDecimal4

Decimal(8,2)

Campo para uso genérico

No

Importar en campo USR_IV_INT

importDocReq

Boolean

Indicador si requiere de documento de importación (para serializables)

No


sellerRequired

Boolean

Indicador si requiere el ingreso del vendedor

No


webDescription

Varchar (max)

Descripción ampliada del artículo para la web

No


extendedWebDescription

Varchar (max)

Descripción detallada del artículo para la web

No


internalTaxes

List

Lista de impuestos internos

No


itemPictures

List

Lista de imágenes asociadas

No



La lista internalTaxes debe contener entidades "internalTax", las cuales poseen la siguiente estructura:
Nota: cuando la nueva property "store.internalTaxInformedWithItem" esté en false, no considerar el tag internalTaxes al importar ya que se usará el servicio de relación de artículos con impuestos internos.
Cuando la property esté en true, se mantiene la lógica actual: con cada importación del servicio "ítem" se borran los impuestos internos asociados al ítem en el modelo y se crean las relaciones incluidas en el servicio.

Propiedad

Tipo de dato

Descripción

Requerido

internalTaxCode

String(25)

Código de impuesto interno

Si

internalTaxAmount

Decimal

Monto del impuesto interno o porcentaje (sobreescribe el general del impuesto para el item en particular, si no se informa, toma el default del impuesto)

No

La lista itemPictures debe contener entidades "itemPicture", la cual posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

extension

Varchar (5)

Extensión del archivo (jpg, jpeg)

Si

Content

String
(soporta el envío de un encoded en base64)

Imagen encoded en base64

Si

thumbailFlag

boolean

True o false. Indica si la imagen será utilizada como miniatura o no (para Web)

No *

templateFlag

boolean

True o false. Indica si la imagen será utilizada como template o no (botones para la venta departamental y para Web)

No *

baseFlag

boolean

True o false. Indica si la imagen será utilizada como base o no (para Web y para la consulta de artículos desde el POS)

No *

priority

integer

Número que indica la prioridad u orden de la imagen con respecto a las otras

No ()

activeFlag

boolean

True o false. Indica si la imagen se encuentra (true) o no activa (false).

Si (default true)

Consideraciones del servicio para las imágenes:

  • En el servicio siempre se añaden nuevas imágenes. No sirve ni para editar ni para eliminar imágenes existentes. En caso de querer llevar a cabo dichas acciones, se deberá realizar desde el BM.
  • (estrela) Notas sobre configuración miniatura, base y template
    • En caso de ya existir una imagen configurada como miniatura o template, y en el servicio se especifica una nueva imagen como tal, se utilizará la nueva imagen para miniatura o template.
    • Si no se especifica ninguna imagen como miniatura o template, se tomará la primera como tal.
    • Si se especifica más de una, también se tomará la primera.
  • (*) *Notas sobre prioridad de las imágenes
    • Al ser un campo opcional, si viene una prioridad indicada para la imagen, se prioriza esa.
      •  En caso de existir una lista de imágenes ya asociadas al ítem que tenían la misma prioridad esta se pisa y queda priorizada la indicada en los últimos artículos recibidos por el servicio.
    • Si no viniera indicada la prioridad en la importación, se le da la prioridad siguiente a la que tenía la última imagen de ese ítem.
      • Ej: articulo 123 (imágenes nuevas C y D)

        Imagen

        Prioridad en BD

        Nuevo recibido por WS

        Prioridad con la cual queda en BD al importarse

        A

        1


        3

        B

        2


        4

        C


        1

        1

        D


        2

        2


        Imágenes nuevas C y D sin indicar prioridad

        Imagen

        Prioridad en BD

        Nuevo recibido por WS

        Prioridad con la cual queda en BD al importarse

        A

        1


        1

        B

        2


        2

        C



        3

        D



        4


        El servicio actual de ítems se extiende con algunos datos adicionales como el producto (si viene informado lo asocia, sino lo crea para tener compatibilidad hacia atrás), los atributos, el displayOrder y atributos.
        Se extienden los sig campos:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        Observaciones

        CommissionFlag

        Boolean

        Flag de admite comisión

        No

        Se setea el campo FL_CMN de AS_ITM

        peProfit

        Decimal (16,4)

        Porcentaje de margen o ganancia

        No

        Se setea el campo PE_PROFIT de AS_ITM

        relevance

        Int

        Relevancia o importancia

        No

        Se setea el campo RELEVANCE de AS_ITM

        oldPrice

        Decimal (16,4)

        Precio anterior

        No

        Se setea el campo OLD_PRICE de AS_ITM

        published

        Boolean

        Flag de ítem publicado

        No

        Se setea el campo PUBLISHED de de AS_ITM

        productAttributeValues

        List

        Lista de atributos del producto

        No


        La lista productAttributeValues debe contener entidades "productAttributeValue", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        Observaciones

        productCode

        varchar (50)

        Código del producto

        Si

        Se genera un registro en la tabla PRODUCT_ATTR_VALUE con el PRODUCT_ATTR_ID (se asigna el ID del productCode recibido) y el PROD_ATTR_OPTION_ID

        isDefaultItem

        Boolean

        Descripción de la agrupación.

        Si

        Se setea el campo DEFAULT_ITEM_ID de la tabla PRODUCT

        attributeCode

        Varchar (50)

        Código del atributo

        Si

        Se setea el campo PROD_ATTR_ID de la PRODUCT_ATTR_VALUE con el ID del registro que corresponda al campo CODE de la PRODUCT_ATTR

        attributeOptionCode

        Varchar (max)

        Código de la opción del atributo

        Si

        Se setea el campo PROD_ATTR_OPTION_ID de la tabla PRODUCT_ATTR_VALUE con el ID del registro que corresponda al campo NAME de la PRODUCT_ATTR_OPTION

        isPreSelected

        Boolean

        Indicador si es una opción de atributo preseleccionada o no

        Si

        Se setea el campo IS_PRE_SELECTED de la tabla PRODUCT_ATTR_VALUE

        displayOrder

        Int

        Orden en el que se muestra/informa dentro de la lista

        No

        Se setea el campo DISPLAY_ORDER de PRODUCT_ATTR_VALUE. Si el "displayOrder" no viene informado se le asigne el siguiente al último.

        isDisabled

        Boolean

        Indicador si está o no habilitado

        Si

        Se setea el campo IS_DISABLED de la tabla PRODUCT_ATTR_VALUE

        Relación de artículos con impuestos internos

        Nombre del Servicio: itemInternalTax
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemInternalTaxes

        List

        Lista de impuestos internos a crear o actualizar

        Si

        La lista itemInternalTaxes debe contener entidades "itemInternalTax", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        item

        String(25)

        Código interno del ítem

        Si

        internalTax

        String(25)

        Código del impuesto interno.

        Si

        amountInternalTax

        Decimal(8,2)

        Monto del impuesto interno

        No

        disabled

        Boolean

        Indica si la relación ítem / internalTax se debe eliminar

        No

        Códigos de barras – alias

        Este servicio tiene dependencia de otro maestro (items) En caso de que se envíen códigos de barras asociados a artículos, los mismos se deben haber informado previamente a Bridge.
        Nombre del Servicio: alias
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        aliases

        List

        Lista de códigos de barra a crear o actualizar.

        Si

        La lista aliases debe contener entidades "alias", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemCode

        String (25)

        Código del artículo para el que se agregará o acutalizará el código de barras.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Item (campo ItemCode)

        Si

        barcode

        String (25)

        Código de barras.

        Si

        description

        String (255)

        Descripción del código de barras.

        No

        units

        Integer

        Unidades.

        No

        storeCode

        Varchar (20)

        Tienda (se guarda luego el ID de tienda en CD_STR_RT)

        No

        disabled

        Boolean

        Si el mismo se encuentra activo o no. Default false

        No

        Artículos de tipo Stock

        Este servicio tiene dependencia de otro maestro (items) En caso de que se envíen artículos para ser definidos del tipo stock, los artículos se deben haber informado previamente a Bridge.
        Nombre del Servicio: stockItems
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        stockItems

        List

        Lista de artículos de tipo stock a crear o actualizar.

        Si

        La lista stockItems debe contener entidades "stockItem", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemCode

        String (25)

        Código del artículo de tipo stock que se agregará o acutalizará.

        Si

        styleCode

        String (25)

        Código de estilo.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Style (campo code. Servicio a implementar)

        No

        colorCode

        String (25)

        Código de color.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Color (campo code. Servicio a implementar)

        No

        sizeCode

        String (25)

        Código de tamaño.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Size (campo code. Servicio a implementar)

        No

        containerCode

        String (25)

        Código de envase.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Container (campo code. Servicio a implementar)

        No

        Type

        String (2)

        Código de tipo de stock ítem.

        No

        saleWeightOrUnitCountCode

        String

        Código identificador de venta por peso o por unidad. Indica si se vende por peso o como una unidad.

        No

        pickupCode

        String(2)

        Código de retiro. Define dónde y cómo un cliente puede retirar este artículo.

        No

        unitPriceFactor

        Decimal(10,4)

        Número de unidades de medida por unidad de venta. Se utiliza como divisor en el cálculo del precio de venta de la unidad del artículo común, por ejemplo, 1,67 dólares por libra o $ 2,59 por 32 floz.

        No

        availableForSaleDate

        DateTime

        Fecha de disponibilidad para la venta. Por ejemplo, ciertos libros tienen fechas de publicación específicos, fechas de lanzamiento de entretenimiento de música.

        No

        inventoryAccountingMethodCode

        String (2)

        Código que define el método de contabilidad del artículo. Ej. Venta al por menor, etc.

        No

        sellUnitLastReceivedBaseCostAmount

        Money

        Costo base de la unidad. Excluye subsidios, descuentos, cargos y otros importes que pueden cambiar el costo del artículo.

        No

        sellUnitLastReceivedNetCostAmount

        Money

        Costo neto de la unidad. Incluye subsidios, descuentos, cargos y demás sumas que pueden cambiar el costo del artículo. Donde no hay subsidios, etc el costo neto será igual al costo base para un artículo.

        No

        sellUnitLandedCostAmount

        Money

        Costo del artículo más servicios. El costo del artículo más el seguro, acarreo, transporte, entrega, seguros, derechos de aduana, etc, que se suman al costo total de entrega de un artículo importado a la tienda.

        No

        sellUnitLastReceivedCostsEstablishedDate

        DateTime

        Fecha en que se establecieron los últimos costos recibidos (neto y de base).

        No

        shrinkFlag

        Boolean

        Flag que indica que el artículo NO estará disponible en las funcionalidades de conteo y ajuste de stock (se aplicaria al caso de items padre de kits donde el stock sólo se lleva por hijos y no por padre)

        No

        swellFlag

        Boolean

        Flag por aumento de peso. Para indicar que el artículo podría aumentar peso desde el momento del pedido hasta el momento de su recepción.

        No

        model

        String

        Número o nombre de modelo asignado por el fabricante del artículo.

        No

        depth

        Decimal (15,4)

        Medida de la profundidad del artículo.

        No

        width

        Decimal (15,4)

        Medida del ancho del artículo.

        No

        height

        Decimal (15,4)

        Medida del alto del artículo.

        No

        diameter

        Decimal (15,4)

        Medida del diámetro del artículo.

        No

        grossWeight

        Decimal (15,4)

        Peso bruto del artículo.

        No

        netWeight

        Decimal (15,4)

        Peso neto del artículo.

        No

        drainedWeight

        Decimal (15,4)

        Peso drenado del líquido.

        No

        sizeUomCode

        String (25)

        Código de unidad de medida utilizada para indicar el tamaño del artículo.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Uom (campo code)

        No

        weightUomCode

        String (25)

        Código de unidad de medida utilizada para indicar el peso del artículo.
        En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Uom (campo code)

        No

        repositionPoint

        Decimal (15,4)

        Refiere al umbral de reposición necesario para el cálculo del pedido sugerido

        No

        Relación de artículos con proveedores

        Este servicio permite tener por proveedor la lista de artículos que el mismo puede entregar a la tienda. Será utilizada para la generación de órdenes de compra.
        Nombre del Servicio: itemSupplierItem
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemSupplierItems

        List

        Lista de relación entre artículos y proveedores a crear o actualizar.

        Si

        La lista itemSupplierItems debe contener entidades "itemSupplierItem", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        item

        String(25)

        Código del artículo.

        Si

        supplier

        String (100)

        Identificador del proveedor.

        Si

        barcode

        String (25)

        Código de barras para identificar la presentación del artículo

        No

        lastReceiptSaleByUnitCount

        Decimal (19,3)

        Ultima cantidad recibida

        No

        lastReceiptSaleUnitBaseCost

        Decimal (19,3)

        Costo base por unidad

        No

        countMinOrder

        Decimal (19,3)

        Cantidad mínina por pedido

        No

        countMaxOrder

        Decimal (19,3)

        Cantidad máxima por pedido

        No

        disabled

        boolean

        Indica si la relación está deshabilitada
        (Def=false)

        No

        Lista de precios de artículos

        Este servicio tiene dependencia de otro maestro (items) En caso de que se envíen listas de precios, los artículos se deben haber informado previamente a Bridge.
        El lote de registros debería pertenecer a la misma tienda. Por tal motivo en el request a enviar, el campo <store>codigoTienda</store> debería venir informado el código de la tienda a la cual pertenecen los registros informados dentro del mismo lote. No se debería enviar <store>0</store>. Esto es para evitar que todas las tiendas reciban registros que no son de esa tienda.
        Nombre del Servicio: itemSellingPrices
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemSellingPrices

        List

        Lista de listas de precios

        Si

        La lista itemSellingPrices debe contener entidades "itemSellingPrice", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemSellingPriceNumber

        Integer

        Número de lista de precios

        Si

        storeCode

        Varchar (20)

        Código de tienda (BSNGP_ITM_HEADER.PA_STR_RTL_HEADER la referencia a la tienda)

        No

        effectiveDateTime

        Date

        Fecha de inicio de vigencia.

        Si

        expirationDateTime

        Date

        Fecha de expiración de la vigencia.

        Si

        Ítems

        List

        Lista de precios de artículos a crear o actualizar.

        Si

        La lista items debe contener entidades "item", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemCode

        Varchar (25)

        Código de producto

        Si

        Barcode

        Varchar (25)

        Código de alias

        No

        currentSaleUnitRetailPriceAmount

        float

        Precio actual.

        Si

        currentSaleUnitRetailPriceEffectiveDate

        Date

        Fecha de vigencia desde para el precio actual

        Si

        currentSaleUnitRetailPriceExpirationDate

        Date

        Fecha de vigencia hasta para el precio actual

        Si

        permanentSaleUnitRetailPriceAmount

        Float

        Precio permanente.

        Si

        PermanentSaleUnitRetailPriceEffectiveDate

        Date

        Fecha de vigencia desde para el precio permanente

        Si

        currentSaleUnitRetailPriceTypeCode

        Varchar (50)

        Tipo de precio representado por el precio actual (current). Default 'pr1'

        No

        manufacturerSaleUnitRecommendedRetailPriceAmount

        Money

        Precio de venta recomendado por el proveedor.

        Si

        Articulos de tipo Kits

        En este servicio se registran los kits. Contiene un id interno de la tabla y luego la lista de todos los kits que se hayan definido.
        Nombre del Servicio: aggregateItem
        La lista aggregateItems debe contener entidades "aggregateItem", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        aggregateItems

        List

        Lista de artículos de tipo kit a crear o actualizar.

        Si


        La lista aggregateItems debe contener entidades "aggregateItem", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        typeCode

        String(10)

        Tipo de artículo kit. Enviar "kit"

        Si

        item

        String (25)

        Código del artículo padre

        Si

        Artículos enlazados o linkeados

        Este servicio tiene dependencia de otro maestro (items) En caso de que se envíen artículos para ser enlazados o linkeados , los artículos se deben haber informado previamente a Bridge.
        Este servicio definen las relaciones de artículos linkeados. Al venderse el código de ítem del campo ID_ITM (padre del kit) automáticamente se vende el artículo del código ID_ITM_MBR (hijos componentes) con la cantidad que se haya definido
        Nombre del Servicio: linkedItem
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        linkedItems

        List

        Lista de asociaciones entre artículos y sus linkeados que se desea crear o actualizar.

        Si

        La lista linkedItems debe contener entidades "linkedItem", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemCode

        String(25)

        Código de un artículo.

        Si

        linkedItemCode

        String (25)

        Código del artículo enlazado al artículo cuyo código es itemCode.

        Si

        quantity

        Decimal

        Cantidad de unidades presentes en la relación. Por default 1.

        No

        memberItemPrice

        Real

        Precio del artículo enlazado

        No

        Relación entre artículos

        Este servicio tiene dependencia de otro maestro (items). En caso de que se envíen artículos para ser relacionados, los artículos se deben haber informado previamente a Bridge.
        La entidad permite definir relaciones entre artículos (complementarios, sustitutos..)
        Nombre del Servicio: itemRelated
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemsRelated

        List

        Lista de asociaciones entre artículos y sus linkeados que se desea crear o actualizar.

        Si

        La lista itemsRelated debe contener entidades "itemRelated", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        item

        String(25)

        Código de un artículo.

        Si

        itemTypeRelated

        String(25)

        Código de la relación
        CI: artículos complementarios
        SI: Artículos similares
        WRT: Garantías

        Si

        itemRelated

        String(25)

        Código del artículo relacionado.

        Si

        nameRelated

        String(100)

        Descripción

        si

        Artículos del tipo servicio

        Este servicio tiene dependencia de otro maestro (items) En caso de que se envíen artículos para ser definidos como servicios, los artículos se deben haber informado previamente a Bridge.
        Nombre del Servicio: serviceItem
        Parámetros de entrada:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        serviceItems

        List

        Lista de artículos de tipo servicio a crear o actualizar.

        Si

        La lista serviceItems debe contener entidades "serviceItem", las cuales poseen la siguiente estructura:

        Propiedad

        Tipo de dato

        Descripción

        Requerido

        itemCode

        String (25)

        Código del artículo de tipo servicio que se agregará o actualizará.

        Si

        type

        Varchar (25)

        Código del tipo de servicio.
        En este campo los valores admitidos son:

  • ASSM (Armado)
  • SHIP (Flete)
  • PCKG (Empaquetado)
    WRTY (Garantía)|Si|

    baseCostAmount

    Decimal (15,4)

    Costo base del servicio. Este costo no incluye todos los descuentos promocionales.

    No

    netCostAmount

    Decimal (15,4)

    Costo neto del servicio. Este costo incluye todos los descuentos promocionales.

    No

    costsEstablishedDate

    DateTime

    Fecha de vigencia del precio actual de costos para el elemento del servicio.

    No

    Stock por depósito

    Este servicio tiene dependencias de otros maestros (ítems y depósitos) En caso de que se envíen las unidades en stock, los artículos y depósitos ya se deben haber informado previamente a Bridge.
    Nombre del Servicio: stock
    Parámetros de entrada:

    Propiedad

    Tipo de dato

    Descripción

    Requerido

    stocks

    List

    Lista de artículos con su respectivo stock para un depósito en particular

    Si

    La lista stocks debe contener entidades "stock", las cuales poseen la siguiente estructura:

    Propiedad

    Tipo de dato

    Descripción

    Requerido

    storeCode

    Varchar (20)

    Código de la tienda

    Si

    locationCode

    String (25)

    Código del depósito

    Si

    itemInventoryState

    String (25)

    Estado del depósito. La lista de valores disponibles es:
    'IISD' (Estado de item de inventario por default)
    'onSale' (ítems a la venta)
    'OnLayaway' (Items apartados)
    'TransitIn' (Items en tránsito de entrada)
    'TransitOut' (Items en tránsito de salida)

    Si

    revenueCenter

    String (50)

    Código identificador del Centro de Costo al que está asociado por default el depósito
    (enviar el valor RCD)

    Si

    items

    List

    Lista de artículos en el depósito junto con su cantidad de unidades en stock

    Si

    Items del depósito

    La lista ítems debe contener entidades "item", las cuales poseen la siguiente estructura:

    Propiedad

    Tipo de dato

    Descripción

    Requerido

    itemCode

    String (25)

    Código del artículo

    Si

    stockUnits

    Decimal (7)

    Cantidad de unidades en stock (default 0)

    Si

    Actualización de stock por movimientos de abastecimiento externos a Bridge

    Actualización de stock por abastecimiento

Este servicio tiene dependencias de otros maestros (ítems y depósitos) En caso de que se envíen las unidades en stock, los artículos y depósitos ya se deben haber informado previamente a Bridge.
Este servicio permitirá agregar un registro en la ItemInventoryJournalEntry a través de su importación, de modo tal que se pueda informar un movimiento de un ítem en particular para las operaciones de recepción de ordenes de compra, transferencias de mercadería entre tiendas y depósitos, ajustes y devoluciones a proveedor.
El lote de registros debería pertenecer a la misma tienda. Por tal motivo en el request a enviar, el campo <store>codigoTienda</store> debería venir informado el código de la tienda a la cual pertenecen los registros informados dentro del mismo lote. No se debería enviar <store>0</store>. Esto es para evitar que todas las tiendas reciban registros que no son de esa tienda.
Nombre del Servicio: stockInventory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

stockInventories

List

Lista de artículos con su respectivo stock para un depósito en particular en el cual se desee informar movimientos de stock generados por documentos de abastecimiento administrados por un sistema externo como un ERP y no en Bridge

Si


La lista stockInventories debe contener entidades "stockInventory", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

itemInventoryJournalOriginator

 
Varchar (25)

Tipos de documentos. Lista de valores posibles:
- CASN (si es una recepción ASN)
- RET (Devolución a Proveedor)
- TRA (Transferencia) para la tienda de origen
- RTR (Recepción Transferencia) para la tienda de destino
- REC (Recepción de orden de compra)
- AJUS (Ajuste de stock) pudiendo ser positiva o negativa

Si

Se debe enviar uno de los tipos de docs de la lista

headerTransactionCode

Varchar (255)

Nro. de documento de inventario que genera el movimiento de abastecimiento

Si

Código o nro. del documento de abastecimiento que genera el movimiento (ej: recepción de orden de compra, devolución a proveedor, etc.) En el caso de ser de un sistema externo sólo se validará por tipo de dato varchar.

detailTransactionId

integer

Línea dentro del documento de abastecimiento para el ítem informado

No

Opcional. Línea dentro del documento de abastecimiento, si tuviera varios productos  y se quisieran detallar  (Si no es recibido se guarda como default: 1)

Period

 Int

Período de la tienda

No

Es opcional. Si no se recibe se guarda en null

 subperiod

int

Subperíodo de la tienda

No

Es opcional. Si no se recibe se guarda en null

itemCode

Varchar (25)

Código del artículo

Si

Se recibe el código del artículo y se debe validar que exista en el maestro de items. Si no existe se informa error en la importación (código de artículo no existe)

storeCode

Varchar (20)

Código de la tienda 

Si

Se recibe el código de la tienda y se debe validar que exista. Si no existe se informa error en la importación (código de tienda inexistente)

locationCode

String (25)

Código del depósito

Si

Se recibe el código del depósito y se debe validar que exista. Si no existe se informar error en la importación (código de depósito inexistente)

itemInventoryState

String (25)

Estado del depósito. La lista de valores disponibles es:
 'IISD' (Estado de item de inventario por default)
'OnSale' (ítems a la venta)
'OnLayaway' (Items apartados)
'TransitIn' (Items en tránsito de entrada)
'TransitOut' (Items en tránsito de salida)

No

Es opcional. Si se envía, se valida que exista, si no existe informará error (estado no existente). Se debe recibir uno de los estados del inventario posible.  
Si no se recibe, por el tipo de documento se setea el estado automáticamente por el servicio.
 

retailUnitCount

Dec (18,0)

Cantidad de unidades que genera el movimiento

Si

Se valida que sea un nro positivo, va sin signo ya que la cantidad se suma o se resta dependiendo del flag substract

SerialNumber

Varchar (50)

Nro de serie (es un dato opcional)

No

Opcional. Default: null

importDocNumber

Varchar (50)

Nro. del documento de aduana (pedimento)

No

Opcional. Default: null

customsNumber

Varchar (50)

Nro. de Aduana

No

Opcional. Default: null

serializedUnitCode

Varchar (50)

Código del serializado (es un campo unique, se valida que sea un valor único en la tabla)

No

Opcional. Default: null

customsDate

Varchar (50)

Fecha del documento de la aduana

No

Opcional. Default: null

substractFlag

 Boolean

Flag que indica si el stock debe restar o sumar (si está en true se debe disminuir stock, si está en false incrementa stock)

No

Opcional. Para este flag, dependiendo del tipo de documento se va a tomar por defecto un valor (ver nota debajo TIPO DE DOC), caso contrario se tomará el que se envíe en este campo

aggregateCode

Varchar (100)

Se utiliza cuando el registro corresponde al producto hijo de un kit. En este campo se guardará el ID del producto padre

No

Opcional. Si no se recibe, guardar en null
Si se recibe se debe validar que sea un código de artículo válido. Si no existiera se debe informar error en la importación (código del artículo padre no existente)

costUnitAmount

Decimal (15,4)

Precio de costo
Indica el precio de costo unitario al momento de la transacción
Es el costo de la ItemSupplierItem en las transacciones de recepción y dev a proveedor (si no existiera es el costo de la AS_ITM)
En el resto de las transacciones es el costo de la AS_ITM

No 

Opcional. Si no se recibe, guardar en null.

costTotalAmount

Decimal (15,4)

Indica el costo total del stock
Considera presentación y cantidad
(ej.: 10 cajas de 100 * precio de costo)

No

Opcional. Si no se recibe, guardar en null

salesUnitAmount

Decimal (15,4)

Indica el precio de venta bruta unitario al momento de la transacción

No 

Opcional. Si no se recibe, guardar en null

salesExtendedAmount

Decimal (15,4)

Indica el precio extendido al momento de la transacción
Considera cantidad

No

Opcional. Si no se recibe, guardar en null

inventoryAdjustmentType

Varchar (25)

Tipo de ajuste, códigos válidos:
-   UNJUSTIFIED_DEPLETIONS (mermas no justificadas)
-   UNJUSTIFIED_ADJUSTMENTS (ajustes no justificados)
-   JUSTIFIED_DEPLETIONS (mermas justificadas)
-   JUSTIFIED_ADJUSTMENTS
(ajustes justificados)
-   CORRECTIVE_ADJUSTMENT (ajustes correctivos)

No

Opcional. Si no se recibe guardar en null. Si se recibe: se debe validar que sea uno de los códigos de ajuste válidos de la lista mencionada.

manufacturingDate

date (formato YYYY-MM-DD)

Fecha de fabricación

No

Opcional. Si no se recibe se guarda en null
De recibirse se valida en la importación que sea una fecha con el formato válido.


NOTA: TIPO DE DOC

En base a lo recibido en el campo del request del servicio, se debería considerar tener la siguiente lógica por default para los campos itemInventoryState y substractFlag. 

Tipo de documento (de abastecimiento) recibido en el campo itemInventoryJournalOriginator del WS

Descripción del documento

itemInventoryState
(si no lo recibe el servicio, setear este valor por default)

substractFlag
(si no lo recibe el servicio, setear este valor por default)

Proceso que esto generará en la itemInventory (luego de procesado el registro de la JournalEntry con el job)

CASN

Recepción ASN (advance shipping notice. Remito electrónico)

OnSale

false (sumará stock)

Se incrementará el campo QU_RCV

REC

Recepción de orden de compra (remito manual)

OnSale

false (sumará stock)

Se incrementará el campo QU_RCV

RET 

Devolución a Proveedor

OnSale

true (restará stock)

Se incrementará el campo QU_RTN

 TRA

Transferencia de origen (puede ser entre depósitos o entre tiendas)

OnSale

true (restará stock)

Se incrementará el campo QU_TSF_OT

RTR

Recepción Transferencia en destino (puede ser entre depósitos o entre tiendas)

OnSale

false (sumará stock)

Se incrementará el campo QU_TSF_IN

AJUE

Ajuste de stock/inventario (faltante o sobrante)

OnSale

  • false (sumará stock) si es sobrante)
  • true (restará stock si es faltante)

Se incrementará el campo

  • QU_ADJT_IN (sobrante)
  • QU_ADJT_OT (faltante)


Servicios de actualización maestros de producto y atributos

Producto

Esta entidad agrupa los diferentes ítems cuando comparten atributos. La relación con Ítem (AS_ITM) es uno a mucho, siendo obligatorio al menos un ítem por cada producto.
No es requerido el uso de la entidad "producto" si no se utilizarán atributos y/o atributos de especificación. De ser utilizados los mismos, se requiere un orden en el envío de los datos.
Para el envío de entidades a través de los servicios de integración, se debe considerar el orden de envío de las entidades:

    • Alta de atributos y atributos de especificaciones (ambos casos opcionales).
    • Alta del producto con sus atributos y especificaciones (deben ya existir en Bridge)
      • Enviar el producto con la lista de atributos y especificaciones que se deseen relacionar al mismo.
    • Enviar el o los ítems asociados al producto.
    • En aquellos casos en los cuales no se requiera el alta de productos, sólo se enviará al ítem (sin atributos, especificaciones ni producto asociado).
      • Sólo en este caso cuando Bridge recibe por servicio al ítem, genera durante el proceso de importación el registro correspondiente al producto.
      • Para BridgePOS tanto para la venta como para el manejo de stock es por medio del ítem.
      • El producto sólo permite/facilita el agrupamiento y detalle de atributos para búsquedas y para Bridge WEB.


Nombre del Servicio: product
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

products

List

Lista de productos a crear o actualizar.

Si


La lista products debe contener entidades "product", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

varchar(50)

Código de producto

Si

Se genera un registro en la tabla PRODUCT si no existe el código, si existe se actualiza. Se setea el campo CODE de la tabla PRODUCT

Name

varchar(400)

Nombre del producto

Si

Se setea el campo NAME de PRODUCT

shortDescription

varchar(MAX)

Descripción corta del producto

No

Se setea el campo SHORT_DESCRIPTION de PRODUCT

fullDescription

varchar(MAX)

Descripción completa del producto

No

Se setea el campo FULL_DESCRIPTION de PRODUCT

metaKeywords

varchar(400)

Meta palabras claves

No

Se setea el campo META_KEYWORDS de PRODUCT

metaDescription

varchar(MAX)

Meta descripción

No

Se setea el campo META_DESCRIPTION de PRODUCT

metaTitle

varchar(400)

Meta título

No

Se setea el campo META_TITLE de PRODUCT

allowCustomerReviews

bit

Indicador de admite revisiones de cliente o no.

Si

Se setea el campo ALLOW_CUSTOMER_REVIEWS de PRODUCT

(no es un campo enviado por servicio, el servicio de importación guarda el dato por defecto en el registro del producto. Es un dato a utilizar por Bridge Web para el rating o revisiones del producto)

int

Suma de rating aprobados

Si

APPROVED_RATING_SUM de PRODUCT

(no es un campo enviado por servicio, el servicio de importación guarda el dato por defecto en el registro del producto. Es un dato a utilizar por Bridge Web para el rating o revisiones del producto)

int

Suma de rating no aprobados

Si

NOT_APPROVED_RATING_SUM de PRODUCT

(no es un campo enviado por servicio, el servicio de importación guarda el dato por defecto en el registro del producto. Es un dato a utilizar por Bridge Web para el rating o revisiones del producto)

int

Revisiones totales aprobadas

Si

APPROVED_TOTAL_REVIEWS

(no es un campo enviado por servicio, el servicio de importación guarda el dato por defecto en el registro del producto. Es un dato a utilizar por Bridge Web para el rating o revisiones del producto)

int

Revisiones totales no aprobadas

Si

NOT_APPROVED_TOTAL_REVIEWS

isShipEnabled

bit

Indicador si admite envío o no

Si

Se setea el campo IS_SHIP_ENABLED de PRODUCT

isFreeShipping

bit

Indicador si es envío gratis

Si

Se setea el campo IS_FREE_SHIPPING de PRODUCT

shipSeparately

bit

Indicador de si admite envío separado

Si

SHIP_SEPARATELY de PRODUCT

additionalShippingCharge

money

Monto de cargo de envío adicional

Si

Se setea el campo ADDITIONAL_SHIPPING_CHARGE de PRODUCT

deliveryDate

int

ID de fecha de entrega

No

Se setea el campo DELIVERY_DATE_ID de PRODUCT

displayStockAvailability

bit

Indicador para mostrar disponibilidad de stock o no

Si

Se setea el campo DISPLAY_STOCK_AVAILABILITY de PRODUCT

isplayStockQuantity

bit

Indicador para mostrar cantidad de unidades en stock

Si

Se setea el campo DISPLAY_STOCK_QUANTITY de PRODUCT

disableBuyButton

bit

Indicador para deshabilitar el botón de compra

Si

Se setea el campo DISABLE_BUY_BUTTON de PRODUCT

disableWishlistButton

bit

Indicador para deshabilitar el botón de lista de favoritos

Si

Se setea el campo DISABLE_WISHLIST_BUTTON de PRODUCT

basepriceBaseAmount

money

Monto base

No

Se setea el campo BASEPRICE_BASE_AMOUNT de PRODUCT

basepriceBaseUnitId

int

ID de la unidad de monto base

No

Se setea el campo BASEPRICE_BASE_UNIT_ID de PRODUCT

markAsNew

bit

Indicador si se marca como producto nuevo (permite promocionar productos nuevos)

Si

Se setea el campo MARK_AS_NEW de PRODUCT

newStartDateTime                                         <newStartDateTime format="dd/MM/yyyy"></newStartDateTime>

datetime

Fecha y hora de inicio de período como producto nuevo (se debe considerar el formato enviado a ="dd/MM/yyyy")

No

Se setea el campo NEW_START_DATE_TIME de PRODUCT

newEndDateTime
                                        <newEndDateTime format="dd/MM/yyyy"></newEndDateTime>

datetime

Fecha y hora de fin de período como producto nuevo (se debe considerar el formato enviado a ="dd/MM/yyyy")

No

Se setea el campo NEW_END_DATE_TIME de PRODUCT

displayOrder

int

Orden para ser mostrado/informado

Si

Se setea el campo DISPLAY_ORDER de PRODUCT

published

bit

Indicador de si es publicado o no (visible en la tienda o no )

Si

Se setea el campo PUBLISHED de PRODUCT

isActive

bit

Indicador de si es activo o no

Si

Se setea el campo IS_ACTIVE de PRODUCT

(no es un campo enviado por servicio, el servicio de importación guarda el dato por defecto en el registro del producto)

datetime

Fecha y hora de creación del producto

Si

Si el registro es nuevo y se está generando, setear el campo CREATION_DATE de PRODUCT con fecha y hora de importación.

(no es un campo enviado por servicio, el servicio de importación guarda el dato por defecto en el registro del producto)

datetime

Última actualización del producto (fecha y hora)

Si

Si el registro ya existía, setear el campo LAST_UPDATE de PRODUCT con la fecha y hora de importación.

defaultItemCode

int

Código ID del ítem por defecto

No

Se debe enviar el código del ítem que se desea como default.
En la importación se setea el campo DEFAULT_ITEM_ID de PRODUCT

categories

List

Lista de categorías departamentales a las que se asociará al producto

No

Estas categorías son web no la del ítem. Es opcional. De recibirse se genera la asociación en la entidad PRODUCT_CATEGORY.
Son las mismas categorías departamentales de CO_MRHRC_GP donde debe tener activo el flag IS_WEB

specificationAttributes

List

Lista de atributos de especificaciones del producto

No


productAttributes

List

Lista de atributos de producto

No



La lista categories debe contener entidades "category", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

String (10)

Código de la categoría departamental

Si

Se valida que exista el código de la categoría departamental, sino informar con error.
Se genera un registro en PRODUCT_CATEGORY con el id de la categoría departamental (seteando el campo ID_MRHRC_GP) y el id del producto (seteando el campo PRODUCT_ID)

disabled

boolean

Indicador si está o no habilitado




La lista specificationAttributes debe contener entidades "specificationAttribute", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

varchar(50)

Código del atributo de especificación

Si

Se valida que exista el código del atributo de especificación, sino informar error (en SPEC_ATTR) Genera registro en PRODUCT_SPEC_ATTR

value

varchar

Nombre del atributo de especificación

Si

Se setea el campo SPEC_ATTR_OPTION_ID de la tabla PRODUCT_SPEC_ATTR con el ID que corresponda al campo NAME de SPEC_ATTR_OPTION

showOnProductPage

Boolean

Indicador si se muestra o no en la página

Si

Se setea el campo SHOW_ON_PRODUCT_PAGE de la tabla PRODUCT_SPEC_ATTR

attributeType

Varchar (25)

Tipo de dato. Lista posible de valores:

  • UNKNOWN
  • SELECT
  • CHECKBOX
  • RADIO_BUTTON
  • TEXT_AREA
  • TEXT_INPUT
  • DATE
  • DATE_TIME
  • EMAIL
  • LINK

Si

Se setea el campo ATTR_CONTROL_TYPE de la tabla PRODUCT_SPEC_ATTR

customValue

Varchar (400)


No

Se setea el campo CUSTOM_VALUE de la tabla PRODUCT_SPEC_ATTR

displayOrder

Int

Orden con el que se informa/muestra la especificación

Si

setea el campo DISPLAY_ORDER de la tabla PRODUCT_SPEC_ATTR

disabled

boolean

Indicador si está o no habilitado

Si

De recibirse este campo se elimina el atributo de especificación


La lista productAttributes debe contener entidades "productAttributes", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

varchar(50)

Código del atributo de especificación

Si

Se valida que exista el código del atributo de especificación, sino informar error (en SPEC_ATTR) Genera registro en PRODUCT_PRODUCT_ATTR relacionando el ID del atributo con el ID del producto (campos PRODUCT_ID y PRODUCT_ATTR_ID)

isRequired

Boolean

Indicador de si el atributo es requerido de configuración de parte del cliente para la compra del producto

Si

Se setea el campo IS_REQUIRED de la tabla PRODUCT_PRODUCT_ATTR

attributeType

Varchar (25)

Tipo de dato. Lista posible de valores:

  • UNKNOWN
  • SELECT
  • CHECKBOX
  • RADIO_BUTTON
  • TEXT_AREA
  • TEXT_INPUT
  • DATE
  • DATE_TIME
  • EMAIL
  • LINK

Si

Se setea el campo ATTR_CONTROL_TYPE de la tabla PRODUCT_PRODUCT_ATTR

displayOrder

Int

Orden con el que se informa/muestra la especificación

Si

Se setea el campo DISPLAY_ORDER de la tabla PRODUCT_PRODUCT_ATTR

disabled

boolean

Indicador si está o no habilitado

Si

NOTA: Este campo de ser recibido en el servicio como disabled, se eliminará el atributo. No existe un campo en el modelo de datos donde se registre sino que permite la baja del atributo.


Múltiples categorías por producto

Esta información se encuentra incluida dentro del servicio de producto

Atributos en las categorías

Permite asociar atributos de producto a una categoría, puede ser enviada una lista de categorías con sus atributos
Nombre del Servicio: productAttributeCategory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

productAttributeCategories

List

Lista de atributos a asociar a categorías (crear asociaciones o actualizar)

Si


La lista productAttributeCategories debe contener entidades "productAttributeCategory", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

hierarchycode

varchar(10)

Código de la categoría departamental

Si

Al importar se deberá generar el registro en la PRODUCT_ATTR_CATEGORY. Se debe validar que exista el código recibido en la tabla CO_MRHRC_GP campo CD_MRHRC_GP sino informar error

ProductAttributeCode

varchar(50)

Código del atributo

Si

Se debe validar que exista el código recibido en la tabla PRODUCT_ATTR campo CODE sino informar error

isTemplate

Boolean

Indicador si es un atributo template para la categoría departamental

Si

Default: true
Se setea el campo IS_TEMPLATE de PRODUCT_ATTR

isFilter

Boolean

Indicador si es un atributo filtro para la categoría departamental

Si

Default: true
Se setea el campo IS_FILTER de PRODUCT_ATTR

disabled

Boolean

Indicador si esta deshabilitado el atributo para la categoría departamental

Si

Default: false
Se setea el campo IS_DISABLED de PRODUCT_ATTR


Atributos de especificación en las categorías

Permite asociar atributos de especificación de un producto a una categoría, puede ser enviada una lista de categorías con sus atributos
Nombre del Servicio: specificationAttributeCategory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

specificationAttributeCategories

List

Lista de atributos de especificación a asociar a categorías (crear asociaciones o actualizar)

Si


La lista specificationAttributeCategories debe contener entidades "specificationAttributeCategory", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

hierarchycode

varchar(10)

Código de la categoría departamental

Si

Al importar se deberá generar el registro en la SPEC_ATTR_CATEGORY. Se debe validar que exista el código recibido en la tabla CO_MRHRC_GP campo CD_MRHRC_GP sino informar error

specificationAttributeCode

varchar(50)

Código del atributo de especificación

Si

Se debe validar que exista el código recibido en la tabla SPEC_ATTR campo CODE sino informar error

isTemplate

Boolean

Indicador si es un atributo template para la categoría departamental

Si

Default: true
Se setea el campo IS_TEMPLATE de SPEC_ATTR_CATEGORY

isFilter

Boolean

Indicador si es un atributo filtro para la categoría departamental

Si

Default: true
Se setea el campo IS_FILTER de SPEC_ATTR_CATEGORY

disabled

Boolean

Indicador si esta deshabilitado el atributo para la categoría departamental

Si



Atributos de producto

Permite crear o actualizar atributos de producto.
Nombre del Servicio: productAttribute
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

productAttributes

List

Lista de atributos de producto (crear o actualizar)

Si


La lista productAttributes debe contener entidades "productAttribute", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

varchar(50)

Código del atributo del producto

Si

Al importar se deberá generar el registro en la PRODUCT_ATTR. Si existe el código lo actualiza

name

varchar(max)

Nombre del atributo del producto

Si

Se setea el campo NAME de PRODUCT_ATTR.

description

varchar(max)

Descripción

No

Si no viene informado setear con el mismo valor del campo name en el campo DESCRIPTION de PRODUCT_ATTR.

disabled

Boolean

Indicador si está deshabilitado o no el atributo para el producto

No

Default: true
Se setea el campo IS_DISABLED de PRODUCT_ATTR.

productAttributeOptions

List

Lista de opciones del atributo del producto

Si



La lista productAttributeOptions debe contener entidades "productAttributeOption", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

String

Código del atributo del producto

Si

Al importar se deberá generar el registro en la PRODUCT_ATTR_OPTION si no existe. Si existe el código lo actualiza

name

varchar(MAX)

Nombre de la opción del atributo

Si

Se setea el campo NAME de PRODUCT_ATTR_OPTION

colorSquaresRgb

varchar(100)

Código del color RGB

No

Se setea el campo COLOR_SQUARES_RGB de PRODUCT_ATTR_OPTION

disabled

boolean

Indicador si está deshabilitado o no el atributo para el producto

No

Default: false


Atributos de especificación

Permite crear o actualizar atributos de especificación de producto.
Nombre del Servicio: specificationAttribute
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

specificationAttributes

List

Lista de atributos de especificación de producto (crear o actualizar)

Si


La lista specificationAttributes debe contener entidades "specificationAttribute", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

code

varchar(50)

Código del atributo de especificación del producto

Si

Al importar se deberá generar el registro en la SPEC_ATTR. Si existe el código lo actualiza

name

varchar(max)

Nombre del atributo de especificación del producto

Si

Se setea el campo NAME de SPEC_ATTR.

displayOrder

int

Orden en el que se muestra/informa dentro de la lista

No

Se setea el campo DISPLAY_ORDER de SPEC_ATTR. Si el "displayOrder" no viene informado se le asigne el siguiente al último.

disabled

Boolean

Indicador si está deshabilitado o no el atributo de especificación de producto

No

Default: false

specificationAttributeOptions

List

Lista de opciones del atributo del producto

Si



La lista specificationAttributeOptions debe contener entidades "specificationAttributeOption", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

Observaciones

name

varchar(MAX)

Nombre de la opción del atributo de especificación

Si

Al importar se deberá generar el registro en la SPEC_ATTR_OPTION chequeando por el SPECIFICATION_ATTRIBUTE_ID si no existe. Si existe lo actualiza.

colorSquaresRgb

varchar(100)

Código del color RGB

No

Se setea el campo COLOR_SQUARES_RGB de SPEC_ATTR_OPTION

displayOrder

int

Orden en el que se muestra/informa dentro de la lista

No

Se setea el campo DISPLAY_ORDER de SPEC_ATTR_OPTION.

disabled

boolean

Indicador si está deshabilitado o no la opción del atributo de especificación para el producto

No

Default: true
Se setea el campo IS_DISABLED de SPEC_ATTR_OPTION.


Servicios de actualización maestros de medios de pagos

A continuación se describen los servicios que se ofrecen para la actualización de medios de pago, y sus entidades relacionadas. Cada uno de los servicios permite crear o actualizar las entidades mediante la operación "createOrUpdate".
Para no repetir para cada servicio los valores de retorno en caso de éxito, se describirá aquí los campos relevantes que sirven para todos los casos, y cualquier particularidad será descripta en el punto correspondiente.
Los valores de retorno relevantes son:

Propiedad

Tipo de dato

Descripción

ack

String

Código de respuesta. Si es 0, significa que el servicio se ejecutó exitosamente. Cualquier otro valor indica que ocurrió algún error, en cuyo caso se podrá obtener una descripción del mismo desde la propiedad "message".

message

String

Descripción del error que pudiera haber ocurrido.


Ejemplos de requerimientos para cada servicio pueden encontrarse en el apéndice.

Medios de Pago

Nombre del Servicio: tender
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

tenders

List

Lista de medios de pago a crear o actualizar.

Si

La lista tenders debe contener entidades "tender", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

tenderCode

String (4)

ID del medio de pago.
En los medios de pago que se validan por VTOL, deben respetarse los códigos que VTOL maneja:
AMEX AM
Argencard AC
Cabal CB
Cabal 24 CV
Diners DI
Maestro MA
Mastercard MC
Mastercard Debit MD
Naranja TN
Nativa NV
Nativa MC NM
Visa VI
Visa Débito EL

Si

descriptor

String (25)

Descriptor del medio de pago.

Si

type

Integer (4)

ID del grupo de medio de pago. En este campo, se debe enviar alguno de los siguientes valores correspondiente a la tabla CO_CLS_TND, campo CD_CLS_TND
1-Cash (sólo se admite un medio de pago del tipo efectivo habilitado para moneda local)
2-Check
3-Coupon
4-Card
5-Cash on delivery
6-Nota de crédito
7-Crédito
8-Gift Certificate
9- Charge Card
10-Loyalty Card
11- Affinity Card

Si

disabled

Boolean

Flag de deshabilitado

Si

Parámetros de tienda


Permite actualizar la información de la configuración de los medios de pago a nivel tienda.
Nombre del Servicio: storeTender
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

storeTenders

List

Lista de configuración de medios de pago para la tienda a crear o actualizar.

Si


La lista storeTenders debe contener entidades "storeTender", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Tipo de medio de pago

Requerido

tenderTypeCode

String(25)

Tipo del medio de pago.

TODOS

Si

workStationGroup

Integer(4)

Nombre de la categoría de terminales

TODOS

No

supervisorRequired

Boolean

Flag requiere autorización del supervisor

TODOS

Si

maxChangeAmount

Decimal (tipo money)

Monto máximo de vuelto

CASH

No

currencySymbol

String(8)

Símbolo de moneda

TODOS

No

foreignCurrency

Boolean

Flag moneda extranjera

CASH

No

foreignCurrencyQuoteFactor

Decimal (tipo money)

Cotización de moneda extranjera

CASH

No

bankRequired

Boolean

Flag requiere banco

CHECK

No

issueDateRequired

Boolean

Flag requiere fecha de emisión

CHECK

No

serialNumberRequired

Boolean

Flag require número de serie

CHECK

No

printerBandReadingEnabled

Boolean

Flag lectura de banda disponible

CHECK

No

amountRequired

Boolean

Flag monto requerido

CUPON

No

verificationAlgorithm

Integer(4)

Método de verificación

CUPON

No

numberLength

Integer(4)

Longitud de tarjeta

CUPON

No

prefixLength

Integer(4)

Longitud de prefijo

CUPON

No

minOnlineAmount

Decimal

Monto mínimo de pago

CARD

No

maxOnlineAmount

Decimal

Monto máximo de pago

CARD

No

offlineAllowed

Boolean

Flag admite offline

CARD

No

maxOfflineAmount

Decimal

Monto máximo de pago en modalidad offline

CARD

No

manualInputAllowed

Boolean

Flag ingreso manual pemitido

CARD

No

mustControlDueDate

Boolean

Flag de control de fecha de vencimiento

CARD

No

mustControlVerificatorDigit

Boolean

Flag de control del dígito verificador

CARD

No

accountNumberRequired

Boolean

Flag de requiere número de cuenta

CARD
CHECK


cvcRequired

Boolean

Flag de control del dígito verificador

CARD

No

cvcLength

Integer(4)

Longitud del CVC

CARD

No

effectiveDateRequired

Boolean

Flag fecha efectiva requerida

CARD

No

lastDigitsInputRequired

Boolean

Flag requiere ingreso de últimos dígitos

CARD

No

pinRequired

Boolean

Flag requiere ingreso de PIN

CARD

No

expirationDateRequired

Boolean

Flag requiere fecha de expiración

NOTA DE CREDITO

No

authorizationCodeRequired

Boolean

Flag requiere código de autorización

CARD
CHECK

No

lotRequired

Boolean

Flag requiere lote

CARD

No

couponRequiredCARD

Boolean

Flag requiere cupón

CARD

No

deferedDateRequired

Boolean

Flag requiere fecha diferida

CHECK

No

accountNumberLength

Integer(4)

Longitud número de cuenta

CHECK

No

bankLength

Integer(4)

Longitud código de banco

CHECK

No

serialNumberLength

Integer(4)

Longitud número de cheque

CHECK

No

bankListRequired

Boolean

Requiere se muestre los bancos disponibles en una lista

CHECK

No

numberIdRequired

Boolean

Requiere documento

CHECK

No

telephoneRequired

Boolean

Requiere teléfono

CHECK

No

isoCode

String(3)

Código ISO del país de la moneda

CASH

No


Parámetros de terminal

Permite actualizar la información de la configuración de los medios de pago a nivel terminal.
Nombre del Servicio: terminalTender
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

terminalTenders

List

Lista de configuración de medios de pago para la terminal a crear o actualizar.

Si


La lista terminalTenders debe contener entidades "terminalTender", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

terminalTenderTypeCode

String(25)

Código de configuración por terminal del medio de pago.
Suele ser igual al código de medio de pago del servicio tender

Si

tender

String(4)

ID del medio de pago informado en el servicio de medio de pago –tender

Si

workStationGroup

Integer(4)

Nombre de la categoría de terminales

No

optionNumber

Integer(4)

Número entero que debe ser único para cada medio de pago

Si

showable

Boolean

Flag que indica si debe mostrarse o no el medio de pago en el menú de selección de medios de pago

Si

descriptor

String(100)

Descripción del medio de pago

Si

accepted

Boolean

Flag de medio de pago aceptado

Si

maxAuthorizedPaymentAmount

Decimal

Monto máximo de pago mayor a cero

Si

maxAuthorizedChangeAmount

Decimal

Monto máximo de vuelto

No

paymentVerificationLimit

Decimal (tipo money)

Monto límite de verificación de pago

No

paymentVerificationMethod

Integer(4)

Método de verificación de pago

No

maxPayments

Integer(4)

Máxima cantidad de pagos mayor a cero

Si

cashdrawerOpeningRequired

Boolean

Flag requiere apertura del cajón de dinero

Si

endorsementRequired

Boolean

Flag de requiere endoso

No

frankingRequired

Boolean

Indica si el medio de pago requiere del franqueo a través de la estación de document insert de la impresora.

No

documentRequired

Boolean

Flag requiere documento del cliente

No

frankingFormatId

Integer

ID del formato de franqueo a imprimir

No

minPaymentAmount

Decimal (tipo money)

Monto mínimo de pago

No

maxPaymentAmount

Decimal (15,4)

Monto máximo de pago mayor a cero

Si

maxAuthorizedCorrectionAmount

Decimal

Monto de corrección autorizada

No

changeAllowed

Boolean

Flag de vuelto permitido para el medio de pago

Si

acceptedIfChangeNotAllowed

Boolean

Flag de medio de pago aceptado si no permite vuelto

Si

allowedInSales

Boolean

Flag de medio de pago admitido en ventas

Si

allowedInRefunds

Boolean

Flag de medio de pago admitido en devoluciones

Si

automaticTenderLoan

Decimal (tipo money)

Medio de pago con dotación automática

No

surchargeType

String(100)

Tipo de recargo

No

surchargeAmount

Decimal (tipo money)

Monto de recargo

No

surchargeItemCode

String(100)

Item al cual se asigna el recargo

No

printFrontReq

Boolean

Requiere impresión en el frente

Si

uniquePayment

Boolean

Único pago admitido en una transacción de venta o devolución

No

originalTenderChange

Boolean

Indica si el medio de pago admite vuelto en la moneda base del sistema. Utilizado sólo en tipo de medio de pago CASH
Si se encuentra definido en NO, calculará el vuelto todo en moneda base.
Si se encuentra definido en SI, calculará el vuelto en misma moneda hasta la minima denominación definida y el resto calculado al tipo de cambio de la moneda base 

No

minDenomChng

Decimal

Valor mínimo de denominación para otorgar vuelto en moneda extranjera. Utilizado sólo en tipo de medio de pago CASH

No

automaticPickup

Boolean

Indica si un medio de pago es autoarqueable ,es decir, si la rendición se realiza de forma automática

No

automaticSafeOutflow

Boolean

Indica si el medio de pago autoarqueable sale de forma automática del safe

No

witnessRequired

Boolean

Indica si el medio de pago requiere testigo en la rendición

No

extDepUpdAllowed

Boolean

indica si el medio de pago admite la edición de la cuenta externa asociada

No

externalDepository

Integer(40)
Varchar (10)

Asocia una cuenta externa al medio de pago
(Código de cuenta externa, campo LO_EXTDST. CD_RPSTY_EXTRN)

No

additionalData1

Booelan

En la rendición, utilizado para solicitar sobres

No

additionalData2

Booelan

En la rendición, utilizado para solicitar numero de lote

No

additionalData3

Booelan

En la rendición, utilizado para solicitar datos adicionales

No

additionalData4

Booelan

En la rendición, utilizado para solicitar datos adicionales

No

additionalData5

Booelan

En la rendición, utilizado para solicitar datos adicionales

No

extraCash

Boolean

Medio de pago admite extraCash

No

conciliationByQuantity

Boolean

Medio de pago se concilia por cantidad de transacciones (en lugar de por monto)

No


Configuración de planes para medios de pago a nivel terminal


Permite actualizar la información de la configuración de los planes asociados a un medio de pago a nivel terminal.
Nombre del Servicio: paymentPlan
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

paymentPlans

List

Lista de configuración de planes asociados a medios de pago a crear o actualizar.

Si


La lista paymentPlans debe contener entidades "paymentPlan", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Tipo de medios de pago

Requerido

paymentPlanCode

String(25)

Código del plan de pagos

CARD

Si

terminalCardConfig


String(25)

Código de configuración por terminal del medio de pago. *Hace referencia a la columna CD_TND_WS de CF_TND_WS, la cual es un código para ser usado por el ERP.

CARD

Si

planId

String(10)

Nombre del plan de pagos

CARD

Si

description

String(70)

Descripción del plan de pagos

CARD

Si

vtolCode

String(50)

Código VTOL

CARD

Si

currency

String(10)

Código de moneda

CARD

No


Configuración de planes de cuotas para medios de pago


Permite actualizar la información de los planes de cuotas asociados a un medio de pago.
Nombre del Servicio: paymentPlanInstallment
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

installments

List

Lista de configuración de planes de cuotas asociados a medios de pago a crear o actualizar.

Si


La lista installments debe contener entidades "installment", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

terminalCardConfigPaymentPlan

String(25)

Identificador del plan de pagos
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla PaymentPlan (campo code)

Si

paymentPlanInstallmentCode

String(25)

Código del plan de cuotas del ERP

Si

installments

Integer(4)

Cantidad de cuotas

Si

surchage

DecimalNumber

Recargo por cantidad de cuotas

Si


Configuración de Formato de Franqueo


Permite actualizar la información de la configuración de los formatos de franqueo asociados a un PLAN DE PAGO.
Nombre del Servicio: frankingFormat
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

frankingformats

List

Lista de configuración de formatos de franqueo a crear o actualizar.

Si


La lista frankingformats debe contener entidades "frankingformat", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

terminalsGroup

Integer(4)

Id de grupo de terminales

No

format

String(MAX)

Texto del franqueo.
Ejemplo del texto, en el cual se puede hacer uso de variables.
===== CHEQUE ENDOSADO =====
CUENTA Nro.: @a
Total $@bbbbbbbbbb
@g

Si

code

String(50)

Código

Si

description

String(50)

Descripción del franqueo. Este código puede ser utilizado por el ERP para identificar al formato de franqueo.

Si


Configuración de Prefijos de tarjetas

Permite actualizar la información de los prefijos asociados a un medio de pago del tipo tarjeta, importando sus datos en la tabla CF_CARD_PREFIXES.
Nombre del Servicio: cardPrefix
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

Prefixes

List

Lista de configuración de prefijos asociados a medios de pago a crear o actualizar.

Si

La lista prefixes debe contener entidades "prefix", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Requerido

Descripción del campo

Observaciones

storeTenderCode

String

Si

Medio de pago

En este campo del servicio, se espera recibir el valor del campo TY_TND de la tabla AS_TND (ej: Mon, GC)

prefixIdentifier

Integer

Si

Identificador del prefijo


rangeFrom

VARCHAR2(25 BYTE)

Si

Rango de prefijo desde


rangeTo

VARCHAR2(25 BYTE)

Si

Rango de prefijo hasta

Si no existe deben enviar el mismo valor que campo rangeFrom

prefixLength

Integer

Si

Longitud del prefijo


cardLength

Integer

Si

Longitud del bin de la tarjeta


enabled

Boolean

Si

Habilitado

 Default true

type

Integer

Si

Tipo: GiftCard/Monedero/Fidelidad

Los valores a enviar pueden ser 3, 4 o 5
Para monedero: 3
Para GiftCard: 4
Para Fidelidad: 5


Notas:

  • El <store> al ir en 0 va para todas las tiendas. Si tuvieran configuración específica de rango de tarjetas por tienda, aquí debería venir el Código de tienda. Por defecto envíen 0.
  • Este servicio permite recibir una lista de prefijos de tarjetas, donde dentro de la lista, pueden venir N <prefix type="bean">

            <prefixes type="list">
                        <prefix type="bean">

Configuración de prefijos de cupones/vales (como medio de pago)

Permite actualizar la información de configuración de los prefijos de cupones/vales. Se popula la tabla CF_COUPON_PREFIXES.
Nombre del Servicio: couponPrefix
Parámetros de entrada:

Propiedad

Tipo de dato

Requerido

Descripción del campo

Observaciones

prefixId

INTEGER

Si

Código del registro de prefijo de cupón


configTenderStoreId

NUMBER(38,0)

Si

Código del medio de pago

Se debe enviar el código del medio de pago informado en el servicio tender tag tenderCode

rangeFrom

VARCHAR(25)

Si

Rango desde


rangeTo

VARCHAR(25)

Si

Rango hasta



Configuración de cupones (para PROMO)

Permite actualizar la información de los prefijos de cupones, importando sus datos en la tabla CF_COUPON.
Nombre del Servicio: CouponConfiguration
Parámetros de entrada:

Propiedad del servicio

Tipo de dato

Requerido

Descripción del campo

Observaciones

identifier

NUMBER(38,0)

Si

ID de cupón

Código del cupón en PROMO (considerar que sea unique) Mediante este código se deberían recibir actualizaciones

couponType

VARCHAR2(10 BYTE)

Si

Tipo de cupón

Enviar "Promo" (de esta manera a futuro podremos manejar otros tipos de cupones de proveedor, etc. En Bridge)

description

VARCHAR2(255 BYTE)

Si

Descripción del cupón


couponLength

NUMBER(38,0)

Si

Longitud del ID de cupón


fromPrefix

VARCHAR2(10 BYTE)

Si

Prefijo de cupón desde


toPrefix

VARCHAR2(10 BYTE)

Si

Prefijo de cupón hasta

Si este dato no lo tienen enviar mismo valor que en fromPrefix

prefixLength

NUMBER(38,0)

Si

Longitud del prefijo


Amount

NUMBER(19,4)

No

Monto de cupón

Opcional. Si no se recibe, se guarda en null

couponFormatID

varchar

No

Tipo de código que tendrá el ID del cupón (ej: EAN13, UPC-A, CODE-128 o Personalizada)

Codificación del ID del cupón. Opcional, si no se recibe, se guarda en null.

Notas:

  • El <store> al ir en 0 va para todas las tiendas. Si tuvieran configuración específica de rango de cupones por tienda, aquí debería venir el Código de tienda. Por defecto envíen 0.
  • Este servicio permite recibir una lista de prefijos de cupones, donde dentro de la lista, pueden venir N <coupon type="bean">

            <coupons type="list">
                        <coupon type="bean">

Servicios de actualización maestros de Impuestos

A continuación se describen los servicios que se ofrecen para la actualización de impuestos, y sus entidades relacionadas. Cada uno de los servicios permite crear o actualizar las entidades mediante la operación "createOrUpdate".
Para no repetir para cada servicio los valores de retorno en caso de éxito, se describirá aquí los campos relevantes que sirven para todos los casos, y cualquier particularidad será descripta en el punto correspondiente.
Los valores de retorno relevantes son:

Propiedad

Tipo de dato

Descripción

Ack

String

Código de respuesta. Si es 0, significa que el servicio se ejecutó exitosamente. Cualquier otro valor indica que ocurrió algún error, en cuyo caso se podrá obtener una descripción del mismo desde la propiedad "message".

Message

String

Descripción del error que pudiera haber ocurrido.


Ejemplos de requerimientos para cada servicio pueden encontrarse en el apéndice.

Categorías impositivas del artículo

Nombre del Servicio: taxCategory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

taxCategories

List

Lista de las categorías impositivas de items a crear o actualizar.

Si


La lista taxCategories debe contener entidades "taxCategory", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (2)

Código de la categoría impositiva del artículo

Si

name

String (50)

Nombre de la categoría impositiva del artículo

Si

Categorías impositivas del cliente

Nombre del Servicio: taxJurisdictionTaxTypeCategory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

taxJurisdictionTaxTypeCategories

List

Lista de las categorías de clientes a crear o actualizar.

Si


La lista taxJurisdictionTaxTypeCategories debe contener entidades "taxJurisdictionTaxTypeCategory", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código de la categoría impositiva del cliente

Si

name

String (50)

Nombre de la categoría impositiva del cliente

Si

invoiceType

String (5)

Serie del comprobante

No







Jurisdicciones impositivas

Nombre del Servicio: taxJurisdiction
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

taxJurisdictions

List

Lista de las jurisdicciones a crear o actualizar.

Si


La lista taxJurisdictions debe contener entidades "taxJurisdiction", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

taxJurisdictionCode

String (25)

Código de la jurisdicción impositiva

Si

name

String (100)

Nombre de la jurisdicción impositiva

Si

type

String (25)

Tipo de jurisdicción impositiva
1: municipal
2: provincial
3: nacional

Si

typeCode

String(15)

Si tipo de jurisdicción 1: Código de la ciudad
Si tipo de jurisdicción 2: Código de la provincia
Si tipo de jurisdicción 3: Código del país

No

authority

String(25)

Autoridad (1)

Si

registerAllowed

Boolean

Indica si la jurisdicción tiene padrón habilitado

No

taxJurisdictionTaxTypes

List

Identificador de la relación impositiva
Si la relación impositiva informada no existiera, se debe crear

No


La lista taxJurisdictionTaxTypes debe contener entidades "taxJurisdictionTaxType", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

taxJurisdictionTaxTypeCategory

String(25)

Identificador de la categoría impositiva del cliente
Nota: debe existir en la base de datos

Si

taxCategoryCode

String(25)

Identificador del tipo de impuesto
Valor posible: IB

Si


Regiones impositivas para tiendas

Nombre del Servicio: storeTaxCategory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

storeTaxCategories

List

Lista de las regiones impositivas de tiendas a crear o actualizar.

Si

La lista storeTaxCategories debe contener entidades "storeTaxCategory", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

storeTaxCategoryCode

String (3)

ID de la categoría de items.

Si

storeTaxCategoryName

String (50)

Nombre de la categoría de ítems.

Si

Reglas de impuestos

Nombre del Servicio: taxRateGroup
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

taxGroupRules

List

Lista de las reglas de impuestos a crear o actualizar.

Si

La lista taxGroupRules debe contener entidades "taxGroupRule", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código de la regla impositiva

Si

name

String(50)

Nombre de la regla impositiva

Si

descripcion

String(100)

Descripción de la regla impositiva

No

jurisdictionNType

Bean

Identificador de la relación impositiva (La estructura puede verse bajo el título "Relaciones impositivas anidadas"
Si la relación impositiva informada no existiera, se debe crear

Si

effectiveDate

Date

Fecha de vigencia

Si

intendedUsageType

String(10)

Uso final del artículo
Valores posibles: Cons (Consumo) / Uso (bienes de uso)

Si

itemTaxCategory

String(25)

Categoría impositiva de artículos
Nota: Debe existir sino da error

Si

storeTaxCategory

String(3)

Región impositiva de la tienda
Nota: Debe existir sino da error

Si

rateRule

Bean

Identificador del parámetro de la regla (La estructura puede verse bajo el título "Parámetros de reglas de impuestos"
Si el código no existe, se puede crear el parámetro

Si

disabled

Boolean

Deshabilitado

Si

Relaciones impositivas anidadas

Permite dar de alta la relación entre una jurisdicción, el tipo de impuesto y la categoría impositiva del cliente
La entidad taxJurisdictionTaxType posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

jurisdiction

Bean

Código de la jurisdicción impositiva

Si

type

Bean

Identificador de la categoría impositiva del cliente

Si

taxCategory

Bean

Identificador del tipo de impuesto
Valores posibiles: IVA, IB, MNC

Si


Jurisdicción

Propiedad

Tipo de dato

Descripción

Requerido

taxJurisdictionCode

String(25)

Identificador de la jurisdicción
Ejemplo: BA= Buenos Aires

Si

Categoría del cliente

Propiedad

Tipo de dato

Descripción

Requerido

code

String(25)

Identificador de la categoría impositiva del cliente
Ejemplo: IBBCM

Si

Impuesto

Propiedad

Tipo de dato

Descripción

Requerido

code

String(25)

Identificador del tipo de impuesto
Valores posibiles: IVA, IB, MNC

Si


Parámetros de reglas de impuestos

Permite dar de alta el parámetro a asociar a la regla de impuestos. Si el código informado existiera en el modelo, no es necesario enviar el resto de los campos requeridos. Sin embargo, si alguno de los campos de esta entidad fuera enviado cuando el código de parámetro ya exista en el modelo, los campos serán actualizados.
Se validará que los campos requeridos sean enviados únicamente cuando el código no exista en el modelo y deba ser creado.
La entidad taxRateRule posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String (25)

Código del parámetro de la regla impositiva

Si

name

String(50)

Nombre del parámetro de la regla impositiva

Si

cappedTaxAmount

Decimal(8,2)

Monto máximo a percibir

No

minimumTaxableAmount

Decimal(8,2)

Monto mínimo base imponible

No

percent

Decimal(5,2)

Porcentaje de la alicuota

No

netTaxableAmount

Boolean (estrela)

Aplica sobre el monto neto
Nota: sólo uno de los campos de aplicación, debe estar en true

Si

netWithTaxTaxableAmount

Boolean (estrela)

Aplica sobre el monto neto + impuestos
Nota: sólo uno de los campos de aplicación, debe estar en true

Si

netWithVATTaxableAmount

Boolean (estrela)

Aplica sobre el monto neto + IVA
Nota: sólo uno de los campos de aplicación, debe estar en true

Si

totalAmountTaxableAmount

Boolean (estrela)

Aplica sobre el monto total
Nota: sólo uno de los campos de aplicación, debe estar en true

Si

unifiedFactor

Decimal(5,2)

Factor Unificado

Si

rateClass

String (10)

Código de la clase de impuestos (Si el código no existe, se puede crear la clase)

Si

taxOnShipmentLocationFlag

Boolean

Aplica sobre domicilio de entrega/territorial

No (df=false)

shipmentLocationTaxPercent

Decimal (8,2)

Porcentaje de alícuota para domicilio de entrega *

No


Servicios de actualización de Usuarios y Vendedores.

A continuación se describen los servicios que se ofrecen para la actualización de usuarios y vendedores, y sus entidades relacionadas. Para la creación y edición de usuarios, se creo una operación "createOrUpdate", para la actualización de grupos "updateUserGroups" y para la actualización de roles "updateUserRoles".
Para no repetir para cada servicio los valores de retorno en caso de éxito, se describirá aquí los campos relevantes que sirven para todos los casos, y cualquier particularidad será descripta en el punto correspondiente.
Los valores de retorno relevantes son:

Propiedad

Tipo de dato

Descripción

ack

String

Código de respuesta. Si es 0, significa que el servicio se ejecutó exitosamente. Cualquier otro valor indica que ocurrió algún error, en cuyo caso se podrá obtener una descripción del mismo desde la propiedad "message".

message

String

Descripción del error que pudiera haber ocurrido.


Ejemplos de requerimientos para cada servicio pueden encontrarse en el apéndice.

Actualizacion de Usuarios

Nombre del Servicio: user
Operación: createOrUpdate.
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

users

List

Lista de usuarios a crear o actualizar.

Si


La lista users debe contener entidades "user", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

name

String (50)

Nombre o número de legajo del usuario

Si

userName

String (50)

Nombre de usuario

Si para nuevo usuario
No para usuario existente

password

String (50)

Contraseña encriptada

Si para nuevo usuario
No para usuario existente

passwordSalt

String (50)

Contraseña de usuario

Si para nuevo usuario
No para usuario existente

codeStore

Integer (20)

Código de identificación de la tienda

No

email

String (100)

Dirección email del usuario

No

roleGroups

List

Lista de roles para los usuarios

No

disabled

Boolean

Indicador si está habilitado o no el usuario

No (default si no se recibe = false)

mustChangePassword

Boolean

Tiene que cambiar la contraseña cuando la misma caduque o cuando pase los XX días de inactividad.

No. Es opcional. Se tomará por defecto que deba cambiar la contraseña.

blocksOnUserNoActivity

Boolean

Despues de XX cantidad de días de inactividad, se pide cambio de contraseña.

No. Es opcional. Por defecto el usuario se bloquea después de los XX días de inactividad.

accountLocked

Boolean

Determina si la cuenta está bloqueada (30 mins en central y hasta que se modifique la password en tienda por haber ingresado mas de XX veces mal la contraseña).

No, es opional. Por defecto el usuario se encuentra desbloqueado.

lockTime

Date

Fecha a partir de la cual el usuario se bloqueará.

No, es opcional. Por defecto queda null, por lo tanto no tiene fecha específica de bloqueo.

passwordExpire

Boolean

Determina si la contraseña expira o no. Si expira, pasados los XX días del último  cambio de contraseña, se pide cambio de contraseña.

No, es opcional. Por defecto la contraseña expira.

Alternative_user_code

Varchar (25)

Código de usuario alternativo

No, opcional (en proyectos se podrá utilizar como código de usuario del ERP)


Grupos de permisos


La lista roleGroups debe contener entidades "roleGroup", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

group

Integer (4)

Perfil del usuario, existe una lista que se crea con los scripts del setup. En este tag debería venir informado uno de los siguientes valores de perfiles (sólo sobre esta lista):
1 Sistema
2 Administrador
3 Gerente de tienda
4 Finanzas
5 Supervisor
6 Supervisor de caja
7 Cajero
8 Vendedor

Si


Ejemplos de requerimientos para cada servicio pueden encontrarse en el apéndice.

Portavalores


En este servicio se registran los portavalores a listar en la operación de entrega de valores.
Nombre del Servicio: secPersonnel

Propiedad

Tipo de dato

Descripción

Requerido

secPersonnels

List

Lista de portavalores

Si


La lista secPersonnels debe contener entidades "secPersonnel", las cuales poseen la siguiente estructura:
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

secPersonnelCode

String(25)

Número de legajo

Si

secPersonnelLastName

String(50)

Apellido

Si

secPersonnelFirstName

String(50)

Nombre

Si

secPersonnelidentificationType

Integer

Id del tipo de identificador.Puede ser unos de los siguientes valores:

  • 1 (DNI)
  • 2 (Pasaporte)
  • 3 (CUIT)

No

secPersonnelIdentification

String(25)

Número de documento

Si

secPersonnelCategory

String(100)

Categoría

No

flagDisabled

Boolean

Flag deshabilitado

No (Def=false)

listVersion

String(25)

Versión de la lista enviada

No

effectiveDateTime

date

Fecha de generación

No

expirationDateTime

date

Fecha de vencimiento

Si


Servicios de actualización de Clientes

A continuación se describen los servicios que se ofrecen para la actualización de clientes, y sus entidades relacionadas. Cada uno de los servicios permite crear o actualizar las entidades mediante la operación "createOrUpdate" y el servicio customer permite editar los datos impositivos del cliente organización ya creado mediante la operación "update"
Para no repetir para cada servicio los valores de retorno en caso de éxito, se describirá aquí los campos relevantes que sirven para todos los casos, y cualquier particularidad será descripta en el punto correspondiente.
Los valores de retorno relevantes son:

Propiedad

Tipo de dato

Descripción

ack

String

Código de respuesta. Si es 0, significa que el servicio se ejecutó exitosamente. Cualquier otro valor indica que ocurrió algún error, en cuyo caso se podrá obtener una descripción del mismo desde la propiedad "message".

message

String

Descripción del error que pudiera haber ocurrido.


Cliente

Este servicio permitirá informar la lista de clientes con sus datos tanto personales (nombre, apellido, etc), de contacto (domicilio, teléfono, mail) como los fiscales (tipo de categoría impositiva, CUIT, IIBB, etc)
Dependiendo del tipo de cliente podrá ser persona u organización.
Opcional es la asociación de cuentas con tarjetas que pudiera tener un cliente.
Nombre del Servicio: customer
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

customers

List

Lista de clientes a crear o actualizar.

Si

La lista customers debe contener entidades "customer", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

Varchar (50)

Código del cliente

Si

store

Varchar (10)

Código de identificación de la tienda

No

birthCountryCode

String

Nacionalidad

No

highestEducationLevelName

Varchar (100)

Nivel educativo

No

lifeCycleType

Varchar (50)

Tipo de ciclo de vida del cliente en la tienda

No

annualIncomeAmount

Decimal

Ingreso anual

No

maritalStatusCode

Varchar (50)

Estado civil

No

religiousAffiliationName

Varchar (50)

Preferencia religiosa

No

itemSellingPriceNumber

int

Lista de precios asociada al cliente (debe ser un nro de lista existente en tienda) Opcional

No

customerAccounts

List

Cuentas del cliente con el retailer (ver "Cuenta del cliente" para el detalle de su estructura)
Es opcional (se utiliza para asociar cuentas y tarjetas) Si no se enviará esta información se podrá enviar la lista vacía
<accounts type="list"></accounts>

No

party

Bean

Entidad que representa al Participante con sus datos (la estructura puede verse bajo el título "Participantes")

Si

Email

Varchar (100)

Direccion de email (se utilizará generar el usuario web para Bridge Web)

No

Participantes

Se informa detalle sobre el cliente, el cual dependiendo de si es persona física u organización se requieren de algunos datos puntuales:

  • Persona física: firstName, lastName, genderType, type, birthday, month year
  • Organización: name, type, taxesRegistrations
      • Ambos: identifications, roleAssignments

La entidad partyData posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

firstName

Varchar (50)

Primer nombre (Persona Física)

No

lastName

Varchar (50)

Apellido (Persona Física)

No

genderType

Char (1)

Genero (Persona Física) "F" o "M"

No

name

Varchar (150)

Nombre de la organización (Organizacion)

No

typecode

Varchar (3)

Tipo de participante. Posibles valores: PRS o OGN
Persona (PRS) o Organización (OGN)

Si

birthCountryCode

Varchar (15)

Nacionalidad (se debe enviar el código. Para Argentina enviar ARG)

Código

País

ARG

Argentina

BOL

Bolivia

BRA

Brazil

CHL

Chile

ECU

Ecuador

MEX

México

PAN

Panamá

PRY

Paraguay

PER

Peru

URY

Uruguay

VEN

Venezuela

No

birthDayNumber

Integer

Dia de nacimiento

No

birthMonthNumber

Integer

Mes del nacimiento

No

birthYearNumber

Integer

Año de nacimiento

No

roleAssignments

List

Lista de roles que puede tener el participante (La estructura puede verse bajo el título "Rol del participante", ver "Rol del participante")

Si

identifications

List

Lista de identificaciones del participante (La estructura puede verse bajo el título "Identificaciones", ver "Identificaciones")

Si

taxesRegistration

List

Lista de impuestos del cliente (La estructura puede verse bajo el título "Impuestos", ver "Impuestos") Es opcional.

No


Rol del participante

Los roles de un participante permiten definir que tipo de relación mantiene el participante con el retailer, pudiendo ser su cliente, empleado, etc.
La asignación de rol para el participante es requerida. La lista no puede venir vacía. El tipo de rol del cliente, es el dato que el POS utilizará para su envío a PROMO para cálculo de promociones por tipo de cliente.
La lista roleAssignments debe contener entidades "partyRoleAssignment", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

partyRole id

Varchar (15)

Identificador del rol.
Este campo será utilizado para el envío a PROMO por tipo de cliente. Este listado es del tipo de roles que se crean por setup en la instalación.
Puede ser unos de los siguientes valores:

  1. (Cliente)
  2. (Empleado)
  3. (Posible cliente)
  4. (Proveedor)
  5. (Ejecutivo de ventas)
  6. (Ejecutivo de compras)

Si

Name

Varchar

Nombre del rol
Se valida que corresponda al nombre del rol indicado en el campo partyRoleId (campo NM_RO_PRTY)

Si

effectiveDate

Date

Fecha de inicio de vigencia del rol

Si

expirationDate

Date

Fecha de expiración del rol

Si

statusCode

Integer

Estado de la asignación del rol al party

No

contactMethods

List

Lista de métodos de contacto (La estructura puede verse bajo el título "Metodos de contacto" , ver "Metodos de contacto")

SI
(al menos debe tener uno)

Metodos de contacto del cliente

Un cliente puede tener más de un medio de contacto con el retailer. Por cada método de contacto del cliente (ej: laboral, particular) se podrá recibir una dirección, un teléfono, un mail
La lista contactMethods debe contener entidades "partyContactMethod", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

purposeType id

Integer

Id del tipo de propósito del contacto. El listado de los valores ya precargados por setup son los siguientes valores:
1 – Emergencia
2 – Consulta (default)

Si

methodType id

Integer

Id del tipo de método de contacto. Estos valores vienen configurados en el setup o podrán ser ajustados por BM.
Puede ser unos de los siguientes valores:
1 – Particular
2 – Laboral

Si

effectiveDate

Date

Fecha de inicio vigencia

Si

expirationDate

Date

Fecha expiración del contacto

Si

address

Bean

Domicilio (La estructura puede verse bajo el título "Domicilio", ver "Domicilio")

No

emailAddress

Bean

Correo Electronico(La estructura puede verse bajo el título "Correo electrónico", ver "Correo electrónico")

No

telephone

Bean

Telefono(La estructura puede verse bajo el título "Telefono" , ver "Telefono")

No

Domicilio

Permite dar de alta la dirección de un cliente para un determinado tipo de contacto con el mismo. Es requerido contar con la primera línea de la dirección, su ciudad.
La entidad adress posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

city

Bean

Ciudad. (La estructura puede verse bajo el título "Ciudad", ver "Ciudad")

Si

country

Bean

País. (La estructura puede verse bajo el título "País", ver "País")

No

state

Bean

Estado. (La estructura puede verse bajo el título "Estado", ver "Estado")

No

firstLine

Varchar (150)

1ra línea de la dirección

Si

secondLine

Varchar (100)

2da línea de la dirección

No

thirdLine

Varchar (100)

3ra línea de la dirección

No

fourthLine

Varchar (100)

4ta línea de la dirección

No

postalCode

Varchar (20)

Código postal

No

postalCodeEx

Varchar (20)

Extensión del código postal

No


Ciudad

La entidad ciudad posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

Varchar (15)

Código de ciudad
Enviar campo CODE de tabla RS_CITY

Si


País

La entidad país posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

Varchar (15)

Código de país
Enviar campo CODE de la tabla RS_COUNTRY

Si


Estado

La entidad estado posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

Varchar (15)

Código de estado
Enviar campo CODE de la tabla RS_STATE

Si


Correo electrónico

La entidad emailAdress posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

name

Varchar (100)

Correo Electronico

Si

Telefono

La entidad telephone posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

areaCode

Varchar (6)

Código de área

Si

telephoneNumber

Varchar (20)

Número de teléfono local

Si

countryCode

Varchar (3)

Código de país

Si

extensionNumber

Varchar (15)

Número de extensión telefónica

No

completeNumber

Varchar (32)

Número telefónico completo

No

Identificaciones

Las identificaciones asociadas al cliente permitiendo registrar su documento, pasaporte o CUIT. Si un cliente es del tipo persona tendrá su DNI o pasaporte. Un cliente del tipo organización su CUIT.

  • La lista de identificaciones no puede estar vacía. En caso de que el cliente no sea consumidor final, se valida que la primera identificación sea tipo CUIT (Requisito de la impresora fiscal)

La lista "identifications" debe contener entidades "partyIdentification", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

identificationType id

Integer

Id del tipo de identificador.Puede ser unos de los siguientes valores:

  • 1 (DNI)
  • 2 (Pasaporte)
  • 3 (CUIT)

Si

identifierValue

Varchar (20)

Nro de la identificación

Si

issueDate

Date

Fecha de emisión de la identificación

No

expirationDate

Date

Fecha de expiración de la identificación

No

Impuestos

La lista de impuestos asociadas al cliente, permiten tener su información fiscal dependiendo sea un participante del tipo persona u organización (CUIT e IIBB)
Es opcional si es del tipo persona, pero requerido para una organización.
La lista taxRegistrations debe contener entidades "taxRegistration", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

number

Varchar (30)

Número de registro (nro de CUIT o de IIBB)

Si

name

Varchar (50)

Nombre de la persona u organización para el registro (es solo informativo para dejar registro del tipo de registro impostivo del cliente. Ej: "Resp iscripto IVA")

Si

taxTypes

List

Tipos de impuestos (La estructura puede verse bajo el título "Tipos de impuestos", ver "Tipos de impuestos")

Si

Tipos de impuestos

Se informarán todos los datos impositivos del cliente referidos a certificado de eximición (si los tuviera) y los datos de alícuota del mismo (si tuviera una diferencial por padrón)
La lista taxTypes debe contener entidades "taxRegistrationTaxType", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

jurisdictionNType

Bean

Identificador del tipo de jurisdicción e impuesto (La estructura puede verse bajo el título "Tipo de jurisdicción e impuestos", ver "Relaciones impositivas anidadas"

Si

inscEffectiveDate

Date

Fecha efectiva desde la cual la jurisdicción reconoce el registro impositivo del cliente

Si

inscExpirationDate

Date

Fecha de expiración desde la cual la jurisdicción ya no reconoce el registro impositivo del cliente

Si

unifiedFactor

Integer

Coeficiente unificado (es un valor que se le asigna al cliente en base a su nivel de facturación que permite eximirlo del cobro de la alícuota si el coeficiente unificado del cliente supera el determinado valor configurado para el coeficiente unificado para el impuesto)

No

certificates

List

Lista de certificados(La estructura puede verse bajo el título "Certificados", ver "Certificados")
Es opcional y se informan los certificados de eximición de IIBB

No

aliquot

decimal

Alícuota del cliente (es el porcentaje que se debe aplicar de percepción según padrón, en caso de contar con esta alícuota, se utilizará ésta en lugar de la alícuota configurada por defecto para el impuesto, siempre y cuando la misma se encuentre en vigencia fecha de alícuotas vigentes)

No

aliqEffectiveDate

date

Fecha de vigencia de alícuota (desde) Si se envía la alícuota se validará la fecha de vigencia en el POS

No

aliqExpirationDate

date

Fecha de vigencia de alícuota (hasta) Si se envía la alícuota se validará la fecha de vigencia en el POS

No

Certificados

Es una lista opcional. Su fin es informar los certificados de eximición de IIBB con su vigencia y su porcentaje de eximición del cliente. Estos certificados deben estar relacionados con la jurisdicción en la cual el cliente se encuentre registrado.
Si no tiene certificados asociados la lista irá vacía. <certificates type="list"></certificates>
La lista certificates debe contener entidades "certificate", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

sequenceNumber

Integer

Número secuencia para los certificado de exención, ya que podrían recibirse más de un certificado cada uno con vigencia y jurisdicción diferente

Si

certificateIssueDate

Date

Fecha de validez del certificado de exención (desde)

Si

certificateExpirationDate

Date

Fecha de vencimiento del certificado de exención (hasta)

Si

percentage

real

Porcentaje de liberación impositiva

Si

rateClass

Bean

Código de clase de impuesto La estructura puede verse bajo el título "Clase de impuesto", ver "Clase de impuesto")

Si


Clase de impuesto

La entidad clase de impuesto posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

Varchar (25)

Código de clase de impuesto
(lista válida: IIBBBsAs, IIBBSL, IIBBStFe, IIBBTU,
IVA, IVAPer)

Si


Relaciones impositivas anidadas

Permiti definir cuál es el tipo de impuesto, la categoría del cliente ante ese impuesto y la jurisdicción

Propiedad

Tipo de dato

Descripción

Requerido

jurisdiction

Bean

Jurisdicción. La estructura puede verse bajo el título "Jurisdicción", ver "Jurisdicción")

Si

taxCategory

Bean

Categoría impositiva del cliente. La estructura puede verse bajo el título "Categoría del cliente", ver "Categoría del cliente")

Si

type

Bean

Tipo de impuesto. La estructura puede verse bajo el título "Impuesto", ver "Impuesto")

Si

Jurisdicción

Propiedad

Tipo de dato

Descripción

Requerido

taxJurisdictionCode

String(25)

Identificador de la jurisdicción
Ejemplo: BA= Buenos Aires

Si

Categoría del cliente

Propiedad

Tipo de dato

Descripción

Requerido

code

String(25)

Identificador de la categoría impositiva del cliente
Ejemplo: IBBCM

Si

Impuesto

Propiedad

Tipo de dato

Descripción

Requerido

code

String(25)

Identificador del tipo de impuesto
Valores posibiles: IVA, IB, MNC

Si


Cuenta del cliente (no implementado el servicio)

Las cuentas pueden ser del tipo de lealtad o crédito (es una lista adicional que puede tener un cliente asociado, la cual es opcional. Se utiliza para asociar cuentas y sus tarjetas) Si no se enviará esta información se podrá enviar la lista vacía: <accounts type="list"></accounts>
La lista accounts debe contener entidades "account", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String

Código de identificación de la cuenta

Si

typeCode

String

Tipo de cuenta

No

name

String

Nombre de cuenta

Si

customerIdentityRequired

Boolean

Identificacion requerida

No

loyaltyProgramId

Integer

Identificador del tipo de cuenta Loyalty

No

loyaltyProgram

String

Programa del tipo de cuenta Loyalty

No

loyaltyCumulativeNetSalesAmount

Decimal

Valor neto acumulado asociado a una cuenta del tipo Loyalty

No

cards

List

Lista de Tarjetas (ver estructura en: "Tarjetas asociadas a la cuenta")

No

typeCode

String

Tipo de cuenta asociada

Si

customerIdentityTypeCode

String

Tipo de identificación requerida

No

frequentShopperPoints

Integer

Punto de compras frecuentes

No

effectiveDate

Date

Fecha de registro de la cuenta

No

expirationDate

Date

Fecha de expiración de la cuenta

No

discountAmount

Decimal

Monto de descuento

No

discountPercent

Decimal

Porcentaje de descuento

No


Tarjetas asociadas a la cuenta (no implementado el servicio)

En esta lista se podrán informar aquellas tarjetas que se encuentran asociadas a una determinada cuenta que tenga el cliente. Esta lista viene asociada a una cuenta específica del cliente.
La lista cards debe contener entidades "card", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

number

String

Código de identificación de la cuenta

Si

expirationDate

Date

Fecha de expiración

Si

primaryAccountNumber

String

Número de cuenta primario

Si

issueSequenceNumber

String

Dígitos codificados en el track 2 de la tarjeta

No


Servicios de actualización de Negocio

A continuación se describen los servicios que se ofrecen para la actualización de entidades de negocio. Cada uno de los servicios permite crear o actualizar las entidades mediante la operación "createOrUpdate".
Para no repetir para cada servicio los valores de retorno en caso de éxito, se describirá aquí los campos relevantes que sirven para todos los casos, y cualquier particularidad será descripta en el punto correspondiente.
Los valores de retorno relevantes son:

Propiedad

Tipo de dato

Descripción

ack

String

Código de respuesta. Si es 0, significa que el servicio se ejecutó exitosamente. Cualquier otro valor indica que ocurrió algún error, en cuyo caso se podrá obtener una descripción del mismo desde la propiedad "message".

message

String

Descripción del error que pudiera haber ocurrido.


Centros emisores

Este servicio permitirá informar la lista de centros emisores
Nombre del Servicio: broadcastCenter
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

broadcastCenters

List

Lista de centros emisores a crear o actualizar.

Si

La lista broadcastCenters debe contener entidades "broadcastCenter", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String

Código del centro emisor

Si

disabled

Boolean

Deshabilitado

No

store

String

Tienda

Si

workstation

String

Terminal

No

storeReceipts

List

Lista de resoluciones fiscales / CAIs asociados al centro emisor

No


La lista storeReceipts debe contener entidades "storeReceipt", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

invoiceType

String

Código del tipo de comprobante

Si

fiscalResolution

String

Resolución Fiscal / CAI

Si

dateFrom

Date

Fecha de inicio

Si

dateTo

Date

Fecha de fin

Si

rangeFrom

Integer

Rango desde

No

rangeTo

Integer

Rango hasta

No

disabled

Boolean

Deshabilitado

No


Servicios de módulo de abastecimiento

Mediante la importación de una interface, se genera un nuevo documento fiscal en la base de datos. No será necesaria la intervención del operador para que el documento fiscal esté disponible en la administración de documentos fiscales. El estado con que se importa el documento es Pendiente Recepción. Datos de cabecera del documento fiscal importado: Documento fiscal
Nombre del Servicio: advancedShipmentNotice  Parámetros de entrada:
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

advanceShipmentNotices

List

Lista de documentos fiscales.

Si

La lista advanceShipmentNotices debe contener entidades "advanceShipmentNotice", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

destinationRetailStoreID

String (20)

Código de la tienda / estación

Si

supplier

String (100)

Código del proveedor

Si

contractReferenceNumber

Varchar(255)

Documento fiscal del proveedor

Si

originatorNumber

Integer

Número del pedido externo del proveedor si existiera

No

createDateTimestamp

date

Fecha de imputación del documento fiscal

Si

receiptNumber

String (50)

Número del documento fiscal o del documento de devolución a proveedor o del documento de recepción

Si

receiptType

String (10)

Tipo de documento fiscal. Valores posibles FC = Recepción NC = Devolución

Si

receiptDate

Date

Fecha del documento fiscal

Si

caiNumber

Integer

Número CAI

No

caiDate

Date

Fecha de Vencimiento CAI

No

pagesQuantity

Integer(2)

Cantidad de Hojas

No

netAmount

Numeric(19,3)

Valor Neto 

Si

exemptAmout

Numeric(19,3)

Valor Exento 

No

taxAmount

Numeric(19,3)

Impuestos Internos 

No

vatAmount

Numeric(19,3)

IVA Base 

No

servicesVATAmount

Numeric(19,3)

IVA Servicios 

No

differencialVATAmount

Numeric(19,3)

IVA Diferencial 

No

ivaTaxAmount

Numeric(19,3)

Percepción IVA 

No

iibbTaxAmount

Numeric(19,3)

Percepción IIBB

No

totalAmount

Numeric(19,3)

Importe total del doc

Si

inventoryControlDocumentLineItems

List

Lista de artículos del pedido

Si


La lista inventoryControlDocumentLineItems debe contener entidades "inventoryControlDocumentLineItem", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

item

String (25)

Código del artículo.

Si

unitBaseCostAmount

Numeric(19,3)

Costo neto del artículo en el documento fiscal

Si

unitTotalCostAmount

Numeric(19,3)

Costo bruto del artículo en el documento fiscal

No

unitCount

Numeric(19,3)

Cantidad del artículo en el documento fiscal

Si

uomUnits

Numeric(19,3)

Cantidad de unidades de la presentación DEFAULT: 1

No

inventoryControlDocumenSerializedtLineItem

Bean

Datos del ítem serializable

No

La entidad inventoryControlDocumentSerializedLineItem posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

serialNumber

String (100)

Nro de serie

No

pedimento

String (100)

Nro de pedimento

No

aduana

String (100)

Aduana

No

customsDate

Date

Fecha aduana

No

aggregateCode

String (100)

Se utiliza cuando el registro corresponde al producto hijo de un kit. En este campo se guardará el código identificador único del producto padre

No


Errores

Al producirse alguna falla durante la ejecución de Bridge Core Client o al informarse algún error por parte del Servidor de Reglas, se lanza una excepción. Esta tiene encapsulada el código de error y la descripción que identifican unívocamente el tipo de error producido.
Cuando en la ejecución de BridgeCore ocurre un error, en la propiedad ack de la response se devuelve el código del mismo y en la propiedad message, el mensaje de dicho error.
Por ejemplo, el siguiente error es retornado cuando se intenta ejecutar algo, y la sesión de la terminal ha expirado:
<bridgeCoreResponse>
<ack>-1</ack>
<message>'000000000100265919ST' no existe. </message>
</bridgeCoreResponse>

Monitoreo de los registros recibidos a través de servicios

Para poder verificar el estado de los registros que fueron enviados desde el ERP a través de los servicios de Bridge, se podrá visualizar dentro de los monitores de Bridge Manager Central por entidad.
Para obtener mayor detalle de la funcionalidad de monitoreo, referenciar el documento Manual de Usuario - Bridge Manager (punto 3.8.5 Monitor de Importación)
A continuación se resume esta operatoria:

  • Desde el monitor de importación se podrán ver los registros recibidos según la entidad (y por estado). Una vez obtenido del listado de registros, se podrá chequear el contenido y detalle de cualquiera de los registros en particular.

  • Desde el monitor de importación se pueden ver los registros recibidos según la entidad (y por estado). Luego se puede visualizar tanto el detalle como el mensaje recibido (mediante el uso de las Acciones)


Acción/contenido
Se podrá visualizar el contenido del envío realizado para esa entidad.

Acción/detalle (detalle de la importación)
Con resultado (procesado/error). En caso de error se detalla porque motivo.

En un escenario donde se envía un lote con varios artículos, si alguno de los artículos tiene un error en su proceso de importación, se reportará con error y el resto se procesaran quedando registrados en la base de datos de Bridge.
Siempre que se puede procesar el registro recibido del ERP, se importa en Bridge Manager y luego se replica a tiendas. En caso de error se mostrará en el listado con el estado error notificando el motivo.
Reproceso
Si se envía un lote de 10 artículos y entre ellos hay erróneos, estos se registran con el resultado de la importación como "Error"; los que están correctos se procesan (los registros correspondientes se importan y se replican). En este caso, el monitor de importación informará al registro con el estado "Parcial" del lote de ítems que enviado, si se selecciona la opción "Detalle", dentro  del menú "Acciones", en dicho  registro, se informarán los items que fueron procesados y los que tuvieron error, pero no se podrán reprocesar nuevamente (cada ítem, de manera individual).
En caso enviar un sólo ítem, y éste se procesa con estado "Error", se podrá seleccionar la opción "Reprocesar", en el menú "Acciones", para volver a  reprocesarlo.

Servicios de exportación

A continuación se detallan los servicios correspondientes a las interfaces de salida

Exportación de PosLog

Introducción

En este apartado se describirá como se lleva a cabo la exportación de PosLog, los cuales pueden corresponder a operaciones de venta, contable, de control, etc.

Definición general

El proceso de exportación de una transacción se realiza en el BM central, luego de que se haya distribuido. Para ello, toma la transacción si cumple con las características correspondientes y la persiste en una intermedia en conjunto con los datos que identifican la transacción.

Proceso de importación de TLOGs

Cada TLOG al ser recibido es guardado en un registro de la tabla impor_receipt de tipo "T2ATransaction" con el contenido comprimido. Un proceso programado toma este registro, distribuye la transacción y registra como SUCCESS el registro de la tabla import_receipt.

Proceso de exportación de TLOGs

Una vez importado el TLOG, un proceso programado (puede ser el mismo de importación) toma los registros de tipo "T2ATransaction" de la tabla import_receipt no exportadas previamente, descomprime el contendido (PosLog) y procede a extraer algunos datos de la transacción. Luego, guarda en una tabla estos datos junto con el xml completo.

Modelo de datos

Exp_poslog

Campo

Tipo

Descripción

Id

Int (auto-incremental)

Numérico generado automáticamente

Trx_rs

Varchar

Código de la tienda que generó la transacción

Trx_ws

Varchar

Código de la terminal que generó la transacción

Trx_seq_nbr

Varchar

Número de secuencia de la transacción

Trx_typ

Varchar

Tipo de transacción

Trx_ts

DateTime

Fecha y hora de finalización de la transacción

Exp_ts

DateTime

Fecha y hora de la exportación

Cld_prd

Int

Código de periodo al que corresponde la transacción

Cld_sub_prd

Int

Código de subperiodo al que corresponde la transacción

Fl_prcssd

Bit

Flag que indica que la transacción fue procesada y que puede ser depurada.
Por defecto false. Lo actualiza el sistema externo que realiza la exportación

Poslog

Varchar (max)

Xml de la trasacción (estrela)

FL_CNCL

Bit

Flag que indica si la transacción fue cancelada

FL_SPN

Bit

Flag que indica si la transacción fue suspendida

FL_TRNG_MODE

Bit

Flag que indica si la transacción fue realizada en modo entrenamiento

FL_CNTGY

Bit

Flag que indica si la transacción fue realizada en contingencia

FL_SENT

Bit

De uso externo. Por defecto false. Lo actualiza el sistema externo que realiza la exportación

CLD_PRD_PRCD

Int

Código de periodo en que se procesó la transacción en el BM. Será distinto que el CLD_PRD sólo cuando la transacción sea desfasada

CLD_SUB_PRD_PRCD

Int

Código de subperiodo en que se procesó la transacción en el BM. Será distinto que el CLD_SUB_PRD sólo cuando la transacción sea desfasada


(estrela) Cuando el CLD_PRD_PRCD <> CLD_PRD y/o CLD_SUB_PRD_PRCD <> CLD_SUB_PRD, entonces se agrega al XML un tag adicional dentro de PosLog con los datos del periodo / subperiodo en que se procesó la transacción. Es decir, el tag existirá sólo cuando se trate de una transacción desfasada
<PosLog>
                <Transaction>
<RetailStoreID>03105</RetailStoreID>
<WorkstationID>01</WorkstationID>
<WorkstationCategoryID>TIE</WorkstationCategoryID>
<TillID>03105TIE9535</TillID>
<TillType>WorkstationCategory</TillType>
<SecondaryTillID>03105Prueba2931</SecondaryTillID>
<SecondaryTillType>Operator</SecondaryTillType>
<SequenceNumber>11</SequenceNumber>
<BusinessDayDate>2019-02-26</BusinessDayDate>
<Period>1</Period>
<Subperiod>2</Subperiod>
<PeriodCode>1</PeriodCode>
<SubPeriodCode>1</SubPeriodCode>

</Transaction>
<EJ/>
<Audit/>
<ProcessedDate>
                <PrcdBusinessDayDate>2019-02-26</PrcdBusinessDayDate>
<PrcdPeriod>1</PrcdPeriod>
<PrcdSubperiod>2</PrcdSubperiod>
<PrcdPeriodCode>1</PrcdPeriodCode>
<PrcdSubPeriodCode>1</PrcdSubPeriodCode>
</ProcessedDate>
</PosLog>

Configuración

Exportación

Para que esté habilitada la exportación de TLOGs, se debe contar con un registro en la tabla export_inbox. Este registro debe contener al menos estos datos:

ID

Export_Entity

Export_Job

(auto-numérico)

PosLog

Una de estas opciones:

  • MasterIntensiveExportJob: Ejecuta cada 30 segundos (por defecto)
  • MasterRegularExportJob: Ejecuta cada 5 minutos
  • MasterDailyExportJob: Ejecuta una vez al día

Parámetros

Los parámetros pueden ser editados ingresando en Configuración -> Exportación. Los parámetros disponibles para este servicio son los siguientes:

Parámetro

Tipo

Descripción

poslog.export.active

Boolean

Indica si la exportación se encuentra activa. El valor por defecto es false

poslog.export.maxRecords

Int

Indica cuantos registros se leerán como máximo en cada ejecución del proceso de exportación. El valor por defecto es 100

poslog.export.format

String

Formato en el que se guardará el TLOG. Los posibles valores son:

  • text: Texto plano
  • base64: Codificado en Base 64
    El valor por defecto es text

poslog.export.duplicated.allowed

Boolean

Indica si se admiten registros con la clave duplicada tienda/terminal/nro

poslog.depuration.days

Int

Días a mantener las transacciones en la tabla intermedia. El valor por defecto es 10

poslog.depuration.ignoreProcessedFlag

Boolean

Indica si debe ignorar el campo fl_prcssd durante la depuración. El valor por defecto es false.


Apéndice

Se detallan ejemplos de los request para la actualización de los catálogos mencionados en el presente documento.
NOTA: para los campos monetarios, se debe enviar el punto decimal (no coma)

Servicio de Usuarios

Actualizacion de usuario

Request:
<bridgeCoreRequest>
  <operation>createOrUpdate</operation>
  <params>
       <users type="list">
<user type="bean">
<name>prueba27</name>
<userName>gonxa8</userName>
<password>4AA101DDC5DC18B1B632E6540805722C</password>
<passwordSalt>A057F651CDA66D6B8C6986D94E91FF7B550CCEA92FC3E7AED2B70B3A66D4B61E</passwordSalt>
<enabled>true</enabled>
<mustChangePassword>true</mustChangePassword>
<blocksOnUserNoActivity>true</blocksOnUserNoActivity>
<accountLocked>true</accountLocked>
<lockTime>16/03/2017</lockTime>
<passwordExpire>true</passwordExpire>
<roleGroups type="list">
<roleGroup type="bean">
<group>Cajero</group>
</roleGroup>
<roleGroup type="bean">
<group>Vendedor</group>
</roleGroup>
</roleGroups>
</user>            
<user type="bean">
                       <name>Gonzalo8</name>
<userName>gonxa8</userName>                   
<password>4AA101DDC5DC18B1B632E6540805722C</password>                                     
<passwordSalt>A057F651CDA66D6B8C6986D94E91FF7B550CCEA92FC3E7AED2B70B3A66D4B61E</passwordSalt>  
<enabled>true</enabled>
<mustChangePassword>true</mustChangePassword>
<blocksOnUserNoActivity>true</blocksOnUserNoActivity>
<accountLocked>true</accountLocked>
<lockTime>16/03/2017</lockTime>
<passwordExpire>true</passwordExpire>
    <roleGroups type="list">  
                           <roleGroup type="bean">
                                  <group>Cajero</group>
                           </roleGroup>
                           <roleGroup type="bean">
                                  <group>Vendedor</group>
                           </roleGroup>
                    </roleGroups>   
             </user>
       </users>
  </params>
</bridgeCoreRequest>

Servicios de actualización de maestros de artículos


El formato general de la Response será genérico, y tendrá dos formatos posibles, dependiendo si la misma se ejecutó correctamente o no.
En caso de que la ejecución del servicio sea correcta, esto no implica que todas las entidades informadas hayan sido procesadas exitosamente. Es responsabilidad del sistema que invoca al servicio, proveer un servicio al cual se le informarán los errores propios del procesamiento de la cada una de las entidades.




Response de ejecución correcta:
<bridgeCoreResponse>
<ack>0</ack>
<message></message>
</bridgeCoreResponse>

Response de ejecución con error:
<bridgeCoreResponse>
<ack>-1</ack>
<message> Excepción no definida.</message>
</bridgeCoreResponse>

Marca del Artículo


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<brands type="list">
<brand type="bean">
<name>BR1</name>
<description>Marca BR1</description>
<disabled>false</disabled>
</brand>
<brand type="bean">
<name>BR2</name>
<description>Marca BR2</description>
<disabled>true</disabled>
</brand>
</brands>
</params>
</bridgeCoreRequest>

Proveedores


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<suppliers type="list">
<supplier type="bean">
<code>PR1</code>
<name>Proveedor1</name>
<fantasyName>Proveedor de Fantasía</fantasyName>
<address>Avda. Santa Fe 1234</address>
<phone></phone>
<email>[email protected]</email>
<fiscalId></fiscalId>
<activeFlag>false</activeFlag>
<caiRequired>true</caiRequired>
<asn>true</asn>
<frequency>true</frequency>
</supplier>
<supplier type="bean">
<code>PR4</code>
<name>Proveedor Nuevo</name>
<fantasyName></fantasyName>
<address></address>
<phone>0341 15555555</phone>
<email>[email protected]</email>
<fiscalId>20-21948886-7</fiscalId>
<activeFlag>true</activeFlag>
<caiRequired>true</caiRequired>
<asn>true</asn>
<frequency>true</frequency>
</supplier>
</suppliers>
</params>
</bridgeCoreRequest>

Niveles de jerarquía de los Artículos


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<merchHierarchyLevels type="list">
<hierarchyLevel type="bean">
<code>DPT1</code>
<description>Nivel 1 </description>
<level>1</level>
<active>true</active>
</hierarchyLevel>
<hierarchyLevel type="bean">
<code>FLY</code>
<description>Nivel 2</description>
<level>2</level>
<active>true</active>
</hierarchyLevel>
</merchHierarchyLevels>
<merchHierarchyGroups type="list">
<hierarchyGroup type="bean">
<code>GRP1</code>
<description>Grupo 1</description>
<level>DPT1</level>
<parentGroup></parentGroup>
<departamentalItemCode>MHG1</departamentalItemCode>
<disabled>true</disabled>
<isWeb>true</isWeb>
</hierarchyGroup>
<hierarchyGroup type="bean">
<code>GRP2</code>
<description>Grupo 2</description>
<level>FLY</level>
<parentGroup>GRP1</parentGroup>
<departamentalItemCode>MHG1</departamentalItemCode>
<disabled>true</disabled>
<isWeb>true</isWeb>
</hierarchyGroup>
</merchHierarchyGroups>
</params>
</bridgeCoreRequest>

Unidades de Medida


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<uoms type="list">
<uom type="bean">
<code>UOM1</code>
<name>Metro</name>
<decQty>1</decQty>
<disabled>false</disabled>
</uom>
<uom type="bean">
<name>UOM2</name>
<name>Centimetro</name>
<decQty>2</decQty>
<disabled>true</disabled>
</uom>
</uoms>
</params>
</bridgeCoreRequest>

Impuesto IVA de los artículos


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<vatTypes type="list">
<vatType type="bean">
<code>2</code>
<name>IVA 21%</name>
<percentage>21</percentage>
<disabled>false</disabled>
</vatType>
<vatType type="bean">
<code>5</code>
<name>IVA 10,5%</name>
<percentage>10.5</percentage>
<disabled>true</disabled>
</vatType>
</vatTypes>
</params>
</bridgeCoreRequest>

Impuestos internos de los artículos


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<internalTaxes type="list">
<internalTax type="bean">
<code>2</code>
<name>Imp. Int. Ley 111</name>
<flagOverValue>true</flagOverValue>
<disabled>false</disabled>
<amountOverPercentage>0.25</amountOverPercentage>
</internalTax>
<internalTax type="bean">
<code>5</code>
<name>Imp. Int. Gaseosas</name>
<flagPercentageOverNetValue>true</flagPercentageOverNetValue>
<disabled>false</disabled>
<amountOverPercentage>2</amountOverPercentage>
</internalTax>
</internalTaxes>
</params>
</bridgeCoreRequest>

Depósitos


Request:
<bridgeCoreRequest>
                <operation>createOrUpdate</operation>
                <params>
                               <locations type="list">
                                               <location type="bean">
                                                    <code>DEP6</code>
                                                    <name>DEP6</name>
<revenueCenter>RCD</revenueCenter>
<itemInventoryState>OnSale</itemInventoryState>
<saleAllowed>true</saleAllowed>
                                               </location>
                                               <location type="bean">
                                                    <code>DEP7</code>
                                                    <name>DEP7</name>
<revenueCenter>RCD</revenueCenter>
<itemInventoryState>OnLayaway</itemInventoryState>
                                               </location>
                               </locations>
                </params>
</bridgeCoreRequest>

Maestro de Artículos


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<items type="list">
<item type="bean">
<itemCode>3255</itemCode>
<description>Caramelos SUGUS x kg</description>
<hierarchyGroupCode>ALMA</hierarchyGroupCode>
<price>45</price>
<unitCostPrice>40</unitCostPrice>
<vatCode>2</vatCode>
<notForSaleFlag>false</notForSaleFlag>
<notForDiscountsFlag>false</notForDiscountsFlag>
<priceRequiredFlag>false</priceRequiredFlag>
<weightRequiredFlag>true</weightRequiredFlag>
<quantityRequiredFlag>false</quantityRequiredFlag>
<quantityAllowedFlag>false</quantityAllowedFlag>
<restrictedSaleFlag>false</restrictedSaleFlag>
<logExceptionFlag>false</logExceptionFlag>
<authorizationRequiredFlag>false</authorizationRequiredFlag>
<serialNumberRequiredFlag>false</serialNumberRequiredFlag>
<returnNotAllowedFlag>false</returnNotAllowedFlag>
<supplierCode></supplierCode>
<brandCode>Sugus</brandCode>
<itemType>NORM</itemType>
<promotionalPrice></promotionalPrice>
<promotionalPriceDateFrom format="dd-MM-yyyy hh:mm:ss"></promotionalPriceDateFrom>
<promotionalPriceDateTo format="dd-MM-yyyy hh:mm:ss"></promotionalPriceDateTo>
<uomCode>u</uomCode>
<imageCode></imageCode>
<lastUpdateSaleUnitPrice format="dd-MM-yyyy hh:mm:ss"></lastUpdateSaleUnitPrice>
<genericItemFlag>false</genericItemFlag>
<kitComponentFlag>false</kitComponentFlag>
<inventoryLocationCode>DEP1</inventoryLocationCode>
<commissionPercent></commissionPercent>
<disabled>false</disabled>
<itemVATCategory>G</itemVATCategory>
<uom2Code>B2KG</uom2Code>
<uom2Units>2</uom2Units>
<uom2Operation>D</uom2Operation>
<stockReservationRequired>true</stockReservationRequired>
<importDocReq>false</importDocReq>
<sellerRequired>false</sellerRequired>
<amountRequiredFlag>false</amountRequiredFlag>
<genericFieldBoolean1>false</genericFieldBoolean1>
<genericFieldString1>Etiqueta</genericFieldString1>
<genericFieldDecimal1>123</genericFieldDecimal1>
<internalTaxes>
<internalTax>
<internalTaxCode>1</internalTaxCode>
<internalTaxAmount>1.58</internalTaxAmount>
</internalTax>
<internalTax>
<internalTaxCode>2</internalTaxCode>
<internalTaxAmount>2.00</internalTaxAmount>
</internalTax>
</internalTaxes>
<webDescription> Caramelos SUGUS x kg surtido de sabores </webDescription>
<extendedWebDescription> Caramelos SUGUS x kg, surtido de sabores, con gusto anana, menta, frutilla, manzana, naranja. En bolsas de nylon con logo de la marca</<extendedWebDescription>
<itemPictures>
<itemPicture>                              
<extension>jpg</extension>
          <content> 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QxoR4XlFuKMRbvLhib6APtEZvlW4IjA53Nfep2W6cy1v/TEF2IsC50nmmW5BhEgaZ0ETz4lkU1WYqbCdTv7JeIQ7LdeBiCGwHym6NM8dzz5zkitx6krZDENlhFc7eJZKlCLs3+0caHZboy8RWQsF2b+8able0bOGV6RIipsq4LxoNJOTRPPcE2WgRk6TacS8yre76jodlum8r4yoFq+bgqO8rSVwibjNy3iW7VK8hPAgOIJINzCOUVMskM1ltuLX51Oy3UVdnIVizgx2Ymg5ZXXaXq3tHXiUjcIesDMyzAdILmMWiVSe2p2W6cxJiqn+yYxdLhK5imbXFKJqOYEdAYNkPPM32A4tNBLu2d+8NDst050tQb4/E55jDgS6GHDTMdzO0DKLjYi8TomxvpR7y8ekM2AN5zEg/poaHZb6MjWAy/JHEbHRllxYl0kFu3WD3vDb/hC34tfs95Yxag5uYmyNyZgRwCucEusuEhBgIKW2eRdZ8anZb6HaNHvguBpvwL7wpoeNz8wIJdwp+IkdED8IQKNpcqBDFNhfDC1lZGitL8HWJjkw89b5mTT9yBcfxhtAOg9J2W/wc6DcbuLB3A2luCeT+0VeGX6GyGkBmx+EqyVmV6jst/hqUmUypWtMrEr1n/By//aAAwDAQACAAMAAAAQ88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888www49855wwww88888888888888888888888888888888888888AAAuaUuA+AAA88888888888888888888888888888888888888AAATtoUh7AAA88888888888888888888888888888888888888AAAr8BmFyAAA88888888888888888888888888888888888888AAAoEr5YDAAA88888888888888888888888888888888888888AAARob8TNAAA88888888888888888888888888888888888888AAAH/TrNkAAA88888888888888888888888888888888888888AAAepdg71BAA88888888888888888888888888888888888888AANMEm2+2OIA88888888888888888888888888888888888888AEJvZR7IwbgA88888888888888888888888888888888888888AE1Ap3HD2foA88888888888888888888888888888888888888ACpkIESG2ODA88888888888888888888888888888888888888AEdzD4zTqzAI88888888888888888888888888888888888888VtH07sz8V4jz88888888888888888888888888888888888888W8S3DYpIijJc88888888888888888888888888888888888888RwCxUrytQrWN88888888888888888888888888888888888888UFAjGUfg86RV88888888888888888888888888888888888888SgGQDkDwXh1688888888888888888888888888888888888888Sg6j4wZDxHMJ88888888888888888888888888888888888888AHltN/oVm7eg88888888888888888888888888888888888888ArvBfvOJHqwB88888888888888888888888888888888888888Qeb4GQGCoU+t88888888888888888888888888888888888888FXI7XP9DdAdd88888888888888888888888888888888888888VNE4YOJh0LTO88888888888888888888888888888888888888Bzgue+LvpEuz88888888888888888888888888888888888888AbUfE6wrhyPA88888888888888888888888888888888888888U1sVwJ5q/jgA88888888888888888888888888888888888888AbeLK1cwTxdA88888888888888888888888888888888888888E4UkhKXxapKA88888888888888888888888888888888888888BV5MtgtwTk8A88888888888888888888888888888888888888ABS+tXfaGJpA88888888888888888888888888888888888888EHHy86iOHxU688888888888888888888888888888888888888Rzoiynr8eByQ88888888888888888888888888888888888888Ahqp4hf4rZbB88888888888888888888888888888888888888CxjSJ6/JgYja88888888888888888888888888888888888888HT3Zj1+dMDvr88888888888888888888888888888888888888Qi/3L3tu9EZt88888888888888888888888888888888888888FO3aHH/EUumq88888888888888888888888888888888888888AQim96Ek0loA88888888888888888888888888888888888888MMduN8csuuOM88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/8QAKREBAAIBAgQGAwEBAQAAAAAAAQARITFBUFFhcYGRobHB0RDh8PEggP/aAAgBAwEBPxD/AMI6Y/FyzhzW8R3I5aes2X9eM17+vGZQQeB9xVarhtXbDBctWDy/ACpirtHzw1CNCOWhjbOkFAzWFOCXJKxw1ONjN4PF+5Tr6n7i/zfuO2Hu/cU0Hnn7rhzilmZvnh0ZxEqv+Dnhusf8KzGq+GdItQreUgIHKNCRa4XmqNZfjEvb7iuV/eMq1UR3+UE0UVuhV1vwtNyNs6SleUCJcYpEecYoxZeGeFp254w0O9TIFTqLtzvc9opXEN0T326xSceiHlevhNVDo4fE27wKFv5ecBxnB4Q4TrGNmXMBsSDUWDc+eZ0zHAUK1m2zfGg1dGsAGCLTP0uvKV1LljljTpB00iRdgL654QtEY4xhYBXKJVQTzt5gccrQ9YxIWht1XlNFtoWOm8cVyv0uNO5w8xYABE3BrHiLfixCjnHFYwe/wDkK24PvcuAlCDka5d/mKV16CerPlccehfbAXoaHnjWOwQUQur6crcPKPWQZMLexsbHdiVQU0TAvKmx2IFmYYgtFnclJjg/WCgyykYxPE1OVa5J4SizHKsYYSsa2e2+MvWXU6/2O0RvK9NOXhtc+WffxVQoISLRH5hic3u8H6QGC6/yCNZV0hqjGNs6v4TREAwoB9p1oX34PvDbFyiQeYHxCA8w3GYT0+5dv9Pudb6fcEa/T7n2RfiPuh3WIUAdg+am6vCGsQ3JiC3UxLEh3IGEdRTrHn9cJBb83Eop0XW6EHmWGE5QU2YuWaTBcIdPwrMoYAX5S4G1kek0gBeYcRALq0r9ShZg7CoG9fqBdaUtDnese0p4GY85rRiHCAKLzH3basf7Memm+z4+8VLUp6f3+yyreq85Tw6oHxUPE6Kp09HlAAGT+6xXRSj1r0qaRjB3zflN6rg/SPsElW6lrtrtnwluKDSIAUi0PIuHqFOerzIuzoXsui2u8PwHUw+X7h+6usNDVl5elu7dQu04O6RqOsAaYx6mvgSmwRkat8ukfGdzdN78JX2kj0iK3RYWsuY9GUb4vK+EOkaJ1Z0avnliXr16Qqx3J1ogrFqvwr+Zs2nXaWMWKvO/PaFELGlpiXyuPUs9GBXCF55/ktUOSYxeQ8pfIoBnR3e0Kkb5HWukcFNvSOcAQVW3vV8mPqluQY21I3hH173n3j6C1hob72RGC71OmDTGnCNMxBGofcxdhp0TB6RwaEfX+xKpmZnODS+vPwh0hbIY66SzN2VovLwiv0bDirdoEGypNqpppH+gybbX6N6R7Jdbmmc8IdPxgmwlePecj7muYlPQNDxhFUC3684+9FQBwBr4lZOkDOOsFCsbO8TvIr30fQjMCGnB9oksQUrNlKKZR2ecSbzVyhnebyhYuDfjrLPW/wB2i5uIBjhO6Q75ULMN73hilTCAFVG9EWfhyR8M5Ai/lt+E04RnpZcXlmZ3Jq/4XF5gRzpgmTg7owCJHnPgb93HLJ3z7EtYXpT9x2P68YJr/XjOTngvzB/ATJorr+qguwVp3gUHB+k3sIuyIpdrUw0liaBFWY2Ux7t7QrU4QGFsfU1YlLBsDDO8uLUe+B0Sqpi3sxNODuSpYrlfb5mOO+Z6IuGL5x50XVY5Kao2fr54STLUs77+kw26QVBRaoZgWSDHCM6QUDrAF1XofuHB3JF29Z7OsGWCWhqo9ABtu9A1/tSZd1dI6neNCOcq1E2UHyUlRYHM+4+gGOz9zTThNp3YyiWnnT+fGJFJzdOxoHQgkLxJ8nUgHtfpip5YUBfXMYCl6HKD3XNOFVm45iDlnLp+dv8Awj//xAApEQEAAgIBAgQGAwEAAAAAAAABABEhMUFQUWFxgbEQkaHB0fAg4fGA/9oACAECAQE/EP8AkNDmUlYdyCadNVJlxiHMXvB3uZX0104hWZS5gGmAvLKEdNyKlx3i8QDllah3HTuxLMpBiYjpwW38CTiLHTXRNPhsjFXTPGPNQZcF+F03LvpbXMoYI1CjFviISKEAmvpYcIGMi2y2Wlso5iVCWSyNnlqb6SwCd5St7mAjZ8APySLnWd4mHaDnYsPr/cOlFW1jGrXvGDcS6bprjWPF7yytmHK/6li3zLxsUwBuTpHM7JjH55PGXDSvG/tcAsqzWMD9/nzFFXeVrx384iTs/u5kGCiyZOkeMsVBSmZMQEx43Utb3jlvmEkrKwta9Iqc5EaPD136SpvBeHdd2EWFcOJY5OkM1ozWi1ovyb9/tO2P1ljslADiM7mbmpcJGo2o6QJbElfB+AXLS2WRywOyHR26xM/TLzZ+qf0Mjr+YR7L6/iH+p+IFs+n+QtDaL5EE5LDWOjucQyVGnMof7KXBKNO5S6JYalXmVHYLx0nchNxO8FFm6vsv+wG70lEENaR7po6TvNIDsZr5/wCRDv0+cPzlT5Eb+UMWxRTiuIKEml8+x5x0e6RJtiUAR30e6lAKxLkBuXczZfoSLNpx4xUYGAmKV5vvcvtDkW9n7pgORnwmV1fzhrg295vpB1aZUxCwvv8AePVbfWKrAUL8/tEyFrEcAR+kCWAiLC3+sQtOJbplVg6RSxvmf4zMTa4hdpDjw5fQgn2QIaiO05UbgGJm3o/Es9ECcz2MAobm6vW45RhsBqk9pRmBMC9n0hDOc7IysmukIyJjnfrNe8xUQ3QBp94trNXX0gWGRFF0VxZi/JYEdBu1rvyS+UGzX4g+xruuvnAqPSTZqUorn4/rEXHn3eIEOVFmMrAqke9W9mnFet81Kagqw5a5Xu+LK4tDPl3NfWEbNZAVgfCFkZL8faN2K6TS8wQBFeFteHjHaYadl/qIC0qD1xfpcHuC1avLczOFm/SP2YYfDrHyzO10kjAxFBVD2g6rD7RNhwfpFqyVXpD4UTm4KxMU6S81LTiVwxFc/wAEzLpQMyoUJt/iHSRZGb0JDuYt/wAS3OY0WzDnpAS4jvLz/ScQfKPwhBOU8dNM2doecwWHlAbZOXo/EVhyRTBeGb3MTBF7R8UVQrLvpDHUyw3AS8fwMEkKeYe5Do7LGmEhpm0PCZJfwqGTlGDWn2nPSFP43HMxXEbENxO0aZh5aiNCu9B7w6QC3MUhGlhBw754+cUDeJeaQhej2F9iIwt4P4hr8M+s7dJJqvmWy+ZDtcCDB+s8BdMR0HzfxFJiHnf2gMMczQA6ZX8ObiDv4VX/B//xAAoEAEAAgICAQQCAwEBAQEAAAABABEhMUFRYWBxgaGRsRDB0fDhoPH/2gAIAQEAAT8Q/wDh4DEscoWIPxHxMwv+H+N+mhAZjbzRE72HMA4cPEuolsPhFMj7mfS2ME3dfiUcRYZ64h59MgHDBzIuwAS/4zatMaMRccSCV9SiMX2XxAYpsFZf1jSMwmg0VDY3Xij7gkFbP6xFNLpm/LfEBQEXscnpkfuMkqpwsa1s3c7jRrO7ggRDzEUH5OIV0HNzV0sxFtYLreI3Ay1zpQc3GUq9x4/r0yMtnSQJbccYKzKAUs5JckKkS14BIFJcgjhmZES5U8ALjFjX/pkWiJOpfyQME+FM37AoHRb5JmqhV3l3FuL4lfSU3hyxa3F5UvyCKUXWlGDAwSqy+mTDapemRBpxf8AsV1ldsHRV8MdEtOCMiB1eObHdpzO98bik6XBlhbtitIZ0qa5zLnZtnbWf79MjNxTxMdDOVnyytRMRZ0TcEq60uCAoR5GEgycg/5AObDvb6gdbXn/AMT86tP6ixK22/8AkxVvHX4VRMaZYNlVSfTJaqMLzVwmpQMp7VBSJOaHMMnjUtlXlqMDHmArDeKwY7wAiI6lUFzG8GU+AYm5viOANhIHgr00IrdvtKiWor8z3EVdxRn45W1+qCtge1S13+5/kPVfVHNMGwjisaBgruVzfx16bNHHEGGrxLUgC20VQyhzUmqmYbXkYAEda+Ycpp9MjgvqMZNAtl2VwV4gg0piZlL/AIuLImICWzClmo1vRmIeKM/B+4FHtj0yJZLXgYPl1K2WJYZA4igqUT+pyzEqoLlMusl+KIXg5gE5EHsnpkapuMhzS+CHYGoA1qWomRmCXhgxLBzB260xk1572f8AHpkS66lhqITt5heiaIajpg3DTAuEuuYHZRI9fqr3y4T69Mh1SkcxU21n+Bx/hag4nEbXGpsTf5iiW388EBHyuvSxeNS3rEXpZuoyoZu/4HGXjUZZM/EEn6QClXMMYT8NwnAbQeUzLqDfpQdS+5pGRh3cIuIahmTUKyfGN+ZRyfmaUfmBkzD4lAphOBupaa20fOT6lVcOfSYtEGyE0LavwXA0TdB8w0N2siYJnZMoZ4cQX7FjER2YiqkSMLfBCpurheVdEv1B7I6DCywj/wAjt4mvpMSyoiOJigr8TP1MiqmsyirDHcWy7PMq5s8ksbP4hwR8ShiLc0mLSPCxpgnxEL+iAu0AdOl/cdgsLE5gox6THUaCTGxap76/EXsraRZvEBBRpPmATzqoNdkFTcoxcplcUcRZjc1tKgQbTrjXP5jdFV3dCmcvf0mLRcWDJe8xGQJrwWT+oStEQquo1BBLoY5Cuo7e0p4NW7e2UYnCPU9ph0XxCAYh5QVcsqpeHzLIzTqmXiig9jP3UqVuvSY5ICO1waRcRkuUJfkSxdArAkF4MrAT3iuuhcRUlKqL1VjXUTlixq+TnMKQUhTl6DxCzoAPKI58TMQ4aV4bZxTxHwomE+4EJDtfA/bKsl5qvriIspxPV6hroecFEWXtwXv79KQdQ2ISK+mD6lluiCeVu/uGg7eYFaY09FhyOZYnAeIYyOAxcRU9iTjs5l1i1mC6tFBpanL5itm9yr1WlHNQusFgod9GXZjHOXAeYvRinKkATlEfQYOQchDBBmWqZJevSBd/w+YJVYtZR3Ts0n4/cRe2a/SCiqWceIqrkcXTV98StKFGC3XMEX0RZKu7cETLoQfDOzzHNyXu7gNn7Slb3rzGVvuuB+YlI3s/a9QSCNPC4GWQzjqOLly6vzFNmCHRtX4lBc+JS9wb9HAmeIpebziIqg0DmnaQlmy088p8QAsYxqIp3URUujpDFxKFQyVOc8+0vGhG7GLPFgwIziDoW8RbUUmGYHn8olbOpTwtfyrzGJorZObV4glD6e3kxKTWbhQtQWcI1l9pRWZOHuCXqZGCvRw7n9CGKhZ3AoReG7OG/wDv4lLAU1BaOyod3moRZpLIfMoBK+KwtSr+4s0iFmy6vR8xXMQGX64x+IzReB2HN/MOsbIeSPkqK9IsCgS1Yx3FEIhrDX4fMNPlQ0EN/dxZIz1DZjJDHJL13CyVekMP6gZhg9HCqQTcusYPxH9zPHk+TBZorjQOCIzOUiyXrjliEVpm3Ub+YOoFikrB5nnGZK5XC1UC6omMacqbL/ESK1LpxX6gqNgbR/JzMZQgXWyI2NDODy+0fRZjKMqnBU4g5B0C7Mrf1MjqBuivAdMRArl73FyIpOF308x8iD/c/BB72e0Vno4qwruHg1KnIap/NwXlSorD5TxFJdUwEBYRmwUaW6qZJupKBzmKSCfGd1lO4G5S2EuQHiDDJGtetnF3LT0CztH/AFWi6WxPMFGgKu2acfiZI5TJ4u/64mR4RZONFBkqJYFAg4wYiE9onMF17VM4sOSC1LKvnJxXcdV6q/KMyDHbwlkCg9HG0PzFPDoPBTLHEsSDBeYhk6jHEoDpyS7YvaDX7lWc7YPmGZWaFCoPBTm/MVFmayzmb6hm3Ercbo4hnJKLmTn2l1XdMDhG85xFbJf1Hn88Sz4KXBvucGJnLpb8ouGPleUaNb4uUAWr5WkLL3BWi4migWOktbPhr+vR5hhwzOzaY8NwuOTEUK8vmNsczN2/D1HLbvUvP9TETi6IWCP6mALqr1ClY28QBY5e5YM26tuup1h4a1NZoCUAKgsrR1UTQ4gyKFQb6gar3iStgX9w16OFqjDpVAG2sxaCkU2aY6AzfEcNV91EdLk4lpxctzcyQt3mdGYIcV5gGvlADH8et/DQaYlVxBacxklgmJZwi+XvBR6OLWh73AmtB80xDY3rEuk+BgYr+4hyC9Mc39kzgHsYIbQ7ubxHqPJSC7Uwg076jNtfjqJYXvBix+0DGx95TD5ITbBFMK+Jc0VDEAKwc9kGz0cUKKxAQYxe+Y5nImrqFCznbBCg1ob+48pTUdK+GCWoB0iyBftBbcIFba5TaJjeUDipRqC1nsISIL0RBt04zABclwN1PKMqK5ue8wNhRfU069HDm4QXOf7Iy0yWrx1MZse0BWBBxFdw28FwAW7vsIQ0pXSPG8awiGjvCIaB14TE9nSU0PwRLbVDwgJsCeyKubeuIoGnhZYwXRK+TzCF2OPeVA6CHo47jqEAVyPMSbLJ2Klv3NC4hJrXMw4jygFq2VKjL0XAXVTpV3DVcRmi8QrXmUsphRXzHFVrqC1riVBm0V16PHfwjZRWXhmN/QPkarEKFN6jOiupiAkRSBPiKKsoxpcGMTkNxK5pvUswrUu0mCGz3jtmlbZ/DBX3NBEtPxDXo4dKUuGzp94r8+IOU7jCu5bg1zCKFOOSU3h7yw3dx2EqGXR3Arko6pdwTjNkFnl86ibhnc4EjFHmAstbJsL+YpdxAu4KvpqCxSi+HP69HnKMCS7/AHwA2M6gsO2rJYai4A+Ys0pjbwRFqKHDG9UdTAVfE4BaimjWIAlIpi2YXNkUJsoOmVYP86c/UtKBvsmBvZ/HxEW0ag5bl8kur8p8PpA4YX/h3FbOKUYLgzS2U90csI+taPdBlz7g/MTMttVg1DXVrEewbM/wwUnLagJ51KhWZQSR7NA4r5jFsCmtPeOO4LAbsU+YqPiwO2OoOwodcwTsdg2X6RDb6/bAdGYdTNwKe48jcLAvuDbcWSRgOrgDNOXwzYRe3iJwF+OTU87x1D28e04FjlO/E7ycvMKMdWrXAlEQN4Vv1AZ682oYuJBYhppqsd5gcUIjbXmLWBZRnUk7fR5eyKk6/bDa2XKs8faA/RyFzrqVsshCVYy65O5UueV8y/si1+WOQQHKkAgCzXtFqbOcX3C1JeGC4KEAODX5jo1lom1HkIboxazRGKnwEZqvMKGG+ni1Z9mWlsoVL2HXmFGMov7I1vA2rQM3KXZzLv0cDcPmo/tjRFrzUcLDl6qFdECug3T13cvjQBf8ZmIDYah73HUTSTzCXsQMMGdHkhuESUcKWJDn17HxHqpcAPw5lnTIcq7x1VS9QK/ek/UQKWnP3FPghK3sfnMpBmC2HcGNVLXb92ItFGaU6JdMNR2H0cF1ZubjnD9xJQeIMaGrwaz08RIExssP9gY3NhyQNSosiCDG1yh8OCz8EAF5hpDfvD2byqGV78e0Kllr28eIHDirUfZNBfVKqfGJfCroK3A46jVkA4DxPc1srKgEiMAlP3Mw7Lc5jyu6/iO2ClejhpbK+t/bLCtpSNStZsaDkeyUdJkOhmgMOac+Yo5avQ/ct+TasXb0EGgQzX3Xyfc2Y4qLOPJKN7MFXC8zWjPSY/2ljwCkqhdRhthlQ7YBTG1N/CUGNBEYsdkYnh5V8ZH5uG6IjlFT+WKV0K6qhbu3UMqrBGBIueFiaEq5p6OHmCxur/fA1EcABCSLLdhmuAwU3DTCUeV6Dlilut3/AH5xWPSuHZboiIyDYwXTriG1a6bw4Hs3iZA01i3hzcaK31GyXvCjSZFIreNyxjtLwPiXqyf3lzA9Sm2XCH4pcbBqgfNsSIirfiJW3NZNB91uKy4QPZAC2tx0hl4Q16OOGPhSUdr1CB3j/Jx8/wCpcG3R8DKWC9yJ5lLFEbs4HdXLRFkWrDeeSi67jTYmEq+oGUOuyr+jLIZWt4YHgtsHExbumc3RNGBHOEkt6m3w7gks+KsYpmghY6YlqKYl217XD+gSVc92S/iFUxt5DT+IotTYMgNsG6B+4dJfAMy+UjuDZ6ODK/jyfbzRZmu33Kf8aCNbXOv4x4MMMC7gKvUfSDygRwtsrwUb7hmhA6RLB4hdL9GESrhWsUbBoGO1cZx2B2E0xoVpbbp8RbnkILXJT5vUEUntWfgYS0uOn3rcQHOWsj9Srysva4Oaw4lgioLaGl/BcOuFDpKxGiWQ4Fx+pSpvqbxKywK9HFUohpak9wSt0QHRAKxXeKpc9bhLhU5oyu7zChNinaCiJ1KJEZF53iXAXVsr5vD/AFEKN+GqgvUAVE0/E1rBtDljQZaLbWf+YXtzznov3sIXY5wV/HNxwEc/4KcrUgjui79ozEFaHRpbq5auXNcuHwxRABpRjd3AZMlULtA5zNG2ZV3I9IA2wlKoJULpeOpZ+jcKZH/tS8oYTsP6SjbrOGEuOhdUcD4h6mSEn/oYBK6FpZKYYa5JV056iHI5OTs8B9xVEozL5+AQ+CK1oyqo1Y9YgVjdUPMCgFRHz2ckYUZS+RmL1rG1oxmKj9W4HxLUURta2DzKQG7L07nL6PFoZ8xX7l21aHf/ADDXqE2XEtPuu4Yqfm4gcqrXm5T7xWwnFvvAbwM+AvnRLMCq+y82dfqBDQPH9m5nntGw6XJ+InOftHovRCIRw0ADCS39gawtaMZImXRQU0DwwxXbZo1EW6lo8OZe2Noq8sX9kjIluOU/ljdYMcapTwtVKUrUNqcnKVmUIlPvcekBNy4goLae8I1QqOYAKG/I1CWELQiz2tJVGIaM4g+CgjvWSZH0M6xdVEDF1K33rD8xtcXCQ+dxwYwX8xX4j+NaqxQNueY8OC3ahRwc3HsQcm3Vj7mGGzMhqqrtjdnvkjIlceILdwGI3Y37xMzyxKyWcF9RuItAC5azybja4EtEpORKfiKRbcVzs9IC3c4CWb+EIXCjuNYGarToIEMZslS38qijUUXe2vvSynu5HP0XKy1BSzU6jL2CjF0ajbipdpswHjbANUNmoeUuMSywsTId0bgEhUscUEDUoOHi+qlAFFusV3UOFGZyOJVO1AU1/wCJhMARnGT+pargmdcU4fMC74UJ6r2GYba6TMOcs49Hjpig834mFrRfnF6a2NzBIWrAavuPeIiwdB7lw7WNrLvyYQ4aLc9mCxRQAECDwWwLyjgIvuC78SryNpuu/oqDiWcAPDqYPPCxOD8zO+1jCWrheEZLF7I1ls1agrucNspPwQcQwNq1qAEJACxBGkYyEJTdEp769IHDKOiBfzBYwR6cf7isrWcMgbXuAJkhw1Yq8bO4MRYk+yIuPAFnasTMKqMyBqtpnzAIPlnQurVlDnyQ0tWJdscfKbmPtc3kyfcdijFfuYYFMqyrucZgHG413mWf8K3pAM2QjFnP7wfKl7Defc1Urzdb8f7BpKaLCxR0YWbzk5mbd546iooMT3mI3lNwKqRCBmyXRQTOUywAcu4cKym7HEMf6F+ncw4SoYJa3fXzBaI1WgvzAqMgPMqBRXcQM1MXLAVauAjjFjju2PSAcx0Crp67zCITR3rmuiVJekl26+JmnsnV+68nT4le+gcBqUbf0k//ACdyXuPa9spfu6t8r53CWL62jokmmUgNZX5blqYM8vEpFmttVEBmKEsAVLVECllVlS2xWmCjwbLPSB3Mq1YWoGcaC2RabBq26qoIZqoMscijxLC+ovmcGvMyOqlB7xG6CAB3G7uJHDE27qpV56lSyNiez34jMars3Ffv0gcoAv4fpHn4URLzzEDFVeTLYADwzezUN2nGW4viGzqXXOYhghfCauK1FDAWLKWyZIdcSwL2+kDt7mvP/FMkedRp4lHMoS4A3DdHDExplGRFjG4K4lcy3iO1zMHmWpslWZxAS4bt7Q+GPVCEu068ekB/aZDx/SgpRbcw/k8m4qx6XqGHxHMpLGkraXBKx3ETLEHcomI3cWh33C2wmmxb6QBdzKnX9swHmaQsQoxjZBEmDXUCSNY6wUR4h4TENWQF2x97jVsDMb5WKbIOlSNhY/UFHo4dw+r/AHQ2DYsd4lPVHcqpniIFJFt4IKJCq8ysy5PMKUYplOqlEoi3YXAOfqVDgXdwE1fJzGAo9HC4uIAdp5ZI1tuwOpTjruoyCecPB3OcTfP4QyClitYzNMcfMSmFWGYinccNfmJbB6WprlXmbF4jEfHO8wSuVxLsZLygsPMNejjSpS/+rIFveGvNKbvMQXOCL4PzDDPlItU+Vv8AcAAHyZRZvjBKo+MNr+zCt/iINdL3QZaPuwTkL5gBj5QtizIVtmROvvpOq9HiWP1MuifZaJDaiWZj3sLuWvBFRs3LRgLCTqviAzoSh494kuZdVS4rRRLkFQqj1qBmMILyzMdNxURSj5S3+DXo4aUqWCDc80KpUwq7HcvK4KpYx9l+00A/iLZR4jbnyxcLEeyuCbPuBG7mdrmRxOBNQ9IbeYIc3LGVEMf5CUgD3CA2JR3apa+jyrjzni/dAVELHqKax8wCxkr5S/dviJS/glgkGagzklZoiAxAwKZlbglqUDwlq1HtEsFeo4K+FdKLF9koh1cVno4XnphDSonlTNfMuNZ0wyyQt6iqDfhnOXal+29mN2/bjQsY5KgvATN5hQ1ALxieLuVhgwAMX4lbg8iGX4ot+r3Dyr4hYw4PZBQOJ7eji1LEvJ5K3glt6VYpcMLgQ5IHdk4gMRoqFyq4IFgwPiXiX8ovgQp0ZcP2QFrjC27/ADgFPksJBCfEpC4c9TWZDjzBuZ7VxHo7A58WuHPo8uzjEa/i/ExX3Cvc/QzEDFxJsV7TTgO4tZhhWerhIoCwwEiN9RUY/iGWy8tQE/RiHbwe06BPiLZm6mFTmNGztqewQIiByUxyy1a9aH3D0eYgGjTn2v8AqZV0wLU569pYRshA6iOYsaSJipymFFHjE3AKY0cLgdQIrlQvZLCmpW7E1V7zBvLKyeIeW0PHJ+2DevR4mDcsRSzVRVcXArGdfUCsYmeVzr3lqOUxBnLmeRwZvcJcqyVzwQKYs6jlClavEzLqpmP1GSxjT3EVW7mC+gzGAocrxMagJ8qy3+YUAvUNejjKOoxDIwi0Hb9yihGGrHC9Eveo4F3mV9qo7lK0Fl4GOsGiTbzFAZqocs5DLN1rYhpd7jVNnxKoshsrPZjQrFaSKV33GijLUVheLMPD9rmB1VYsjzXMPRxp1G84l8pNBXfvB0+KTZ+H3hiCpxCyzRN1fg7jjG80yngldKgDLyPhpuJECjdOfdqIaMxU9wmQqQFkuiBJGAv3ZXKMHD5Itw+IhvpZncHuDlsfltRKrkbrmBymYa9IFV3qHQSmgT2ibyrtTwb+oomjC/3KuJnbEL8r/EtidflJf3AAKAUBwQkARLESbfYA+IvZi5xu871AAOfmEl4+ZWroyuLdSxChVG8h09IlTWMC+4xj2X+EpaXQIHj0mOpomzGJplOQkQ1UqqORlhLK6hkmrY9js+IhzkaU8Rf6LaYNiKcUfqKPPCl8NmoIMlmIjyxxAdStVDb6VAqJAbzqODK4acxRHkmNvLBG9vJiAn/syDzLsOveDOFwrAr/AOHh/9k= </content>
           <thumbailFlag>true</thumbailFlag>
           <templateFlag>true</templateFlag>
           <baseFlag>true</baseFlag>
           <priority>1</priority>
           <activeFlag>true</activeFlag>
          </itemPicture>
</itemPictures>

<productAttributeValues>
                                  <productCode>9876</productCode>
<isDefaultItem>true</isDefaultItem>
                                  <productAttributeValue>
                                        <attributeCode>CLR</attributeCode>
                                       <attributeOptionCode>CLR_R</attributeOptionCode>
<isPreSelected>true</isPreSelected>
                                       <displayOrder>1</displayOrder>
<isDisabled>false</isDisabled>
                                  </productAttributeValue>
                                  <productAttributeValue>
                                        <attributeCode>SIZE</attributeCode>
                                       <attributeOptionCode>8</attributeOptionCode>
<isPreSelected>true</isPreSelected>
                                       <displayOrder>2</displayOrder>
<isDisabled>false</isDisabled>
                                  </productAttributeValue>
                           </productAttributeValues>
</item>
</items>
</params>
</bridgeCoreRequest>
Relación de artículos con sus impuestos internos
Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<itemInternalTaxes type="list">
<itemInternalTax type="bean">
<item>1</item>
<internalTax>24</internalTax>
<amountInternalTax>1.58</mountInternalTax>
</itemInternalTax>
<itemInternalTax type="bean">
<item>2</item>
<internalTax>16</internalTax>
<amountInternalTax>2</mountInternalTax>
</itemInternalTax>
</itemInternalTaxes>
</params>
</bridgeCoreRequest>

Códigos de Barras - Alias


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<aliases type="list">
<alias type="bean">
<itemCode>ACA</itemCode>
<barcode>998226397189</barcode>
<description>Codigo de Barras unitario</description>
<units></units>
<storeCode></storeCode>
</alias>
<alias type="bean">
<itemCode>ACA</itemCode>
<barcode>998226397190</barcode>
<description>Codigo de Barras caja por 10 unidades</description>
<units>10</units>
<storeCode></storeCode>
</alias>
</aliases>
</params>
</bridgeCoreRequest>

Artículos de Tipo Stock


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<stockItems type="list">
<stockItem type="bean">
<itemCode>1122</itemCode>
<pickupCode>S1</pickupCode>
</stockItem>
</stockItems>
</params>
</bridgeCoreRequest>

Relación artículos con proveedores

Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<itemSupplierItems type="list">
<itemSupplierItem type="bean">
<item>123</item>
<supplier>PR1</supplier>
<lastReceiptSaleByUnitCount>50</lastReceiptSaleByUnitCount>
<lastReceiptSaleUnitBaseCost>20</lastReceiptSaleUnitBaseCost>
</itemSupplierItem>
<itemSupplierItem type="bean">
<item>456</item>
<supplier>PR2</supplier>
<lastReceiptSaleByUnitCount>50</lastReceiptSaleByUnitCount>
<lastReceiptSaleUnitBaseCost>15</lastReceiptSaleUnitBaseCost>
</itemSupplierItem>
</itemSupplierItems>
</params>
</bridgeCoreRequest>

Lista de precios de artículos


NOTA: El lote de registros debería pertenecer a la misma tienda. Por tal motivo en el request a enviar, el campo <store>codigoTienda</store> debería venir informado el código de la tienda a la cual pertenecen los registros informados dentro del mismo lote. No se debería enviar <store>0</store>. Esto es para evitar que todas las tiendas reciban registros que no son de esa tienda.
Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<itemSellingPrices type="list">
<itemSellingPrice type="bean">
<itemSellingPriceNumber>1234</itemSellingPriceNumber>
<storeCode>1</storeCode>
<effectiveDateTime format="dd-MM-yyyy">01-01-2016</effectiveDateTime>
<expirationDateTime format="dd-MM-yyyy">01-01-2017</expirationDateTime>
<items type="list">
<item type="bean">
<itemCode>1</itemCode>
<barcode>7792850000066</barcode>
<currentSaleUnitRetailPriceAmount>450.00</currentSaleUnitRetailPriceAmount>
<currentSaleUnitRetailPriceEffectiveDate format="dd-MM-yyyy">01-01-2016</currentSaleUnitRetailPriceEffectiveDate>
<currentSaleUnitRetailPriceExpirationDate format="dd-MM-yyyy">01-01-2017</currentSaleUnitRetailPriceExpirationDate>
<currentSaleUnitRetailPriceTypeCode>pr1</currentSaleUnitRetailPriceTypeCode>
<permanentSaleUnitRetailPriceAmount>500.00</permanentSaleUnitRetailPriceAmount>
<permanentSaleUnitRetailPriceEffectiveDate format="dd-MM-yyyy">12-05-2013</permanentSaleUnitRetailPriceEffectiveDate>
<manufacturerSaleUnitRecommendedRetailPriceAmount>700.00</manufacturerSaleUnitRecommendedRetailPriceAmount>
</item>
</items>
             </itemSellingPrice>
             </itemSellingPrices>
       </params>
</bridgeCoreRequest>

Artículos enlazados

Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<linkedItems type="list">
<linkedItem type="bean">
<itemCode>ACA</itemCode>
<linkedItemCode>38078577</linkedItemCode>
<quantity>2</quantity>
<memberItemPrice>50.00</memberItemPrice>
</linkedItem>
<linkedItem type="bean">
<itemCode>89001</itemCode>
<linkedItemCode>90001</linkedItemCode>
<quantity>1</quantity>
<memberItemPrice>40.00</memberItemPrice>
</linkedItem>
</linkedItems>
</params>
</bridgeCoreRequest>

Articulos de Tipo Kits

Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<aggregateItems type="list">
<aggregateItem type="bean">
<typeCode>Kit</typeCode>
<item>24</item>
</aggregateItem>
<aggregateItem type="bean">
<typeCode>Kit</typeCode>
<item>24</item>
</aggregateItem>
</aggregateItems>
</params>
</bridgeCoreRequest>

Artículos del tipo servicio

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<serviceItems type="list">
<serviceItem type="bean">
<itemCode>1234</itemCode>
<type>wrty</type>
<baseCostAmount>50.5</baseCostAmount>
<netCostAmount>88.00</netCostAmount>
<costsEstablishedDate format="dd-MM-yyyy">12-10-2015</costsEstablishedDate>
</serviceItem>
<serviceItem type="bean">
<itemCode>1111</itemCode>
<type>wrty</type>
<baseCostAmount>60.00</baseCostAmount>
<netCostAmount>78.00</netCostAmount>
<costsEstablishedDate format="dd-MM-yyyy">12-10-2015</costsEstablishedDate>
</serviceItem>
</serviceItems>
</params>
</bridgeCoreRequest>

Stock por depósito e items del depósito

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<stocks type="list">
<stock type="bean">
<storeCode>1</storeCode>
<locationCode>1</locationCode>
<revenueCenter>RCD</revenueCenter>
<itemInventoryState>OnSale</itemInventoryState>
<items type="list">
<item type="bean">
<itemCode>1234</itemCode>
<stockUnits>450.00</stockUnits>
</item>
<item type="bean">
<itemCode>1111</itemCode>
<stockUnits>150.00</stockUnits>
</item>
</items>
</stock>
</stocks>
</params>
</bridgeCoreRequest>

Actualización de stock por abastecimiento

NOTA:
El lote de registros debería pertenecer a la misma tienda. Por tal motivo en el request a enviar, el campo <store>codigoTienda</store> debería venir informado el código de la tienda a la cual pertenecen los registros informados dentro del mismo lote. No se debería enviar <store>0</store>. Esto es para evitar que todas las tiendas reciban registros que no son de esa tienda.
Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<stockInventories type="list">
<stockInventory type="bean">
<itemInventoryJournalOriginator>REC</itemInventoryJournalOriginator>
<headerTransactionCode>18790</headerTransactionCode>
<detailTransactionId>1</detailTransactionId>
<period></period>
<subperiod></subperiod>
<itemCode>778899565621</itemCode>
<storeCode>10</storeCode>
<locationCode>1</locationCode>
<itemInventoryState></itemInventoryState>
<retailUnitCount>100</retailUnitCount>
<SerialNumber></SerialNumber>
<importDocNumber>12130</importDocNumber>
<customsNumber>1</customsNumber>
<serializedUnitCode>1</serializedUnitCode>
<customsDate format="dd-MM-yyyy">01-01-2018</customsDate>
<substractFlag></substractFlag>
<aggregateCode></aggregateCode>
<costUnitAmount></costUnitAmount>
<costTotalAmount></costTotalAmount>
<salesUnitAmount></salesUnitAmount>
<salesExtendedAmount></salesExtendedAmount>
<inventoryAdjustmentType></inventoryAdjustmentType>
<manufacturingDate format="yyyy-MM-dd">2018-01-01</manufacturingDate>
</stockInventory>
</stockInventories>
</params>
</bridgeCoreRequest>
En el request ejemplo, se envía un movimiento de:

  • Código de artículo: 778899565621
  • Tipo de document: recepción de orden de compra
  • Nro de documento de abastecimiento: 18790
  • Nro de linea dentro del documento: 1
  • Código de tienda: 10
  • Código del depósito: 1
  • Cantidad recibida: 100
  • Documento de importación: 12130, con fecha 01-01-2018, de la aduana codigo 1.

Este movimiento sumará 100 unidades por recepción de orden de compra al producto 778899565621, del depósito 1 de la tienda 10.

Servicios de actualización de producto y atributos

Producto

Request:
<bridgeCoreRequest>
                    <operation>createOrUpdate</operation>
                    <params>
                           <products type="list">
                                  <product type="bean">
                                        <code>9876</code>
                                        <name>Zapatilla Nike Air Max Grigora</name>
                                        <shortDescription>Zapatilla Air Max Grigora</shortDescription>
                                        <fullDescription>Zapatilla Air Max Grigora</fullDescription>
                                        <metaKeywords></metaKeywords>
                                        <metaDescription></metaDescription>
                                        <metaTitle></metaTitle>
                                        <allowCustomerReviews>true</allowCustomerReviews>
                                        <isShipEnabled>true</isShipEnabled>
                                        <isFreeShipping>true</isFreeShipping>
                                        <shipSeparately>true</shipSeparately>
                                        <additionalShippingCharge>0</additionalShippingCharge>
                                        <deliveryDate></deliveryDate>
                                        <displayStockAvailability>true</displayStockAvailability>
                                        <displayStockQuantity>true</displayStockQuantity>
                                        <disableBuyButton>false</disableBuyButton>
                                        <disableWishlistButton>false</disableWishlistButton>
                                        <basepriceBaseAmount></basepriceBaseAmount>
                                        <basepriceBaseUnitId></basepriceBaseUnitId>
                                        <markAsNew>false</markAsNew>
                                        <newStartDateTime format="dd/MM/yyyy"></newStartDateTime>
                                        <newEndDateTime format="dd/MM/yyyy"></newEndDateTime>
                                        <displayOrder>1</displayOrder>
                                        <published>true</published>
                                        <isActive>true</isActive>
                                        <defaultItemCode></defaultItemCode>
                                        <categories>
                                               <category>
                                                      <code>Indum</code>
                                                      <disabled>false</disabled>
                                               </category>
                                               <category>
                                                      <code>Hom</code>
                                                      <disabled>false</disabled>
                                               </category>
                                        </categories>
                                        <specificationAttributes>
                                               <specificationAttribute>
                                                      <code>CLR</code>
                                                      <value>Blue</value>
                                                      <showOnProductPage>true</showOnProductPage>
                                                      <attributeType>UNKNOWN</attributeType>
                                                      <customValue></customValue>
                                                      <displayOrder>1</displayOrder>
                                                      <disabled>false</disabled>
                                               </specificationAttribute>
                                        </specificationAttributes>
                                        <productAttributes>
                                               <productAttribute>
                                                      <code>CLR</code>
                                                      <isRequired>true</isRequired>
                                                      <attributeType>UNKNOWN</attributeType>
                                                      <displayOrder>1</displayOrder>
                                                      <disabled>false</disabled>
                                               </productAttribute>
                                               <productAttribute>
                                                      <code>SIZE</code>
                                                      <isRequired>true</isRequired>
                                                      <attributeType>UNKNOWN</attributeType>
                                                      <displayOrder>2</displayOrder>
                                                      <disabled>true</disabled>
                                               </productAttribute>
                                        </productAttributes>
                                  </product>
                           </products>
                    </params>
             </bridgeCoreRequest>

Atributos en la categoría departamental: productAttributeCategory

Request:
<service>productAttributeCategory</service>
<bridgeCoreRequest>
                <operation>createOrUpdate</operation>
                <params>
                         <productAttributeCategories type="list">
                               <productAttributeCategory type="bean">
                                      <hierarchyCode>Indum</hierarchyCode>
<productAttributeCode>CLR1</productAttributeCode>
                                               <isTemplate>false</isTemplate>
                                               <isFilter>true</isFilter>
                                               <disabled>false</disabled>
                                      </productAttributeCategory>
                               </productAttributeCategories>
                </params>
</bridgeCoreRequest>

Especificaciones de atributos en las categorías departamentales: specificationAttributeCategory

Request:
<service>specificationAttributeCategory</service>
<bridgeCoreRequest>
                <operation>createOrUpdate</operation>
                <params>
                           <specificationAttributeCategories type="list">
                                <specificationAttributeCategory type="bean">
                                    <hierarchyCode>Hom</hierarchyCode>
                                                              
<specificationAttributeCode>CLRS1</specificationAttributeCode>
                                       <isTemplate>true</isTemplate>
                                       <isFilter>true</isFilter>
                                       <disabled>false</disabled>
                                </specificationAttributeCategory>
                          </specificationAttributeCategories>
                </params>
</bridgeCoreRequest>

Atributos de producto: productAttribute

Request:
<service>productAttribute</service>
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<productAttributes type="list">
<productAttribute type="bean">
<code>CLR1</code>
<name>COLOR</name>
<disabled>false</disabled>
<productAttributeOptions type="list">
<productAttributeOption>
<code>CLR1_RED</code>
<name>Red</name>
<colorSquaresRgb>#663030</colorSquaresRgb>
<disabled>false</disabled>
</productAttributeOption>
<productAttributeOption>
<code>CLR1_BLUE</code>
<name>Blue</name>
<colorSquaresRgb>#363656</colorSquaresRgb>
<disabled>false</disabled>
</productAttributeOption>
<productAttributeOption>
<code>CLR1_SLVR</code>
<name>Silver</name>
<colorSquaresRgb>#c5c5d5</colorSquaresRgb>
<disabled>false</disabled>
</productAttributeOption>
</productAttributeOptions>
</productAttribute>
</productAttributes>
</params>
</bridgeCoreRequest>

Atributos de especificación: specificationAttributes

Request:
<service>specificationAttribute</service>
<bridgeCoreRequest>
                <operation>createOrUpdate</operation>
                <params>
                               <specificationAttributes type="list">
                                               <specificationAttribute type="bean">
                                                      <code>9901</code>
                                                      <name>Material</name>
                                                      <displayOrder>1</displayOrder>
                                                      <disabled>false</disabled>
                                                      <specificationAttributeOptions type="list">
                                                                              <specificationAttributeOption>
                                                                                              <name>Cuero</name>
                                                                                              <colorSquaresRgb></colorSquaresRgb>
                                                                               <displayOrder>1</displayOrder>
                                                                               <disabled>false</disabled>
                                                                              </specificationAttributeOption>
                                                                              <specificationAttributeOption>
                                                                                              <name>Plastico</name>
                                                                                              <colorSquaresRgb></colorSquaresRgb>
                                                                                              <displayOrder>2</displayOrder>
                                                                                              <disabled>false</disabled>
                                                                              </specificationAttributeOption>
                             </specificationAttributeOptions>
                         </specificationAttribute>
                      </specificationAttributes>
                </params>
</bridgeCoreRequest>
Este sería un ejemplo para cargar el atributo de especificación "Material" y sus 2 valores posibles.
En caso de volver a enviar la interfaz para el mismo Material y poniendo uno nuevo, este se agrega a las opciones.
Si necesitan deshabilitar una opción, deberían enviarlo con el campo "disabled" en "true"

Servicios de actualización de medios de pago

Medios de Pago


Efectivo

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<tenders type="list">
<tender type="bean">
<tenderCode>Peso</tenderCode>
<descriptor>Efectivo</descriptor>
<type>1</type>
<disabled>false</disabled>
</tender>
</tenders>
</params>
</bridgeCoreRequest>

Tarjeta VTOL


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<tenders type="list">
<tender type="bean">
<tenderCode>VI</tenderCode>
<descriptor>Visa</descriptor>
<type>4</type>
<disabled>false</disabled>
</tender>
</tenders>
</params>
</bridgeCoreRequest>

Tarjeta Contingencia

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<tenders type="list">
<tender type="bean">
<tenderCode>Dico</tenderCode>
<descriptor>Tarjeta Dico</descriptor>
<type>4</type>
<disabled>false</disabled>
</tender>
</tenders>
</params>
</bridgeCoreRequest>

Parámetros de tienda


Efectivo

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<storeTenders type="list">
<storeTender type="bean">
<tenderTypeCode>Peso</tenderTypeCode>
<supervisorRequired>false</supervisorRequired>
</storeTender>
</storeTenders>
</params>
</bridgeCoreRequest>

Tarjeta VTOL

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<storeTenders type="list">
<storeTender type="bean">
<tenderTypeCode>VI</tenderTypeCode>
<supervisorRequired>false</supervisorRequired>
<minOnlineAmount>0.01</minOnlineAmount>
<maxOnlineAmount>9999.99</maxOnlineAmount>
<offlineAllowed>false</offlineAllowed>
<maxOfflineAmount>0.00</maxOfflineAmount>
<manualInputAllowed>true</manualInputAllowed>
<mustControlDueDate>true</mustControlDueDate>
<mustControlVerificatorDigit>true</mustControlVerificatorDigit>
<accountNumberRequired>true</accountNumberRequired>
<cvcRequired>true</cvcRequired>
<cvcLength>3</cvcLength>
<lastDigitsInputRequired>true</lastDigitsInputRequired>
</storeTender>
</storeTenders>
</params>
</bridgeCoreRequest>

Tarjeta Contingencia

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<storeTenders type="list">
<storeTender type="bean">
<tenderTypeCode>Dico</tenderTypeCode>
<supervisorRequired>false</supervisorRequired>
</storeTender>
</storeTenders>
</params>
</bridgeCoreRequest>

Parámetros de terminal


Efectivo

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<terminalTenders type="list">
<terminalTender type="bean">
<terminalTenderTypeCode>CASH</terminalTenderTypeCode>
<tender>Peso</tender>
<descriptor>Pesos</descriptor>
<accepted>true</accepted>
<cashdrawerOpeningRequired>true</cashdrawerOpeningRequired>
<changeAllowed>true</changeAllowed>
<acceptedIfChangeNotAllowed>true</acceptedIfChangeNotAllowed>
<allowedInSales>true</allowedInSales>
<allowedInRefunds>true</allowedInRefunds>
<printFrontReq>false</printFrontReq>
<showable>true</showable>
<maxPaymentAmount>99999.99</maxPaymentAmount>
<maxAuthorizedChangeAmount>999.99</maxAuthorizedChangeAmount>
<maxPayments>1</maxPayments>
<maxAuthorizedPaymentAmount>99999</maxAuthorizedPaymentAmount>
</terminalTender>
</terminalTenders>
</params>
</bridgeCoreRequest>

Tarjeta VTOL

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<terminalTenders type="list">
<terminalTender type="bean">
<terminalTenderTypeCode>7777</terminalTenderTypeCode>
<tender>Dico</tender>
<descriptor>Tarjeta Dico</descriptor>
<accepted>true</accepted>
<cashdrawerOpeningRequired>false</cashdrawerOpeningRequired>
<changeAllowed>false</changeAllowed>
<acceptedIfChangeNotAllowed>true</acceptedIfChangeNotAllowed>
<allowedInSales>true</allowedInSales>
<allowedInRefunds>true</allowedInRefunds>
<printFrontReq>false</printFrontReq>
<showable>true</showable>
<maxPaymentAmount>9999</maxPaymentAmount>
<maxPayments>1</maxPayments>
<maxAuthorizedPaymentAmount>9999</maxAuthorizedPaymentAmount>
</terminalTender>
</terminalTenders>
</params>
</bridgeCoreRequest>

Tarjeta Contingencia


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<terminalTenders type="list">
<terminalTender type="bean">
<terminalTenderTypeCode>7777</terminalTenderTypeCode>
<tender>Dico</tender>
<descriptor>Tarjeta Dico</descriptor>
<accepted>true</accepted>
<cashdrawerOpeningRequired>false</cashdrawerOpeningRequired>
<changeAllowed>false</changeAllowed>
<acceptedIfChangeNotAllowed>true</acceptedIfChangeNotAllowed>
<allowedInSales>true</allowedInSales>
<allowedInRefunds>true</allowedInRefunds>
<printFrontReq>false</printFrontReq>
<showable>true</showable>
<maxPaymentAmount>9999</maxPaymentAmount>
<maxPayments>1</maxPayments>
<maxAuthorizedPaymentAmount>9999</maxAuthorizedPaymentAmount>
</terminalTender>
</terminalTenders>
</params>
</bridgeCoreRequest>

Configuración de planes para medios de pago a nivel terminal


Tarjeta VTOL

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<paymentPlans type="list">
<paymentPlan type="bean">
<paymentPlanCode>1</paymentPlanCode>
<terminalCardConfig>VisaCR</terminalCardConfig>
<planId>visaSinInt</planId>
<description>Meses sin interes VISA</description>
<vtolCode>0</vtolCode>
<currency>$</currency>
</paymentPlan>
<paymentPlan type="bean">
<paymentPlanCode>2</paymentPlanCode>
<terminalCardConfig>VisaCR</terminalCardConfig>
<planId>visaConInt</planId>
<description>Meses con interes VISA</description>
<vtolCode>1</vtolCode>
<currency>$</currency>
</paymentPlan>
</paymentPlans>
</params>
</bridgeCoreRequest>

Tarjeta Contingencia

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<paymentPlans type="list">
<paymentPlan type="bean">
<paymentPlanCode>PlanU</paymentPlanCode>
<terminalCardConfig>7777</terminalCardConfig>
<planId>dicosin</planId>
<description>plan unico dico</description>
<vtolCode>0</vtolCode>
<currency>$</currency>
</paymentPlan>
</paymentPlans>
</params>
</bridgeCoreRequest>

Configuración de planes de cuotas para medios de pago


Tarjeta VTOL


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<installments type="list">
<installment type="bean">
<terminalCardConfigPaymentPlan>1</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>1</paymentPlanInstallmentCode>
<installments>1</installments>
<surchage>0.00</surchage>
</installment>
<installment type="bean">
<terminalCardConfigPaymentPlan>2</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>2</paymentPlanInstallmentCode>
<installments>2</installments>
<surchage>0.10</surchage>
</installment>
<installment type="bean">
<terminalCardConfigPaymentPlan>2</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>3</paymentPlanInstallmentCode>
<installments>3</installments>
<surchage>0.15</surchage>
</installment>
<installment type="bean">
<terminalCardConfigPaymentPlan>2</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>4</paymentPlanInstallmentCode>
<installments>6</installments>
<surchage>0.20</surchage>
</installment>
</installments>
</params>
</bridgeCoreRequest>

Tarjeta Contingencia

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<installments type="list">
<installment type="bean">
<terminalCardConfigPaymentPlan>PlanU</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>Cuota1</paymentPlanInstallmentCode>
<installments>1</installments>
<surchage>0.00</surchage>
</installment>
<installment type="bean">
<terminalCardConfigPaymentPlan>PlanU</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>Cuota3</paymentPlanInstallmentCode>
<installments>3</installments>
<surchage>0.10</surchage>
</installment>
<installment type="bean">
<terminalCardConfigPaymentPlan>PlanU</terminalCardConfigPaymentPlan>
<paymentPlanInstallmentCode>Cuota3</paymentPlanInstallmentCode>
<installments>6</installments>
<surchage>0.15</surchage>
</installment>
</installments>
</params>
</bridgeCoreRequest>

Configuración de Formato de Franqueo


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<frankingFormats type="list">
<frankingFormat type="bean">
<terminalsGroup >1</terminalsGroup>
<format> ===== CHEQUE ENDOSADO =====CUENTA Nro.: @aTotal$g</format>
<code>001</code>
<description> Check Franking Format</description>
</frankingFormat>
</frankingFormats>
</params>
</bridgeCoreRequest>
]]>

Prefijos de tarjetas
















Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.business.soap.bridge.synthesis.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:execute>
         <!-Optional:->
         <service>cardprefix</service>
         <!-Optional:->
         <request><![CDATA[
<bridgeCoreRequest>
       <operation>createOrUpdate</operation>
       <params>
             <prefixes type="list">
                    <prefix type="bean">
                           <storeTenderCode>Mon</storeTenderCode>
                           <prefixIdentifier>1</prefixIdentifier>
                           <rangeFrom>85</rangeFrom>
                           <rangeTo>85</rangeTo>
                           <prefixLength>2</prefixLength>
                           <cardLength>16</cardLength>
                           <enabled>true</enabled>
                           <type>4</type>
                    </prefix>
             </prefixes>
       </params>
</bridgeCoreRequest>
</request>
      <!-Optional:->
         <store>0</store>
      </ser:execute>
   </soapenv:Body>
</soapenv:Envelope>
















Configuración de prefijos de cupones/vales (como medio de pago)


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<couponPrefix type="bean">
<prefixId>10</<prefixId> <configTenderStoreId>Peso</<configTenderStoreId>
<rangeFrom>20</rangeFrom>
<rangeTo>25</rangeTo>
</couponPrefix>
</params>
</bridgeCoreRequest>
]]>

Configuración de cupones (para PROMO)

















<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.business.soap.bridge.synthesis.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:execute>
         <!-Optional:->
         <service>couponConfiguration</service>
         <!-Optional:->
         <request><![CDATA[
<bridgeCoreRequest>
  <operation>createOrUpdate</operation>
  <params>
            <coupons type="list">
                        <coupon type="bean">
                                   <identifier>1234</identifier>
                                   <couponType>Promo</couponType>
                                   <description>Promo Description</description>
                                   <couponLength>50</couponLength>
                                   <fromPrefix>111</fromPrefix>
                                   <toPrefix>222</toPrefix>
                                   <prefixLength>3</prefixLength>
                                   <amount>100</amount>
                                   <couponFormatID>EAN13</couponFormatID>
                        </coupon>
            </coupons>
  </params>
</bridgeCoreRequest>
]]>
</request>
         <!-Optional:->
         <store>0</store>
      </ser:execute>
   </soapenv:Body>
</soapenv:Envelope>
















Servicios de actualización maestros de Impuestos


Categorías de Items para los Impuestos


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<taxCategories type="list">
<taxCategory type="bean">
<code>1</code>
<name>frescos</name>
</taxCategory>
<taxCategory type="bean">
<code>2</code>
<name>general</name>
</taxCategory>
</taxCategories>
</params>
</bridgeCoreRequest>

Categorías de Regiones impositivas para las tiendas

Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<storeTaxCategories type="list">
<storeTaxCategory type="bean">
<storeTaxCategoryCode>RE1</storeTaxCategoryCode>
<storeTaxCategoryName>Region 1</storeTaxCategoryName>
</storeTaxCategory>
<storeTaxCategory type="bean">
<storeTaxCategoryCode>RE2</storeTaxCategoryCode>
<storeTaxCategoryName>Region 2</storeTaxCategoryName>
</storeTaxCategory>
</storeTaxCategories>
</params>
</bridgeCoreRequest>

Jurisdicciones impositivas


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<taxJurisdictions type="list">
<taxJurisdiction type="bean">
<taxJurisdictionCode>CABA</taxJurisdictionCode>
<name>CABA</name>
<type>2</type>
<authority>1</authority>
</jurisdiction>
<taxJurisdiction type="bean">
<taxJurisdictionCode>BsAs</taxJurisdictionCode>
<name>Buenos Aires</name>
<type>2</type>
<authority>1</authority>
</jurisdiction>
</jurisdictions>
</params>
</bridgeCoreRequest>

Reglas de impuestos


<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<taxGroupRules type="list">
<taxGroupRule type="bean">
<code>IIBBBsAs</code>
<name>IIBBBsAs</name>
<description>Percepción de IIBB Buenos Aires</description>
<jurisdictionNType type="bean">
<jurisdiction>
<taxJurisdictionCode>CABA</taxJurisdictionCode>
</jurisdiction>
<taxCategory>
<code>IBBNR</code>
</taxCategory>
<type>
<code>IB</code>
</type>
</jurisdictionNType>
<effectiveDate format="dd-MM-yyyy">23-08-2017</effectiveDate>
<intendedUsageType>cons</intendedUsageType>
<itemTaxCategory>G</itemTaxCategory>
<storeTaxCategory>R1</storeTaxCategory>
<rateRule type="bean">
<code>IB.BA.NR</code>
<name>IB.BA.NR</name>
<netTaxableAmount>true</netTaxableAmount>
<netWithTaxTaxableAmount>false</netWithTaxTaxableAmount>
<netWithVATTaxableAmount>false</netWithVATTaxableAmount>
<totalAmountTaxableAmount>false</totalAmountTaxableAmount>
<unifiedFactor>1</unifiedFactor>
<rateClass>IIBBBsAs</rateClass>
</rateRule>
<disabled>false</disabled>
</taxGroupRule>
</taxGroupRules>
</params>
</bridgeCoreRequest>

Servicios de actualización de Usuarios

Actualización de Usuarios

Request:
Ejemplo de dos usuarios con sus grupos de permisos.
<bridgeCoreRequest>
  <operation>createOrUpdate</operation>
  <params>
       <users type="list">
             <user type="bean">
                       <name>Gonzalo7</name>
<userName>gonxa7</userName>                   
<password>4AA101DDC5DC18B1B632E6540805722C</password>                                     
<passwordSalt>A057F651CDA66D6B8C6986D94E91FF7B550CCEA92FC3E7AED2B70B3A66D4B61E</passwordSalt>     
                    <roleGroups type="list">  
                           <roleGroup type="bean">
                                  <group>Cajero</group>
                           </roleGroup>
                           <roleGroup type="bean">
                                  <group>Vendedor</group>
                           </roleGroup>
                    </roleGroups>      
             </user>
             <user type="bean">
                       <name>Gonzalo8</name>
<userName>gonxa8</userName>                   
<password>4AA101DDC5DC18B1B632E6540805722C</password>                                     
<passwordSalt>A057F651CDA66D6B8C6986D94E91FF7B550CCEA92FC3E7AED2B70B3A66D4B61E</passwordSalt>     
                    <roleGroups type="list">  
                           <roleGroup type="bean">
                                  <group>Cajero</group>
                           </roleGroup>
                           <roleGroup type="bean">
                                  <group>Vendedor</group>
                           </roleGroup>
                    </roleGroups>      
             </user>
       </users>
  </params>
</bridgeCoreRequest>

Actualización de portavalores



<bridgeCoreRequest>
  <operation>createOrUpdate</operation>
  <params>
<secPersonnels type="list">
<secPersonnel type="bean">
<secPersonnelCode>2039</secPersonnelCode>
<secPersonnelLastName>Villalobos</secPersonnelLastName>
<secPersonnelFirstName>Daniel</secPersonnelFirstName>
<secPersonnelidentificationType>1</secPersonnelidentificationType>
<secPersonnelIdentification>95499838</secPersonnelIdentification>
<secPersonnelCategory>categoria</secPersonnelCategory>
<flagDisabled>true</flagDisabled>
<effectiveDateTime format="dd-MM-yyyy">23-08-2017</effectiveDateTime>
<expirationDateTime format="dd-MM-yyyy">25-05-2018</expirationDateTime>
</secPersonnel>
</secPersonnels>
  </params>
</bridgeCoreRequest>

Servicios de actualización de Clientes

Creacion o actualización de clientes


Se insertan dos xml ejemplo con mensajes de requerimiento para poder dar de alta un cliente del tipo organización (con datos impositivos asociados) y uno del tipo persona (consumidor final)

Cliente Persona

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<customers type="list">
<customer type="bean">
<code>123456</code>
<store>1</store>
<party type="bean">
<firstName>DANIEL</firstName>
<lastName>GONZALEZ</lastName>
<genderType>M</genderType>
<typeCode>PRS</typeCode>
<birthCountryCode>ARG</birthCountryCode>
<birthDayNumber>22</birthDayNumber>
<birthMonthNumber>08</birthMonthNumber>
<birthYearNumber>1994</birthYearNumber>
<roleAssignments type="list">
<partyRoleAssignment type="bean">
<partyRole id="1"/>
<effectiveDate format="dd-MM-yyyy">23-08-2017</effectiveDate>
<expirationDate format="dd-MM-yyyy">30-12-2200</expirationDate>
<contactMethods type="list">
<partyContactMethod type="bean">
<purposeType id="2"/>
<methodType id="1"/>
<effectiveDate>2017-08-23T16:32:37.947</effectiveDate>
<expirationDate>2200-12-30 00:00:00.000</expirationDate>
<address type="bean">
<city type="bean">
<code>7346</code>
</city>
<country type="bean">
<code>PER</code>
</country>
<state type="bean">
<code>7</code>
</state>
<firstLine>AVDA SAN MARTIN 486</firstLine>
<postalCode>3206</postalCode>
</address>
<emailAddress type="bean">
<name>[email protected]</name>
</emailAddress>
<telephone type="bean">
<areaCode>11</areaCode>
<telephoneNumber>23878065</telephoneNumber>
<countryCode>54</countryCode>
</telephone>
</partyContactMethod>
</contactMethods>
<sequenceNumber>1</sequenceNumber>
</partyRoleAssignment>
</roleAssignments>
<identifications type="list">
<partyIdentification type="bean">
<identificationType id="1"/>
<identifierValue>95873666</identifierValue>
</partyIdentification>
</identifications>
</party>
</customer>
</customers>
</params>
</bridgeCoreRequest>

Cliente Organización


<bridgeCoreRequest>
<operation>createOrUpdate</operation><params>
<customers type="list">
<customer type="bean"><code>920180</code>
<store>42</store><party type="bean">
<name>FIGUERO AALDO MARCELO</name>
<typeCode>OGN</typeCode>
<roleAssignments type="list"><partyRoleAssignment type="bean">
<contactMethods type="list">
<partyContactMethod type="bean">
<purposeType id="2"/><methodType id="1"/>
<effectiveDate>2017-01-20T16:12:17</effectiveDate>
<expirationDate>2200-12-30 00:00:00.000</expirationDate>
<address type="bean">
<city type="bean">
<code>10859</code>
</city><country type="bean">
<code>1</code></country>
<state type="bean">
<code>19</code></state>
<firstLine>CASA 60 SAN JOSE LA HERAS</firstLine>
<postalCode>9017</postalCode>
</address><emailAddress type="bean">
<name>[email protected]</name>
</emailAddress>
</partyContactMethod>
</contactMethods>
<sequenceNumber>1</sequenceNumber>
<partyRole id="3"/>
<effectiveDate format="dd-MM-yyyy">20-01-2017</effectiveDate>
<expirationDate format="dd-MM-yyyy">30-12-2200</expirationDate>
</partyRoleAssignment></roleAssignments>
<identifications type="list"><partyIdentification type="bean">
<identificationType id="3"/><identifierValue>20225939420</identifierValue>
</partyIdentification></identifications><taxRegistrations>
<taxRegistration type="bean">
<name>FIGUERO AALDO MARCELO</name>
<number>20225939420</number>
<taxTypes type="list">
<taxRegistrationTaxType type="bean">
<inscEffectiveDate>2017-01-20T16:12:17</inscEffectiveDate>
<inscExpirationDate>2155-01-20T16:12:17</inscExpirationDate>
<jurisdictionNType type="list">
<jurisdiction type="bean">
<taxJurisdictionCode>ARG</taxJurisdictionCode>
</jurisdiction><taxCategory type="bean">
<code>MT</code>
</taxCategory><type type="bean">
<code>IVA</code></type>
</jurisdictionNType>
</taxRegistrationTaxType>
</taxTypes>
</taxRegistration>
<taxRegistration type="bean">
<name>FIGUERO AALDO MARCELO</name>
<number>20225939420</number>
<taxTypes type="list">
<taxRegistrationTaxType type="bean">
<inscEffectiveDate>2017-01-20T16:12:17</inscEffectiveDate>
<inscExpirationDate>2155-01-20T16:12:17</inscExpirationDate><certificates type="list"/>
<jurisdictionNType type="list">
<jurisdiction type="bean">
<taxJurisdictionCode>SC</taxJurisdictionCode>
</jurisdiction>
<taxCategory type="bean">
<code>IBBLCL</code>
</taxCategory><type type="bean">
<code>IB</code></type>
</jurisdictionNType>
</taxRegistrationTaxType>
</taxTypes>
</taxRegistration>
</taxRegistrations>
</party>
</customer>
</customers>
</params>
<replicationStore>0</replicationStore>
</bridgeCoreRequest>

Actualización de datos impositivos de cliente organización


<bridgeCoreRequest> <operation>update</operation> <params> <customers type="list"> <customer type="bean"> <code>9120</code> <party type="bean"> <name>Luis Campos</name> <typeCode>OGN</typeCode> <taxRegistrations> <taxRegistration> <name>Convenio Multilateral MT IIBB</name> <number>123456</number> <taxTypes> <taxRegistrationTaxType> <inscEffectiveDate>2010-01-01 00:00:00.0 ART</inscEffectiveDate> <inscExpirationDate>2025-01-01 00:00:00.0 ART</inscExpirationDate> <unifiedFactor>5</unifiedFactor> <jurisdictionNType> <jurisdiction> <taxJurisdictionCode>BA</taxJurisdictionCode> </jurisdiction> <taxCategory> <code>IBBCM</code> </taxCategory> <type> <code>IB</code> </type> </jurisdictionNType> </taxRegistrationTaxType> <taxRegistrationTaxType> <inscEffectiveDate>2010-01-01 00:00:00.0 ART</inscEffectiveDate> <inscExpirationDate>2025-01-01 00:00:00.0 ART</inscExpirationDate> <jurisdictionNType> <jurisdiction> <taxJurisdictionCode>CABA</taxJurisdictionCode> </jurisdiction> <taxCategory> <code>IBBCM</code> </taxCategory> <type> <code>IB</code> </type> </jurisdictionNType> </taxRegistrationTaxType> <taxRegistrationTaxType> <inscEffectiveDate>2010-01-01 00:00:00.0 ART</inscEffectiveDate> <inscExpirationDate>2025-01-01 00:00:00.0 ART</inscExpirationDate> <jurisdictionNType> <jurisdiction> <taxJurisdictionCode>CH</taxJurisdictionCode> </jurisdiction> <taxCategory> <code>IBBCM</code> </taxCategory> <type> <code>IB</code> </type> </jurisdictionNType> </taxRegistrationTaxType> </taxTypes> </taxRegistration>  <taxRegistration> <name>Convenio Multilateral MT IVA</name> <number>30504005220</number> <taxTypes> <taxRegistrationTaxType> <inscEffectiveDate>2010-01-01 00:00:00.0 ART</inscEffectiveDate> <inscExpirationDate>2025-01-01 00:00:00.0 ART</inscExpirationDate> <jurisdictionNType> <jurisdiction> <taxJurisdictionCode>ARG</taxJurisdictionCode> </jurisdiction> <taxCategory> <code>MT</code> </taxCategory> <type> <code>IVA</code> </type> </jurisdictionNType> </taxRegistrationTaxType> </taxTypes> </taxRegistration>  </taxRegistrations> </party> </customer> </customers>

Servicios del módulo de maestros de negocio

Centros emisores

<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<broadcastCenters type="list">
<broadcastCenter>
<code>250</code>
<store>00128</store>
<workstation>2</workstation>
<disabled>false</disabled>
<storeReceipts type="list">
<storeReceipt>
<invoiceType>FC_A</invoiceType>
<fiscalResolution>F035</fiscalResolution>
<dateFrom>01-05-2018</dateFrom>
<dateTo>02-05-2018</dateTo>
<rangeFrom>0</rangeFrom>
<rangeTo>149</rangeTo>
<disabled>false</disabled>
</storeReceipt>
<storeReceipt>
<invoiceType>FC_A</invoiceType>
<fiscalResolution>F88</fiscalResolution>
<dateFrom>03-05-2018</dateFrom>
<dateTo>13-05-2018</dateTo>
<rangeFrom>150</rangeFrom>
<rangeTo>299</rangeTo>
<disabled>false</disabled>
</storeReceipt>
</storeReceipts>
</broadcastCenter>
</broadcastCenters>
</params>
</bridgeCoreRequest>

Servicios del módulo de abastecimiento

Documentos fiscales


<advanceShipmentNotices>
<advanceShipmentNotice>
<destinationRetailStoreID>03105</destinationRetailStoreID>
<supplier>3050795084</supplier>
<contractReferenceNumber>26</contractReferenceNumber>
<originatorNumber>9944</originatorNumber>
<createDateTimestamp format='dd-MM-yyyyy'>20-10-2018</createDateTimestamp>
<receiptNumber>A-1132-0000090985</receiptNumber>
<receiptType>FC</receiptType>
<receiptDate format='dd-MM-yyyyy'>21-09-2018</receiptDate>
<caiNumber>12345690000000</caiNumber>
<caiDate format='dd-MM-yyyyy'>10-11-2018</caiDate>
<pagesQuantity>1</pagesQuantity>
<netAmount>1394</netAmount>
<exemptAmout>10</exemptAmout>
<taxAmount>10</taxAmount>
<vatAmount>10</vatAmount>
<servicesVATAmount>10</servicesVATAmount>
<differencialVATAmount>10</differencialVATAmount>
<ivaTaxAmount>10</ivaTaxAmount>
<iibbTaxAmount>10</iibbTaxAmount>
<totalAmount>1464</totalAmount>
<inventoryControlDocumentLineItems>
<inventoryControlDocumentLineItem>
<item>7790114901234</item>
<unitBaseCostAmount>13.94</unitBaseCostAmount>
<unitCount>100</unitCount>
<uomUnits/>
</inventoryControlDocumentLineItem>
</inventoryControlDocumentLineItems>
</advanceShipmentNotice>
</advanceShipmentNotices>

  • Sem rótulos