Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Painel
borderColor#E4E3E3
bgColor#ffffff
titleColor#ffffff
borderWidth1px
titleBGColor#704581
titleREVISIONES


Expandir
titleExpandir revisiones


FechaVersiónDescripciónAutor

 


Se agregan campos opcionales de fechas de inscripción al servicio de padrones.

Se agrega nota para el servicio ítem con el flag requiere reserva si por configuración se debe importar automáticamente

 

2.0Creación del documento basado en v7.0 actualizado a v7.1

 

2.1Se agregan servicios itemAttribute y atributos del item

 

2.2Se agrega anexo de recomendaciones y se actualizan con nuevos servicios

 

2.3Se agrega servicio transferDocument (para caso particular simulando tienda de abastecimiento store.erpFlag = true)

 

2.4Se agregan los tipos de identificación del customer para otros países

 

2.5Se agregan campos de crédito al servicio customer (a partir de v7.4) y al item el flag de creditAllowed

 

2.6Se agregan dos nuevos campos (a partir de v7.4) al servicio customer e item (affiliate y partyFiscalRegime). Al servicio ítem se agrega el campo serialFormat

 

2.7Se agrega el servicio de itemStore.

 

2.8Se agrega dentro de la request de itemAttribute, un campo obligatorio "dataType"

 

2.9Se ajustan campos del servicio customer (se elimina disabled dentro de party, se ajusta título partyData por party)

 

3.0Se agrega el servicio itemInternalTax.

 

3.1Se corrige el nombre de inventoryControlDocumentSerializedtLineItems y se agrega el externalCode en Item y unitOfMeasure

 

3.2Se ajusta en el servicio itemSellingPrices (lista de precios) el envío de las tiendas y canales 

 

3.3Se ajusta el servicio itemSellingPrices (lista de precios)  con campos deprecados

 

3.4Se cambia la descripción del campo "order" a una mas representativa.
Painel
borderColor#E4E3E3
titleColor#ffffff
borderWidth1
titleBGColor#704581
titleCONTENIDO
Expandir
titleExpandir contenido

Índice

Acerca del manual

Propósito y alcance

...


 

3.5Se agregan los campos minStockForChannels y minSalePrice al servicio item y a itemStore (disponible a partir de v7.5.2)

 

3.6Se agregan notas y ajustes al servicio de item (por atributos) y al servicio itemAttribute

 

3.7Se actualiza el campo serialFormId e inventoryControlDocumentState del servicio de "transferDocument"

 

3.8Se actualiza el servicio de customer con el agregado de campos en el partyContactMethod 

 

3.9Se actualiza el servicio itemStore con el agregado de los campos onConsignment, location y saleLocation

 

4.0Se agregan los servicios de consulta de Proveedores, Jerarquías y campos adicionales sobre el servicio existente de Item.





Painel
borderColor#E4E3E3
titleColor#ffffff
borderWidth1
titleBGColor#704581
titleCONTENIDO


Expandir
titleExpandir contenido

Índice




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 en la versión de API v7.1

...

Dica
titleRecomendaciones

Se sugieren algunos puntos a modo de recomendación para los envíos de información a través de los servicios de integración. 


  • Se recomienda el envío de lotes de registros (siempre y cuando el tipo de servicio lo admita) 
    • Esto permitirá que el procesamiento sea más performante
    • No enviar requerimientos de a un registro (ej: para la actualización del maestro de artículos, no se deberían enviar de a un articulo por request sino por lotes)
    • Contemplar como cantidad máxima: 5000 registros/lote
    • Máximo de peso de cada lote: 5MB
    • para la general de entidades, y de 3000 registros/lote para entidades grandes (Ej. Items, Productos).
    • Máximo de peso de cada lote: 5MB


...

Bridge Core Server SOAP

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.

...

Propiedad

Tipo de dato

Descripción

Requerido

name

String(100)

Identificador de la marca comercial.

Si

description

String(200)

Nombre de la marca.

NoSi

disabled

Boolean

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

SiNo


Request de Marca

Bloco de código
<?xml version="1.0" encoding="UTF-8"?>
<bridgeCoreRequest>
   <operation>createOrUpdate</operation>
   <params>
      <brands type="list">
         <brand type="bean">
            <name>ELECX</name>
            <description>ELECTROLUX</description>
            <disabled>false</disabled>
         </brand>
         <brand type="bean">
            <name>ATM</name>
            <description>ATMA</description>
            <disabled>true</disabled>
         </brand>
      </brands>
   </params>
</bridgeCoreRequest>

...

Propiedad

Tipo de dato

Descripción

Requerido

code

String

Código del atributo del ítem

Si

name

String

Descripción del atributo del ítem

Si

dataType

String

Tipo de dato que puede tomar el atributo

Los tipos posibles son: list, string, number, date, boolean

editOpcionsFlag

Boolean

Un campo que NO es requerido, que permita habilitar/deshabilitar la opción de permitir editar opciones en el POS

No

showInfo

Boolean

Indicador si se requiere mostrar o no la información de la opción del atributo (default si no se recibe: false)

No

showRgbBooleanIndicador si se requiere mostrar o no el RGB asignado a la opción del atributo (default si no se recibe: false)No
disabledBooleanIndicador de atributo deshabilitado o no (default si no se recibe: false)No
optionsList

Lista de opciones o valores que tendrá el atributo del ítem

El tag debe agregarse aunque no sea del tipo lista el atributo. <options/>

Requerido con todos los datos cuando el atributo es tipo "lista"

No


La lista options debe contener entidades "option”, las cuales poseen la siguiente estructura:

...

Bloco de código
<?xml version="1.0" encoding="UTF-8"?>
<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>itemAttribute</service>
         <!--Optional:-->
         <request><![CDATA[
         <bridgeCoreRequest>
  <operation>createOrUpdate</operation>
  <params>
    <itemAttributes type="list">
      <itemAttribute type="bean">
        <code>PROCEDENCIA</code>
        <dataType>list</code>dataType>
        <name>Procedencia</name>
       <showInfo>true</showInfo>
       <showRgb>false</showRgb>
       <options type="list">
        <option type="bean">
          <value>NAC</value>       
          <order>1</order>
          <info>hola</info>
        </option>
        </options>
        <options type="list">
        <option type="bean">
           <value>IMPORTADO</value>
           <order>2</order>
           <info>pepe</info>
         </option>
        </options>      
      </itemAttribute>   
      <itemAttribute type="bean">
        <code>DISCONTINUADO</code>
        <dataType>boolean</dataType>
        <name>Discontinuado</name>
        <disabled>false</disabled> 
        <showInfo>true</showInfo>
        <showRgb>false</showRgb>         
       </options>      
    </itemAttributes>
  </params>
</bridgeCoreRequest>]]></request>
         <!--Optional:-->
         <store>0</store>
      </ser:execute>
   </soapenv:Body>
</soapenv:Envelope>

...

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


stockReservationRequired

Boolean

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

No

 Si el parámetro store.setItemSerializedFlagWithReservationByService = true cuando en el servicio de importación el item venga con el campo serialNumberRequiredFlag = true, importar

item.stockReservationRequired = true

 Si el parámetro store.setItemSerializedFlagWithReservationByService = false procede como actualmente (si viene el valor en este campo lo setea con ese valor sino importa el default: false)

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


formRequiredFlag

boolean

Flag indicador de formulario requerido

No (opcional)

Default = false si no viene informado
Se importará en el campo USR_V_FL de la tabla ITM_USR_DATA

upcStringCódigo Universal de Producto del ArticuloNoEs un dato que permite agrupar varios artículos para listas de precios por umbral y su acumulación de unidades
manufacturerstring

Código del fabricante

En este campo los valores admitidos deben encontrarse dados de alta dentro de la tabla manufacturer (campo code)

(a partir de Bridge7.2)

No (opcional)

(a partir de Bridge 7.2)

exemptFlagboolean

Flag de item exento

(a partir de Bridge7.2)

No (opcional)

Default = false si no viene informado

(a partir de Bridge 7.2)

otherUnitOfMeasurelist

Lista de unidades de medida complementarias

otherUnitOfMeasure

<uomCode>blister</uomCode>

<conversionFactor>0.1</conversionFactor>

No (opcional)

(a partir de 7.2)

printCommandsFlagbooleanFlag de ítem para impresión de comandaNo (opcional) 

Default = False si no viene informado. 

(a partir de Bridge 7.3)

maxStock Decimal(11,2)Stock Máximo que la Tienda puede tener por ProductoNo (opcional) 

Default = 0 si no viene informado. 

(a partir de Bridge 7.3)

securityStockDecimal(11,2)Stock de Seguridad Adicional al forecast

No

(opcional)

Default = 0 si no viene informado. 

(a partir de Bridge 7.3)

attributesListAtributos de un itemNo (opcional)

<attributes type="list">

            <attribute type="bean">

               <code>PROCEDENCIA</code>

               <option>NAC</option>

            </attribute>

        </attributes>

creditAllowedboolean

Flag que indica si el articulo puede ser vendido con crédito propio

No (opcional, default=false)

(a partir de 7.4)

blockedForIcd 



boolean

Flag para Artículo bloqueado para Compras y Reposición:

No permite reposición

No (opcional)

Default = false si no viene informado

(a partir de Bridge 7.4)

alcoholicBeverageboolean

Flag que indica si el articulo debe ser validado como bebida alcohólica

No (opcional) 

default=false

(a partir de 7.5)

affiliateBenefitboolean

Flag que indica si el articulo tiene el beneficio de Afiliado

No (opcional, default=false)

(a partir de 7.4)

serialFormatstringPermite definir el tipo de formato admitido para el nro de serie opcional(a partir de 7.4)
externalCodenumber

Permite definir el código externo del item

No (opcional)

v1.17 (a partir de 7.5)

...

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

Request de artículo

...

languagexml

...

minSalePrice

Decimal

Precio mínimo de venta (para cálculo de márgenes para pedidos si aplicara por configuración)

No

minSalePrice (a partir de 7.5.2)

minStockForChannels

number

Cantidad de unidades definidas como stock mínimo para canales 

No


fullDescriptionstringDescripcion ampliadaNo (opcional)

v1.23 (a partir de 7.7)

stockItemobject¿Es un artículo que maneja stock?

No (opcional)

v1.23 (a partir de 7.7)

itemDepth
NumberDecimalProfundidad del ítem

No (opcional)

v1.23 (a partir de 7.7)

itemHeight
NumberDecimalAltura del ítemNo (opcional)

v1.23 (a partir de 7.7)

itemNetWeight
NumberDecimalPeso del ítem

No (opcional)

v1.23 (a partir de 7.7)

minStockForChannels

NumberDecimalStock Minimo para Canales

No (opcional)

v1.23 (a partir de 7.7)

itemGrossWeight
NumberDecimalPeso bruto del ítem

No (opcional)

v1.23 (a partir de 7.7)

itemDiameter
NumberDecimalDiámetro del ítem

No (opcional)

v1.23 (a partir de 7.7)

itemWidth
NumberDecimalAncho del ítem

No (opcional)

v1.23 (a partir de 7.7)

calculateCommissionbooleanCalcula comision

No (opcional)

v1.23 (a partir de 7.7)

relevanceintegerRelevancia

No (opcional)

v1.23 (a partir de 7.7)

publishedbooleanPublicado

No (opcional)

v1.23 (a partir de 7.7)

detailedDescriptionstringDescripcion detallada

No (opcional)

v1.23 (a partir de 7.7)

barcodestringCodBarra

No (opcional)

v1.23 (a partir de 7.7)

requiresPrescriptionFlagbooleanRequiere recetaNo (opcional)

v1.23 (a partir de 7.7)

onConsignmentbooleanConsignado

No (opcional)

v1.23 (a partir de 7.7)

classificationstringClasificacion

No (opcional)

v1.23 (a partir de 7.7)

daysToReturnintegerDias para devoluciones y cambios

No (opcional)

v1.23 (a partir de 7.7)

invoiceNotAllowedbooleanNo permite facturar 

No (opcional)

v1.23 (a partir de 7.7)

notForSalebooleanNo admite otro artículo en la venta 

No (opcional)

v1.23 (a partir de 7.7)

packQtyintegerEmpaque Mínimo

No (opcional)

v1.23 (a partir de 7.7)

gtinintegerCódigo GTIN No (opcional)

v1.23 (a partir de 7.7)

requiresValidationExternalFlagbooleanRequiere Validación Externa

No (opcional)

v1.23 (a partir de 7.7)


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 de atributos debe contener entidades "attribute", las cuales poseen la siguiente estructura:
Ejemplo

 <attributes type="list">

              <attribute type="bean">

                 <code>PROCEDENCIA</code>

                 <option>NAC</option>

              </attribute> 

              <attribute type="bean">
                  <code>COLOR</code>
                  <option>AZUL</option>
               </attribute>
                 <attribute type="bean">
                  <code>PREP Physical</code>
                  <option>true</option>
               </attribute>

</attributes>

NOTA: si la opción o valor enviado pertenece a un atributo del tipo "list", se validará que la opción exista previamente. No se creará el item si este valor no existe para no generar inconsistencias de datos. (a partir de 7.5.1)


Propiedad

Tipo de dato

Descripción

Requerido

code

String(25)

Código de impuesto interno

Si

option

String

Según el tipo de dato 

Si

Request de artículo

Bloco de código
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<bridgeCoreRequest>
   <operation>createOrUpdate</operation>
   <params>
      <items type="list">
         <item type="bean">
            <itemCode>ABC999</itemCode>
            <description>ABC999 Producto con atributo</description>
            <description2>PROD</description2>
            <description3>PROD</description3>
            <price>7000.0000</price>
            <unitCostPrice>2000.0000</unitCostPrice>
            <vatCode>2</vatCode>
            <notForSaleFlag />
            <notForDiscountsFlag />
            <priceRequiredFlag />
            <weightRequiredFlag />
            <quantityRequiredFlag />
            <quantityAllowedFlag>true</quantityAllowedFlag>
            <restrictedSaleFlag />
            <logExceptionFlag />
            <authorizationRequiredFlag />
            <serialNumberRequiredFlag>false</serialNumberRequiredFlag>
            <returnNotAllowedFlag />
            <supplierCode>MIRGOR2</supplierCode>
            <brandCode />
            <itemType>NORM</itemType>
            <promotionalPrice />
            <promotionalPriceDateFrom format="dd-MM-yyyy hh:mm:ss" />
            <promotionalPriceDateTo format="dd-MM-yyyy hh:mm:ss" />
            <uomCode>u</uomCode>
            <imageCode />
            <lastUpdateSaleUnitPrice format="dd-MM-yyyy hh:mm:ss" />
            <genericItemFlag>false</genericItemFlag>
            <kitComponentFlag>false</kitComponentFlag>
            <inventoryLocationCode>DEP1</inventoryLocationCode>
            <commissionPercent />
            <disabled>false</disabled>
            <itemVATCategory>G</itemVATCategory>
            <uom2Code />
            <uom2Units />
            <uom2Operation />
            <stockReservationRequired>true</stockReservationRequired>
            <importDocReq>true</importDocReq>
            <sellerRequired>false</sellerRequired>
            <amountRequiredFlag>true</amountRequiredFlag>
            <genericFieldBoolean1>false</genericFieldBoolean1>
            <genericFieldString1 />
            <genericFieldDecimal1 />
            <webDescription>PROD Seriado12</webDescription>
            <extendedWebDescription />
            <itemPictures>
               <itemPicture />
            </itemPictures>
            <attributes type="list">
               <attribute type="bean">
                  <code>PROCEDENCIA</code>
                  <option>NAC</option>
               </attribute>
                 <attribute type="bean">
                  <code>COLOR</code>
     <itemPicture />
            <<option>AZUL</itemPictures>option>
             <attributes type="list">
  </attribute>
                 <attribute type="bean">
                  <code>PROCEDENCIA<<code>PREPARADO</code>
                  <option>NAC<<option>true</option>
               </attribute>
                  </attributes>
         </item>
      </items>
   </params>
</bridgeCoreRequest>

...

Propiedad

Tipo de dato

Descripción

Requerido

item

String

Código de artículo

Si

itemTypeRelated

String

Código de la relación entre artículos (Valores posibles, los indicados en la columna "Código")

CódigoDetalle
SIArticulos similares
CIArtículos complementarios
CSServicios complementarios
WRTGarantías
SCSimilares por color
STSimilares por talle
SSSimilares por tamaño


Si

itemRelated

String

Código del artículo relacionado

Si

nameRelated

String

Descripción del tipo de relación (texto opcional)

No

disabledBooleanIndicador de habilitadoNo


Request de

...

artículos relacionados

Bloco de código
<bridgeCoreRequest>
   <operation>createOrUpdate</operation>
   <params>
      <itemsRelated type="list">
         <itemRelated type="bean">
            <item>AW5420</item>
            <itemRelated>825301</itemRelated>
            <itemTypeRelated>CI</itemTypeRelated>
            <nameRelated>RComplementario</nameRelated>
         </itemRelated>
         <itemRelated type="bean">
            <item>AW5420</item>
            <itemRelated>825650</itemRelated>
            <itemTypeRelated>SI</itemTypeRelated>
            <nameRelated>RSimil</nameRelated>
         </itemRelated>
      </itemsRelated>
   </params>
</bridgeCoreRequest>

...



Campo del servicio 

-- Propiedad --

Tipo de dato

Requerido

Descripción 

Campo en el cual importar en la tabla "itemInternalTax"

Default

1item

string

si

Código del ítem 

Se va a recibir el código del artículo, en la tabla se guardaría el ID del objeto ítem que coincida con el internalCode recibido (de la tabla item)

  • Si no existe el código en la tabla item.internalCode debería informar error

2internalTaxType

string

siCódigo del impuesto interno

Se va a recibir el código del impuesto interno (campo internalTaxType.code). Se debe buscar en la tabla internalTaxType y guardar el ID del objeto

  • Si no existe el código en la tabla internalTaxType.code debería informar error

3amountnumbersiMonto del impuesto (este sobre escribe el del impuesto para el artículo)amount
4

effectiveDateTime

datesiFecha inicio de validez del impuestoeffectiveDateTime
5

expirationDateTime

datesiFecha fin de validez del impuestoexpirationDateTime
6

description

stringnoDescripción de la relación del impuesto-artículodescription
7

disabled

booleansiIndicador de habilitado o no la relación del item-impuesto internodisabledfalse
  • Los campos updatedAt (si se actualiza o se crea el registro) y createdAt se importarán al momento de la creación del registro

...

Bloco de código
<?xml version="1.0" encoding="UTF-8"?>
<bridgeCoreRequest>
   <operation>createOrUpdate</operation>
   <params>
      <transferDocument type="bean">
         <sourceRetailStore>1</sourceRetailStore>
         <destinationRetailStoreID>2</destinationRetailStoreID>
         <originatorNumber />
         <createDateTimestamp format="yyyy-MM-dd">2019-08-19</createDateTimestamp>
         <expectedDeliveryDate format="yyyy-MM-dd">2019-08-19</expectedDeliveryDate>
         <serialFormID />
         <inventoryControlDocumentState />
         <inventoryControlDocumentLineItems type="list">
            <inventoryControlDocumentLineItem>
               <item>1234</item>
               <unitCount>1</unitCount>
            </inventoryControlDocumentLineItem>
         </inventoryControlDocumentLineItems>
      </transferDocument>
   </params>
</bridgeCoreRequest>

Transferencia 

Este servicio permite enviar desde un sistema externo una transferencia hacia una tienda que se podrá visualizar luego desde el menú Inventario/Transferencias. Este es un caso particular donde la tienda origen es una tienda que debe encontrarse configurada como erpFlag=true (emulando ser un centro de distribución) Solo se mostrará en BMC y en la tienda destino. Esta transferencia ingresa en estado confirmada 

Disponible a partir de Bridge 7.2

Nombre del Servicio: transferDocument

Parámetros de entrada:

Entidad “transferDocument", que posee la siguiente estructura:

...

Propiedad

...

Tipo de dato

...

Descripción

...

Requerido

...

sourceRetailStore

...

String (20)

...

Código de la tienda origen

...

Si

...

destinationRetailStoreID

...

String (20)

...

Código de la tienda destino

...

Si

...

originatorNumber

...

Integer

...

Número de la transferencia externo

...

No

...

createDateTimestamp

...

date

...

Fecha de creación

...

Si

...

ExpectedDeliveryDate

...

date

...

Fecha esperada de entrega

...

No

...

serialFormID

...

Integer

...

Código de la transferencia

...

No cuando estado 2

Si cuando estado 4 o 5

...

inventoryControlDocumentState

...

String

...

"CONFIRMADA" (2) -> Nueva transferencia

"CERRADA" 4 -> Recepción

"CANCELADA" 5 -> Recepción Cancelada

No

...


      </transferDocument>
   </params>
</bridgeCoreRequest>


Transferencia 

Este servicio permite enviar desde un sistema externo una transferencia hacia una tienda que se podrá visualizar luego desde el menú Inventario/Transferencias. Este es un caso particular donde la tienda origen es una tienda que debe encontrarse configurada como erpFlag=true (emulando ser un centro de distribución) Solo se mostrará en BMC y en la tienda destino. Esta transferencia ingresa en estado confirmada 

Disponible a partir de Bridge 7.2

Nombre del Servicio: transferDocument

Parámetros de entrada:

Entidad “transferDocument", que posee la siguiente estructura:

Propiedad

Tipo de dato

Descripción

Requerido

sourceRetailStore

String (20)

Código de la tienda origen

Si

destinationRetailStoreID

String (20)

Código de la tienda destino

Si

originatorNumber

Integer

Número de la transferencia externo

No

createDateTimestamp

date

Fecha de creación

Si

ExpectedDeliveryDate

date

Fecha esperada de entrega

No

serialFormID

Integer

Código de la transferencia

(informação) Ver apartado 3.7 por modificación del  del campo inventoryControlDocumentState.


inventoryControlDocumentState

String

"CONFIRMADA" (2) -> Nueva transferencia

"CERRADA" 4 -> Recepción

"CANCELADA" 5 -> Recepción Cancelada

(informação) Ver apartado 3.7 por modificación del

Expandir
titleApartado:


Informações
titleCondiciones:

Configuraciones:

  • Tienda → "store.erpFlag = true"
  • Tienda → "disabled = false"
  • Parámetro → "disabled = false"

Tienda es ERP → el mismo servicio genera los registros en la journal.

Tienda NO es ERP → el servicio no genera registros en la journal. Si se tratara de una tienda Bridge, los registros de la journal los generará el BM al procesar la InventoryControlDocument. El registro de la InventoryControlDocument replica a Tienda cuando Destino NO es ERP

---->>>>>PASO 1 : Validación de estados:

En código se valida que el estado enviado dependiendo de la tienda origen y destino sea el correcto.

Si no se envía estado, el estado por defecto es Cerrado

1) Transferencia de ERP a ERP

  • Confirmado: error
  • Cerrado: ok
  • Cancelado: error
  • serialFormID -> vacío

2) Transferencia de ERP a Tienda

  • Confirmado: ok
  • Cerrado: error 
  • Cancelado: error 
  • serialFormID -> vacío

3) Transferencia Tienda a ERP

  • Confirmado: error 
  • Cerrado: ok
  • Cancelado: ok
  • serialFormID: debe existir

4) Transferencia Tienda a Tienda

  • Confirmado: error 
  • Cerrado: error 
  • Cancelado: error 


ICDReference

Integer

Número de la orden de transferencia

No

inventoryControlDocumentLineItems

List

Lista de artículos de la transferencia

Si cuando serialFormID no informado.

No cuando el serialFormID informado

...

  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)

TY_RO_PRTY

NM_RO_PRTY

DE_RO_PRTY

CD_RO_PRTY

1

Cliente

Denota un cliente de la empresa

1

2

Empleado

Denota un empleado de la empresa cliente/proveedora

2

3

Posible cliente

Denota un cliente potencial para la empresa

3

4

Proveedor

Entidad que provee de mercaderías a la empresa

4

5

Ejecutivo de ventas

Denota un ejecutivo de ventas de la empresa proveedora

5

6

Ejecutivo de compras

Denota un ejecutivo de compras de la empresa cliente

6


Si

Name

Varchar

Nombre del rol

Se valida que corresponda al nombre del rol indicado en el campo partyRoleId (campo NM_RO_PRTY)Ej: “Cliente”, “Empleado”indicado en el campo partyRoleId (campo NM_RO_PRTY)

Ej: “Cliente”, “Empleado”

NOTA: este campo es caseSensitive, con lo cual debe enviarse tal cual se encuentra creado en el ABM de tipos de clientes (campo nombre) 

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 (L a estructura puede verse bajo el título "Metodos de contacto"   , ver “ Metodos de contacto” )

SI

(al menos debe tener uno)

...

  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

Puede ser unos de los siguientes valores:

1 – Particular

2 – Laboral

Si

name

String

Nombre del método de contacto (ej: personal, laboral) 

No

externalSellerID 

String

Opcional 

ID del vendedor externo

No

externalSellerName 


String

Opcional

Nombre del vendedor externo 

Ejemplo

<partyContactMethod type="bean">
                        <purposeType id="2" />
                        <methodType id="2" />
                        <effectiveDate format="dd-MM-yyyy">01-01-2000</effectiveDate>
                        <expirationDate format="dd-MM-yyyy">31-12-2050</expirationDate>

                        <externalSellerID>123</externalSellerID>                     

                        <externalSellerName>Juan Perez</externalSellerName>        

                     </partyContactMethod>
                  </contactMethods>

No

effectiveDate

Date

Fecha de inicio vigencia

Si

expirationDate

Date

Fecha expiración del contacto

Si

address

Bean

Domicilio (L a estructura puede verse bajo el título "Domicilio", ver “Domicilio” )

No

emailAddress

Bean

Correo Electronico(L a estructura puede verse bajo el título "Correo electrónico", ver “Correo electrónico” )

No

telephone

Bean

Telefono(L a estructura puede verse bajo el título "Telefono"   , ver “Telefono” )

No

...

Bloco de código
<bridgeCoreRequest>
	<operation>createOrUpdate</operation><params>
		<customers type="list">
			<customer type="bean"><code>920180</code>
			<store>1</store><party type="bean">
				<name>PINTURERIA ORO SA</name>
				<typeCode>OGN</typeCode>
				<roleAssignments type="list"><partyRoleAssignment type="bean">
				<contactMethods type="list">
					<partyContactMethod type="bean">
						<purposeType id="2"/><methodType id="1"/>
 						<name>Laboral</name> 
                        <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>ARG</code></country>
								<state type="bean">
									<code>AR-B</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="1">
          <name>Cliente</name>
       </partyRole>

									<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>PINTURERIA ORO SA</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> -- en caso del IVA siempre es ARG porque 
														</jurisdiction><taxCategory type="bean">
														<code>RI</code>
														</taxCategory><type type="bean">
														<code>IVA</code></type>
														</jurisdictionNType>
														</taxRegistrationTaxType>
														</taxTypes>
														</taxRegistration>
														<taxRegistration type="bean">
															<name>PINTURERIA ORO SA</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>BA</taxJurisdictionCode>
																			</jurisdiction>
																			<taxCategory type="bean">
																				<code>L</code>
																			</taxCategory><type type="bean">
																			<code>IB</code></type>
																			</jurisdictionNType>
																			</taxRegistrationTaxType>
																			</taxTypes>
																</taxRegistration>
													</taxRegistrations>
						</party>
				</customer>
		</customers>
		</params>
	<replicationStore>0</replicationStore>
</bridgeCoreRequest>

...

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

password

String (50)

Contraseña encriptada

No

Validaciones:

  • Usuarios Nuevos: sino se informa, se guarda la contraseña encriptada "changeme" y el flag "mustChangePassword = true", independientemente del valor que haya recibido en el campo "mustChangePassword"
  • Si se envía la contraseña encriptada, se guarda como tal.
  • Si se informa este campo y no passwordSalt, se asume que la contraseña está en texto plano. Esto va a provocar que se encripte la contraseña y se guarden tanto el password como el passwordSalt.

passwordSalt

String (50)

Contraseña encriptadaSi para nuevo de usuario

No

para usuario existente

passwordSalt

String (50)

Contraseña de usuario

Si para nuevo usuario

No para usuario existente

Validaciones:

  • Usuarios Nuevos: sino se informa, se guarda la contraseña encriptada "changeme" y el flag "mustChangePassword = true", independientemente del valor que haya recibido en el campo "mustChangePassword"
  • Si se envía la contraseña encriptada, se guarda como tal.
  • Si se informa password y no passwordSalt, se asume que la contraseña está en texto plano. Esto va a provocar que se encripte la contraseña y se guarden tanto el password como el passwordSalt.

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

Se debe informar la relación grupo-tienda

No

, en caso de no enviar se asume que va a toda tienda

 <roleGroups type="list">
<roleGroup type="bean">
<group>Cajero</group>
<store>10</store>
</roleGroup>
<roleGroup type="bean">
<group>Vendedor</group>
<store>10</store>
</roleGroup>

Validaciones:

  • Si roleGroup.store tiene valor, se asigna el grupo a esa tienda.
  • Si roleGroup.store no tiene valor y el store base es distinto de cero, se usa esa tienda.
  • Si roleGroup.store no tiene valor y el store base es igual a cero, el grupo queda asignado para central (store = null)

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

Después 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 opcional. Por defecto el usuario se encuentra desbloqueado.

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)

...

PropiedadTipo de datoDescripciónRequeridoCampo a importar en ItemStore

internalCode

String (25)

Código de artículo 

Si

  • "internalCode" 
  • "item": se importa el ObjectID que corresponda al código del item enviado item.internalCode) Si no existe informar error

storeCode

String

Código de tienda

Si

  • "storeCode" = código de tienda recibido
  • "store": se importa el ObjectID que corresponda al código de la tienda enviado store.code) Si no existe informar error

notForSale

Integer

Item no a la venta.

Valores posibles:

  • 0 = sin cambios
  • 1 = SI
  • 2 = NO

No

"notForSale"

disabled

Integer

Item deshabilitado

Valores posibles:

  • 0 = sin cambios
  • 1 = SI
  • 2 = NO

No

"disabled"

blockedForIcd

Integer

Item Bloqueado para la compra (solo en órdenes de compra)

Valores posibles:

  • 0 = sin cambios
  • 1 = SI
  • 2 = NO

No

"blockedForIcd"

ivaType

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)

No

  • "ivaType" (ObjectID que corresponda al código de la marca enviado itemIvaType.code) Si no existe informar error


brand

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

  • "brand" (ObjectID que corresponda al código de la marca enviado brand.name) Si no existe informar error

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)

No

  • "itemType" (ObjectID que corresponda al código de la marca enviado itemIvaType.code) Si no existe informar error

maxStock

Decimal(11,2)

Cantidad máxima de stock permitida utilizado únicamente para la funcionalidad de pedido sugerido

No

"maxStock"

securityStock

Decimal(11,2)

Stock de seguridad  utilizado únicamente para la funcionalidad de pedido sugerido

No

 "securityStock"

price

NumberDecimal("0.0000")

Precio de venta

No

"price"

unitCost

NumberDecimal("0.0000")

Precio de costo - Si método de costeo = ppp, se actualizará en tienda, únicamente en la carga inicial. Cualquier costo posterior que se envíe, no pisará el costo de la tienda.

No

"unitCost"

minSalePrice

Decimal

Precio mínimo de venta (para cálculo de margenes si aplicara por configuración)

No

minSalePrice

minStockForChannels

Decimal

Cantidad de stock mínimo para canales por tienda

No

minStockForChannels

location Varchar(25)Código del almacén o depósito por default.No"location"
saleLocation Varchar(25)Código del almacén o depósito para la venta.No"saleLocation"
onConsignment 

Integer

Item en consignación

Valores posibles:

  • 0 = sin cambios
  • 1 = SI
  • 2 = NO

No

 "onConsignment"

Consideraciones de algunos campos no informados en el servicio:

internalCode

itemStore.item →  item.internalCode

Con el código del ítem recibido, se obtiene el ID del ítem

description

itemStore.item →  item.description

Con el ID del item se obtiene el item.description

storeCode

itemStore.store → store.code

Con el código de la tienda recibido, se obtiene el ID del store

processed

por defecto false


notForSale

Si no es informado, por defecto deben ser 0


disabled

Si no es informado, por defecto deben ser 0


blockedForIcd

Si no es informado, por defecto deben ser 0


createdAt

Si es un nuevo registro importar la fecha actual, sino no se modifica


updatedAt

Actualizar con la fecha actual 


hierarchyGroup



processed

Importar con valor false (para que luego lo tome el job de API que los procesa) 

 

onConsignment

Si no es informado, por defecto debe ser 0


Request de itemStore

Bloco de código
<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>itemStore</service>
         <!--Optional:-->
         <request>
    <![CDATA[ 
<bridgeCoreRequest>
   <operation>createOrUpdate</operation>
   <params>
      <itemStores type="list">

     <itemStore><itemCode>2345<<itemStore><internalCode>2345</itemCode><storeCode>1<internalCode><storeCode>1</storeCode> <vatCode>2</vatCode>  </itemStore>

      <itemStore><itemCode>2345<<itemStore><internalCode>2345</itemCode><storeCode>2<internalCode><storeCode>2</storeCode> <vatCode>1</vatCode>  </itemStore>

       <itemStore> <itemCode>312<<internalCode>312</itemCode><storeCode>2<internalCode><storeCode>2</storeCode> <disabled>2</disabled></itemStore>


      </itemStores>
   </params>
</bridgeCoreRequest>

  ]]> 

         </request>
         <!--Optional:-->
      </ser:execute>
   </soapenv:Body>
</soapenv:Envelope>

...