Manual de servicios de Integración - BRIDGE v4.1


Manual de USUARIO
Bridge - Servicios de integración

Revisión 3.2



REVISIONES

Fecha

Versión

Descripción

Autor

21/04/2016

1.0

Creación del documento

AA

23/05/2016

1.1

Se agrega eliminar cliente

AA

10/06/2016

1.2

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

AA

10/06/2016

1.3

Se actualiza con servicio de StockItem y Brand

AA

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)

AA

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.

AA

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 errores

MLB

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

AA

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

AA

05/09/2016

1.9

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

AA

07/09/2016

2.0

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

AA

08/09/2016

2.1

  • Se ajusta el ejemplo de request de lista de precios

AA

21/09/2016

2.2

  • Se ajusta el servicio de usuarios y ejemplos.

AA

07/03/2017

2.3

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

AA

12/04/2017

2.4

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

AA

11/05/2017

2.5

  • Se ajusta formato del doc y cambio de URL

AA

2/08/2017

2.6

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

AA

8/08/2017

2.7

  • Se actualiza el doc eliminando mención a REST

AA

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

AA

26/01/2018

2.9

  • Se actualiza con el encabezado y datos requeridos del request

AA

2/03/2018

3.0

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

AA

22/03/2018

3.1

  • Se elimina del manual actualizaciones de ítem y view template no disponibles en v4.1

AA

18/4/20183.2
  • Se elimina la referencia de la operación deleteCustomer ya que no se encuentra implementada
AA



CONTENIDO




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)
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


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

Identificador de la marca comercial.

Si

description

String

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


Unidades de medida

Nombre del Servicio: uom
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: vat
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

vats

List

Lista de IVAs a crear o actualizar.

Si

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

Propiedad

Tipo de dato

Descripción

Requerido

code

String (3)

Código del porcentaje de IVA.

Si

description

String (100)

Descripción del tipo de IVA.

No

percentage

Decimal (8,2)

Porcentaje de IVA.

Si

activeFlag

Boolean

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

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

inventoryLocations

List

Lista de depósitos a crear o actualizar.

Si

La lista inventoryLocations debe contener entidades "inventoryLocation", 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.

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 Costro al que está asociado por default el depósito

No

itemInventoryState

String (50)

Código identificador del estado del depósito ()

No

storeCode

String (25)

Código de la tienda

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

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

saleUnitSpecialPrice

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:

  • SERV (Servicios)
  • CONT (Envase)
  • MISC (Misceláneos)
  • CHRG (Recargos)
  • NORM (Normal)
  • GRAL (Genérico)
  • DEPT (Departamental)
    WRTY (Garantías)

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 code)

Si

imageCode

String (25)

Código de la imagen asociada al artículo.
En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla Image (campo code)
Nota: No aplica el uso de este campo

No

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

String

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)

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

reservationAllowedFlag

Boolean

Indicador de requiere reserva de stock. Default false.

No

Tecla

Varchar (50)

Valor Tecla del ítem (no aplica uso en producto)

No

promoFlag1

Boolean

Campo para uso genérico

No

promoFlag2

Boolean

Campo para uso genérico

No

promoFlag3

Boolean

Campo para uso genérico

No

genericField1

Boolean

Campo para uso genérico

No

genericField2

Boolean

Campo para uso genérico

No

genericField3

Boolean

Campo para uso genérico

No

genericField4

Boolean

Campo para uso genérico

No

genericField5

Boolean

Campo para uso genérico

No

importDocReq

Boolean

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

No

sellerRequired

Boolean

Indicador si requiere el ingreso del vendedor

No

webDescription

String

Descripción ampliada del artículo para la web

No

extendedWebDescription

String

Descripción detallada del artículo para la web

No

internalTaxes

List

Lista de impuestos internos

No



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

Propiedad

Tipo de dato

Descripción

Requerido

internalTaxCode

String

Código de producto

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


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

Integer

Tienda

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: stockItem
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

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

Si

styleCode

String

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

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

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

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

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

customerPickupTypeCode

String

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

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

No

sellUnitLastReceivedBaseCostAmount

Decimal

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

No

sellUnitLastReceivedNetCostAmount

Decimal

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

Decimal

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 por pérdida de peso. Para indicar que el artículo podría perder peso desde el momento del pedido hasta el momento de su recepción.

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

Medida de la profundidad del artículo.

No

width

Decimal

Medida del ancho del artículo.

No

height

Decimal

Medida del alto del artículo.

No

diameter

Decimal

Medida del diámetro del artículo.

No

grossWeight

Decimal

Peso bruto del artículo.

No

netWeight

Decimal

Peso neto del artículo.

No

drainedWeight

Decimal

Peso drenado del líquido.

No

sizeUomCode

String

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

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

stockUnitQuantity

Integer

Cantidad de unidades de stock

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.
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

String

Código de tienda

No

effectiveDateTime

Date

Fecha de inicio de vigencia.

Si

expirationDateTime

Date

Fecha de expiración de la vigencia.

Si

items

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

String

Código de producto

Si

barcode

String

Código de alias

No

currentSaleUnitRetailPriceAmount

Decimal

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

Decimal

Precio permanente.

Si

PermanentSaleUnitRetailPriceEffectiveDate

Date

Fecha de vigencia desde para el precio permanente

Si

currentSaleUnitRetailPriceTypeCode

String

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

No

manufacturerSaleUnitRecommendedRetailPriceAmount

Decimal

Precio de venta recomendado por el proveedor.

Si


Artículos enlazados

Este servicio tiene dependencia de otro maestro (items) En caso de que se envíen artículos para ser enlazados, los artículos se deben haber informado previamente a Bridge.
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

Código de un artículo.

Si

linkedItemCode

String

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

Si

quantity

Integer

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

No

memberItemPrice

Real

Precio del artículo enlazado

No


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

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

Si

type

String

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

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

No

netCostAmount

Decimal

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

String (3)

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)


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


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

tenderTypeCode

String (4)

ID del medio de pago.

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
2-Check
3-Coupon
4-Card
5-Cash on delivery
6-Nota de crédito
7-Crédito

Si

disabled

Boolean

Flag de deshabilitado

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

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 de Items para los impuestos

Nombre del Servicio: TaxCategory
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

TaxCategories

List

Lista de las categorías 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)

ID de la categoría de items.

Si

Name

String (50)

Nombre de la categoría de ítems.

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


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 cliente
No para cliente existente

password

String (50)

Contraseña encriptada

Si para nuevo cliente
No para cliente existente

passwordSalt

String (50)

Contraseña de usuario

Si para nuevo cliente
No para cliente 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

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.


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.

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

String

Código del cliente

Si

store

String

Código de identificación de la tienda

Si

typeCode

String

Tipo de Participante. Posibles valores: PRS o OGN

    • Persona (PRS) o Organización (OGN)

Si

birthCountryCode

String

Nacionalidad

No

highestEducationLevelName

String

Nivel educativo

No

lifeCycleType

String

Tipo de ciclo de vida del cliente en la tienda

No

annualIncomeAmount

Decimal

Ingreso anual

No

maritalStatusCode

String

Estado civil

No

religiousAffiliationName

String

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

string

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

String

Primer nombre (Persona Física)

No

lastName

String

Apellido (Persona Física)

No

genderType

String

Genero (Persona Física)

No

name

String

Nombre de la organización (Organizacion)

No

type

String

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

Si

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 "Identificaci ones")

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 "roleAssignment", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

partyRole

String

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

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

No

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 "contactMethod", las cuales poseen la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

idPurposeType

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

idMethodType

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

String

1ra línea de la dirección

Si

secondLine

String

2da línea de la dirección

No

thirdLine

String

3ra línea de la dirección

No

fourthLine

String

4ta línea de la dirección

No

postalCode

String

Código postal

No

postalCodeEx

String

Extensión del código postal

No


Ciudad

La entidad ciudad posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String

Código de ciudad

Si


País

La entidad país posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String

Código de país

Si


Estado

La entidad estado posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

code

String

Código de estado

Si


Correo electrónico

La entidad emailAdress posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

name

String

Correo Electronico

Si

Telefono

La entidad telephone posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

areaCode

String

Código de área

Si

telephoneNumber

String

Número de teléfono local

Si

countryCode

String

Código de país

Si

extensionNumber

String

Número de extensión telefónica

No

completeNumber

String

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

String

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

String

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

Si

name

String

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

taxTypeCode

String

Identificador del tipo de impuesto (Ej: "IVA", "IB")

Si

taxTypes

List

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

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 "Tipo de jurisdicción e impuestos"

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

categoryCode

Integer

Identificador de la categoría

Si

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

String

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

Si


Tipo de jurisdicción e impuesto

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 de impuesto. La estructura puede verse bajo el título "Categoría de impuesto", ver "Categoría de impuesto")

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

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

Si


Categoría de impuesto


Propiedad

Tipo de dato

Descripción

Requerido

code

String

Identificador de la categoría de impuesto:
Ejemplo: IBBCM

Si


Impuesto


Propiedad

Tipo de dato

Descripción

Requerido

code

String

Identificador del tipo de impuesto (Ej: "IVA", "IB")

Si


Cuenta del cliente

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

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


Eliminacion de Clientes

Nombre del Servicio: customer
Operación: deleteCustomer.
Parámetros de entrada:

Propiedad

Tipo de dato

Descripción

Requerido

customersCode

List

Lista de códigos de clientes para ser eliminados

Si


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

Propiedad

Tipo de dato

Descripción

Requerido

value

String

Código de cliente.

Si


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.

Apéndice

Se detallan ejemplos de los request para la actualización de los catálogos mencionados en el presente documento.

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>
</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>
</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>1</level>
<parentGroup></parentGroup>
<departamentalItemCode>MHG1</departamentalItemCode>
<disabled>true</disabled>
</hierarchyGroup>
<hierarchyGroup type="bean">
<code>GRP2</code>
<description>Grupo 2</description>
<level>2</level>
<parentGroup>GRP1</parentGroup>
<departamentalItemCode>MHG1</departamentalItemCode>
<disabled>true</disabled>
</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>
<vats type="list">
<vat type="bean">
<code>2</code>
<description>IVA 21%</description>
<percentage>21</percentage>
<activeFlag>false</activeFlag>
</vat>
<vat type="bean">
<code>5</code>
<description>IVA 10,5%</description>
<percentage>10.5</percentage>
<activeFlag>true</activeFlag>
</vat>
</vats>
</params>
</bridgeCoreRequest>

Depósitos


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<inventoryLocations type="list">
<inventoryLocation type="bean">
<code>LOC1</code>
<name>Deposito 1</name>
</inventoryLocation>
<inventoryLocation type="bean">
<code>LOC2</code>
<name>Deposito 2</name>
</inventoryLocation>
</inventoryLocations>
</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></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>
<retiredDiscountAllowedFlag>true</retiredDiscountAllowedFlag>
<reservationAllowedFlag>true</reservationAllowedFlag>
<tecla></tecla>
<promoFlag1></promoFlag1>
<promoFlag2></promoFlag2>
<promoFlag3></promoFlag3>
<genericField1></genericField1>
<genericField2></genericField2>
<genericField3></genericField3>
<genericField4></genericField4>
<genericField5></genericField5>
<importDocReq>false</importDocReq>
<sellerRequired>false</sellerRequired>
<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>
</item>
</items>
</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>ACA</itemCode>
<styleCode>STY1</styleCode>
<colorCode>CO1</colorCode>
<sizeCode>SZ1</sizeCode>
<containerCode>CN2</containerCode>
<type>ShelfItem</type>
<saleWeightOrUnitCountCode>W</saleWeightOrUnitCountCode>
<customerPickupTypeCode>LOC1</customerPickupTypeCode>
<unitPriceFactor>1.67</unitPriceFactor>
<availableForSaleDate format="dd-MM-yyyy hh:mm:ss">31-01-2014 00:00:00</availableForSaleDate>
<inventoryAccountingMethodCode>MS</inventoryAccountingMethodCode>
<sellUnitLastReceivedBaseCostAmount></sellUnitLastReceivedBaseCostAmount>
<sellUnitLastReceivedNetCostAmount>65.23</sellUnitLastReceivedNetCostAmount>
<sellUnitLandedCostAmount></sellUnitLandedCostAmount>
<sellUnitLastReceivedCostsEstablishedDate format="dd-MM-yyyy hh:mm:ss">01-12-2013 14:23:10</sellUnitLastReceivedCostsEstablishedDate>
<shrinkFlag>false</shrinkFlag>
<swellFlag>false</swellFlag>
<model></model>
<depth>10.52</depth>
<width>25</width>
<height>14.2</height>
<diameter></diameter>
<grossWeight></grossWeight>
<netWeight></netWeight>
<drainedWeight></drainedWeight>
<sizeUomCode></sizeUomCode>
<weightUomCode>kg</weightUomCode>
<stockUnitQuantity>120</stockUnitQuantity>
</stockItem>
</stockItems>
</params>
</bridgeCoreRequest>

Lista de precios de artículos


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>

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>1</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>

Servicios de actualización de medios de pago

Medios de Pago


Request:
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<tenders type="list">
<tender type="bean">
<tenderCode>CASH</tenderCode>
<descriptor>Medio de Pago CASH</descriptor>
<type>1</type>
<disabled>false</disabled>
</tender>
<tender type="bean">
<tenderCode>CARD</tenderCode>
<descriptor>Medio de Pago CARD</descriptor>
<type>2</type>
<disabled>true</disabled>
</tender>
</tenders>
</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>

































Prefijos de cupones


































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

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>

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

































<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>customer</service>
<request>
<![CDATA[
<bridgeCoreRequest>
<operation>createOrUpdate</operation>
<params>
<customers type="list">
<customer type="bean">
<code>962289</code>
<email>[email protected]</email>
<store>35</store>
<party type="bean">
<firstName>WALLINGRE</firstName>
<lastName>ELADIO ANIBAL</lastName>
<genderType>M</genderType>
<typeCode>PRS</typeCode>
<birthCountryCode>PER</birthCountryCode>
<roleAssignments type="list">
<partyRoleAssignment type="bean">
<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/>
</emailAddress>
</partyContactMethod>
</contactMethods>
<sequenceNumber>1</sequenceNumber>
<partyRole id="1"/>
<effectiveDate format="dd-MM-yyyy">23-08-2017</effectiveDate>
<expirationDate format="dd-MM-yyyy">30-12-2200</expirationDate>
</partyRoleAssignment>
</roleAssignments>
<identifications type="list">
<partyIdentification type="bean">
<identificationType id="4"/>
<identifierValue>00962289</identifierValue>
</partyIdentification>
</identifications>
</party>
</customer>
</customers>
</params>
</bridgeCoreRequest>
]]>
</request>
<!-Optional:->
<store>0</store>
</ser:execute>
</soapenv:Body>
</soapenv:Envelope>

































  • Sem rótulos