© 2024 Napse. Todos los derechos reservados.
Bridge Core es una solución que permite ejecutar operaciones y reglas devolviendo el resultado en un formato entendible por el cliente para poder ser utilizadas por cualquier otra aplicación.
Es el servidor de reglas de negocio, el cual procesa los requerimientos recibidos, desde las aplicaciones externas, a través de un cliente (Web Service), ejecutando las operaciones y/o reglas de negocio correspondientes utilizando BridgeCore, y retornando el resultado de dicho procesamiento al cliente.
Este servidor establece y mantiene las sesiones con los clientes.
Es un servidor RESTful de reglas de negocio, el cual procesa los requerimientos recibidos desde una invocación HTTP, ejecuta las operaciones y/o reglas de negocio correspondientes utilizando BridgeCore, y retornando el resultado de dicho procesamiento al cliente.
Es una librería cuya misión es la de simplificar la interacción entre aplicaciones externas (como por ejemplo una aplicación de eCommerce, un POS tradicional, un Self-Checkout, un cliente Mobile, etc.) y el Servidor de Reglas. Para ello, provee de un mecanismo para poder interactuar con el servidor de reglas, realizando peticiones y obteniendo las respectivas respuestas de procesamiento de manera simplificada. Este cliente solo sirve para comunicarse con Bridge Core Server.
Un concepto importante en REST es la existencia de recursos (elementos de información), que pueden ser accedidos utilizando un identificador global (un Identificador Uniforme de Recurso). Para manipular estos recursos, los componentes de la red (clientes y servidores) se comunican a través de una interfaz estándar (HTTP) e intercambian representaciones de estos recursos.
Los recursos que expone Bridge Core Server Rest son:
Si lo que se desea es realizar una transacción en una terminal dada, lo primero que hay que hacer es un startup de dicha terminal.
Esta acción es requerida para que Bridge Core asigne una sesión de terminal al cliente que intenta utilizar las reglas de negocio. Sin la petición de esta acción ningún cliente podrá utilizar las reglas de negocio del Workflow, ya que durante este proceso se asigna una terminal del sistema y un identificador de sesión de terminal.
Para hacer un startup a través de una request HTTP, se debe invocar la operación estándar POST de HTTP con la siguiente url:
http://localhost:8080/bcoreserver/terminal/{codigoTerminal} |
Donde:
Tanto la Tienda como la Termianal deben existir y estar activas. |
Así, por ejemplo, si deseo conectarme a un server rest local, e iniciar la terminal 10, invoco:
http://localhost:8080/bcoreserver/63/113 |
Bridge Core Server REST retorna los resultados en XML. Por eso, el header de la request HTTP debe tener los siguientes valores:
Dicha operación retorna un terminal representation, el cual en xml tiene la siguiente estructura:
<?xml version="1.0" encoding="UTF-8" ?> <bridgeCoreResponse> <ack>0</ack> <message></message> <sessionId>56a31332-6732-47e3-b00b-c5ad00c9de6d</sessionId> <operationResult class="string">56a31332-6732-47e3-b00b-c5ad00c9de6d</operationResult> <representation class="terminalRepresentation"> <terminalCode>10</terminalCode> <storeCode>2</storeCode> <status>OK</status> </representation> </bridgeCoreResponse> |
Toda response tiene los siguientes atributos:
Una vez establecida una conexión a una terminal, se puede empezar a invocar operaciones para loguearse con un usuario, iniciar una transacción, ejecutar operaciones dentro de dicha transacción, finalizar, etc.
La primera operación que se debe invocar es la de logueo, en la cual se inicia una sesión de usuario para esa terminal.
Para invocar dicha operación, se debe enviar una request HTTP PUT a la siguiente url.
http://localhost:8080/bcoreserver/terminal/{codigoTerminal} |
Por ejemplo, si la conexión se ha establecido a la terminal 10, la url debe ser:
http://localhost:8080/bcoreserver/63/113 |
A su vez, el header de la request debe ser:
Y el entity a enviar en XML tiene la siguiente estructura
<bridgeCoreRequest> <connectionId>56a31332-6732-47e3-b00b-c5ad00c9de6d</connectionId> <operation>login</operation> <params> <userName>suser</userName> <userPassword>suser123</userPassword> </params> </bridgeCoreRequest> |
Donde:
La respuesta de una operación es un xml con la a siguiente estructura:
<?xml version="1.0" encoding="UTF-8" ?> <bridgeCoreResponse> <ack>0</ack> <message></message> <sessionId>56a31332-6732-47e3-b00b-c5ad00c9de6d</sessionId> <representation class="terminalRepresentation"> <terminalCode>10</terminalCode> <storeCode>$(storeId)</storeCode> <status>OK</status> <sessionData> <menu> <options> <optionMenu> <id>1</id> <optionNumber>1</optionNumber> <optionName>Venta</optionName> </optionMenu> … </options> </menu> <trainingMode>false</trainingMode> <promoOptions/> <promoSuggestions/> </sessionData> </representation> </bridgeCoreResponse> |
En este caso, como se puede ver, también se retornan valores para las propiedades ack, message y sessionId.
Dentro de representation retorna un terminalRepresentation y dentro de menú se encuentran las transacciones que se pueden iniciar.
Esta operación permite seleccionar la transacción a inicializar a partir de su id, el cual fue retornado en las opciones de menú de la operación de Login:
<sessionData> <menu> <options> <optionMenu> <id>1</id> <optionNumber>1</optionNumber> <optionName>Venta</optionName> </optionMenu> … |
Para invocar dicha operación, se debe ejecutar una request HTTP PUT igual a la de Login, pero con el siguiente Entity:
<bridgeCoreRequest> <connectionId>56a31332-6732-47e3-b00b-c5ad00c9de6d</connectionId> <operation>selectTransaction</operation> <params> <transactionSubtype>1</transactionSubtype> </params> </bridgeCoreRequest> |
Dónde:
Y la respuesta de dicha operacion es la siguiente:
<?xml version="1.0" encoding="UTF-8" ?> <bridgeCoreResponse> <ack>0</ack> <message></message> <sessionId>db0af19d-6574-4c01-ae38-746eb7511ae6</sessionId> <representation class="terminalRepresentation"> <terminalCode>10</terminalCode> <storeCode>$(storeId)</storeCode> <status>OK</status> <sessionData> <ticket> <userName>suser</userName> <terminalCode>10</terminalCode> <storeCode>$(storeId)</storeCode> <subtotal> <number>0</number> </subtotal> <total reference="../subtotal"/> <totalBalance reference="../subtotal"/> <items/> <payments/> <paymentsTotal reference="../subtotal"/> <change reference="../subtotal"/> <paid>false</paid> <discounts/> <discountsItemsTotal reference="../subtotal"/> <discountsTransactionTotal reference="../subtotal"/> <discountsPromoTotal reference="../subtotal"/> <totalLoyaltyBenefits> <number>0.00</number> </totalLoyaltyBenefits> <promoPaymentPlans/> <promoGifts/> </ticket> <tendersMenu> <options> <optionMenu> <id>1</id> <optionNumber>1</optionNumber> <optionName>Contado</optionName> </optionMenu> <optionMenu> <id>2</id> <optionNumber>2</optionNumber> <optionName>Dólares</optionName> </optionMenu> … </options> </tendersMenu> <trainingMode>false</trainingMode> <promoOptions/> <promoSuggestions/> </sessionData> <cashDrawerOpenAllowed>false</cashDrawerOpenAllowed> </representation> </bridgeCoreResponse> |
En este punto, se ha iniciado una transacción de venta, sobre la cual se pueden ejecutar operaciones de agregar items, pagos, anular items, anular pagos, finalizar trx. Etc. |
En BridgeCore es posible invocar ciertos servicios Remotos sin necesidad de establecer una conexión a una terminal. Los servicios están agrupados en interfaces, sobre el cual se pueden ejecutar distintas llamadas.
Así, por ejemplo, si se quieren ejecutar operaciones de orden de compra, las cuales no están asociadas a una terminal, se debe invocar enviando una HTTP PUT request a la siguiente url:
~/service/customerOrder |
Con el siguiente Entity
<bridgeCoreRequest> <connectionId>3bc87f6a-98aa-4cba-985c-e58a70cf1d50</connectionId> <operation>create</operation> <params> <terminal>10</terminal> </params> </bridgeCoreRequest> |
Otro ejemplo puede ser el servicio de consulta de clientes, el cual se debe invocar enviando una HTTP PUT request a la siguiente url:
http://10.4.11.119:8182/bridge-server-rest/service/customer |
Con el siguiente Entity (el cual devolvera en este caso todos los clientes que se encuentren)
<bridgeCoreRequest>
<operation>findCustomers</operation>
<params>
</params>
</bridgeCoreRequest> |
|
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:
<?xml version="1.0" encoding="UTF-8" ?> <bridgeCoreResponse> <ack>10061</ack> <message>La conexión con la terminal 10 ha expirado.</message> <sessionId>56a31332-6732-47e3-b00b-c5ad00c9de6d</sessionId> </bridgeCoreResponse> |
Para obtener una representación en XML del workflow completo de la instancia de BridgeCore, se debe ejecutar un HTTP GET request a la siguiente URL:
~/workflow |
Ejemplo:
http://10.4.11.119:8182/bridge-server-rest/service/workflow |
Al acceder a dicho resource, devuelve el siguiente XML:
<?xml version="1.0" encoding="UTF-8" ?> <bridgeCoreResponse> <ack>0</ack> <message></message> <operationResult class="bCWorkflow"> <name>POS Workflow</name> <activitiesConfig> <bCActivityConfig> <interfaze> <name>com.synthesis.bridge.bcore.business.activities.IdleActivity</name> <packaje>com.synthesis.bridge.bcore.business.activities</packaje> <methods> <bCMethod> <name>startup</name> <parameterTypes> <string>java.lang.String</string> </parameterTypes> <declaringClass>com.synthesis.bridge.bcore.business.activities.IdleActivity</declaringClass> <returnType>java.lang.String</returnType> </bCMethod> </methods> </interfaze> <implClass> <name>com.synthesis.bridge.bcore.business.activities.impl.IdleActivityImpl</name> <packaje>com.synthesis.bridge.bcore.business.activities.impl</packaje> <methods> <bCMethod> <name>startup</name> <parameterTypes> <string>java.lang.String</string> </parameterTypes> <declaringClass>com.synthesis.bridge.bcore.business.activities.impl.IdleActivityImpl</declaringClass> <returnType>java.lang.String</returnType> </bCMethod> |
Para obtener una representación en XML de los services disponibles de Bridge Core, se debe ejecutar un HTTP GET request a la siguiente URL:
~/services |
Ejemplo:
http://10.4.11.119:8182/bridge-server-rest/services |
1. AddressService 2. AliasService 3. AuthorizationService 4. BankService 5. BillService 6. BrandService 7. BroadcastCenterService 8. CRBusinessService 9. CRClientService 10. CRTenderService 11. CardPrefixService 12. CheckCommissionsService 13. ColorService 14. ConfigurationService 15. ContainerService 16. ContigencyLoadInputService 17. CouponPrefixService 18. CouponService 19. CreditExternalQueryService 20. CreditItemDetailsService 21. CreditService 22. CustomerOrderService 23. CustomerService 24. ElectronicAuditService 25. ElectronicJournalService 26. FindBudgetRemoteService 27. FindBudgetService 28. FindCustomerOrderSubTypeService 29. FindItemsService 30. FindOrderDataService 31. FindOrdersRemoteService 32. FindOrdersService 33. FindReasonsItemService 34. FindReasonsService 35. FindRepairManagementService 36. FindUsersService 37. FiscalFilesService 38. FrankingFormatService 39. FuelSalesService 40. FuelSalesUpdateService 41. FuelService 42. GasStationService 43. InternalTaxItemService 44. InternalTaxService 45. InventoryItemService 46. ItemInventoryJournalEntryService 47. ItemInventoryStateService 48. ItemSellingPricesService 49. ItemService 50. ItemTaxCategoryService 51. ItemUsageTypeService 52. IzipayService 53. LinkedItemService 54. LocationService 55. LoyaltyFidelityCardService 56. MerchandiseHierarchyService 57. MonederoService 58. OperatorStatusService 59. PaymentOnAccountService 60. PaymentPlanInstallmentService 61. PaymentPlanService 62. PrinterService 63. ProcessTransactionsService 64. PromoService 65. QuickSaleService 66. RecoverCustomerOrderService 67. RecoverNccService 68. RecoverService 69. RelatedItemService 70. ReprintService 71. RevenueCenterService 72. ServiceItemService 73. ShipmentService 74. SizeService 75. StockItemService 76. StockService 77. StoreService 78. StoreStatusService 79. StoreTaxCategoryService 80. StoreTenderService 81. StyleService 82. SupplierService 83. SuspendedTransactionService 84. TaxGroupRuleService 85. TaxJurisdictionService 86. TaxJurisdictionTaxTypeCategoryService 87. TaxJurisdictionTaxTypeService 88. TaxRateClassService 89. TaxRateRuleService 90. TenderService 91. TerminalCategoryService 92. TerminalParameterService 93. TerminalService 94. TerminalStateService 95. TerminalTenderService 96. TicketTypeService 97. TransactionRemoteService 98. TransactionService 99. UnitOfMeasureConversionService 100. UnitOfMeasureService 101. UserService 102. VTOLService 103. VatService 104. WarrantyService 105. WebCartDeliveryTypeService 106. WitnessReportService |
En el siguiente apartado se muestran distintos ejemplos de Request y Responses de BridgeCore REST Server.
Primero se expondrán todas las BridgeCore Request, y luego se mostrarán las Representations asociadas a cada BridgeCoreResponse.
Operation: startup
Tipo de operación: POST
Request
<bridgeCoreRequest> <connectionId>3bc87f6a-98aa-4cba-985c-e58a70cf1d50</connectionId> <operation>login</operation> <params> <userName>suser</userName> <userPassword>suser123</userPassword> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>bb738b4e-5984-44e2-a09e-7042fdb3cdaa</connectionId> <operation>findCustomers</operation> <params> <personLastName>Perez</personLastName> <personFirstName>Juan</personFirstName> <rowsPage>10</rowsPage> <organizationName>UTN</organizationName> <partyIdentificationNumber>10</partyIdentificationNumber> <customerAccountType>1</customerAccountType> <customerAccountCardNumber>2344</customerAccountCardNumber> <resultPage>15</resultPage> <partyIdentificationTypeId>1</partyIdentificationTypeId> </params> </bridgeCoreRequest> |
Response: FindCustomersRepresentation
Tipo de operación: GET
Request
<bridgeCoreRequest> <connectionId>4c32c5d9-0f50-4801-a5fc-0fcf6471730a</connectionId> <operation>findItems</operation> <params> <rowsPage>15</rowsPage> <hierarchyGroup>1</hierarchyGroup> <itemDescription>Game</itemDescription> <itemCode>10</itemCode> <resultPage>10</resultPage> </params> |
Response: FindItemsRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>3bc87f6a-98aa-4cba-985c-e58a70cf1d50</connectionId> <operation>login</operation> <params> <userName>suser</userName> <userPassword>suser123</userPassword> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>f2117d6c-c141-4a3b-903b-4d5199ee748f</connectionId> <operation>cashDrawerOpen</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>595cbf6c-5446-448b-a79f-0026d5547a01</connectionId> <operation>logoff</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>595cbf6c-5446-448b-a79f-0026d5547a01</connectionId> <operation>receivedPaymentsReport</operation> <params/> </bridgeCoreRequest> |
Response: ReceivedPaymentsReportRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>595cbf6c-5446-448b-a79f-0026d5547a01</connectionId> <operation>resumeTransaction</operation> <params> <resumeTerminalCode>10</resumeTerminalCode> <resumeTransactionNumber>15</resumeTransactionNumber> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT (seleccionar)
Request
<bridgeCoreRequest> <connectionId>595cbf6c-5446-448b-a79f-0026d5547a01</connectionId> <operation>selectTransaction</operation> <params> <transactionSubtype>1</transactionSubtype> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>666c025e-e97c-4990-8cd8-b1dc4076b321</connectionId> <operation>specialLogoff</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request 1: Ingreso por teclado
<bridgeCoreRequest> <connectionId>d6842cd8-631a-42d2-8d19-b967fc7826b6</connectionId> <operation>addCardPayment</operation> <params> <voidFlag>false</voidFlag> <cardAccount>11167894567</cardAccount> <processPromotions>true</processPromotions> <cardPin>1234</cardPin> <paymentAmount>20000.00</paymentAmount> <cardEntryMethod>KYD</cardEntryMethod> <cardNumberOfInstallments>3</cardNumberOfInstallments> <cardEffectiveDate>Sun Sep 01 00:00:00 ACT 2013</cardEffectiveDate> <cardPaymentPlanId>2</cardPaymentPlanId> <cardExpirationDate format="yyMM">1509</cardExpirationDate> <cardCvc>no</cardCvc> <cardLastDigits>4567</cardLastDigits> </params> </bridgeCoreRequest> |
Request 2: Ingreso por MSR
<bridgeCoreRequest> <connectionId>8a11755c-2019-4255-b59d-cd1560af10e5</connectionId> <operation>addCardPayment</operation> <params> <voidFlag>false</voidFlag> <processPromotions>true</processPromotions> <cardPin>1234</cardPin> <paymentAmount>4000.00</paymentAmount> <cardEntryMethod>MSR</cardEntryMethod> <cardNumberOfInstallments>1</cardNumberOfInstallments> <cardEffectiveDate>Sun Sep 01 00:00:00 ACT 2013</cardEffectiveDate> <cardPaymentPlanId>90</cardPaymentPlanId> <cardTracks> <value>asdf1234</value> <value>445jolj45</value> <value>jklue4567</value> <value>acm1kk</value> </cardTracks> <cardCvc>cvc2</cardCvc> <cardLastDigits>6669</cardLastDigits> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request 1: Medio de pago Efectivo
<bridgeCoreRequest> <connectionId>99adfdd7-9ad5-4ec2-a1cb-2028b944aa04</connectionId> <operation>addCashPayment</operation> <params> <voidFlag>false</voidFlag> <processPromotions>true</processPromotions> <paymentAmount>1000.00</paymentAmount> <tender>1</tender> </params> </bridgeCoreRequest> |
Request 2: Medio de pago Dólar
<bridgeCoreRequest> <connectionId>99adfdd7-9ad5-4ec2-a1cb-2028b944aa04</connectionId> <operation>addCashPayment</operation> <params> <voidFlag>true</voidFlag> <processPromotions>true</processPromotions> <paymentAmount>199.90</paymentAmount> <tender>2</tender> </params> </bridgeCoreRequest> |
Request 3: Medio de pago Euro
<bridgeCoreRequest> <connectionId>99adfdd7-9ad5-4ec2-a1cb-2028b944aa04</connectionId> <operation>addCashPayment</operation> <params> <voidFlag>false</voidFlag> <processPromotions>true</processPromotions> <paymentAmount>156.85</paymentAmount> <tender>3</tender> </params> </bridgeCoreRequest> |
Request 4: Medio de pago Cheque
<bridgeCoreRequest> <connectionId>99adfdd7-9ad5-4ec2-a1cb-2028b944aa04</connectionId> <operation>addCashPayment</operation> <params> <voidFlag>false</voidFlag> <processPromotions>true</processPromotions> <paymentAmount>120.00</paymentAmount> <tender>4</tender> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>b46257c1-16ee-4511-87bd-b75cf4574730</connectionId> <operation>addCheckPayment</operation> <params> <voidFlag>false</voidFlag> <checkBank>8989898989</checkBank> <processPromotions>true</processPromotions> <checkNumber>898989898</checkNumber> <paymentAmount>1000.00</paymentAmount> <paymentMethod>4</paymentMethod> <checkAccountNumber>8989898989</checkAccountNumber> <checkEmissionDate format="dd/MM/yyyy">30/08/2013</checkEmissionDate> <checkLocaleCode>ar</checkLocaleCode> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request 1: Agregado de ítem por cantidad
<bridgeCoreRequest> <connectionId>d2892c25-183a-4804-9f02-6fd99fe984b5</connectionId> <operation>addItem</operation> <params> <itemPrice>850</itemPrice> <itemBarcode>78</itemBarcode> <processPromotions>true</processPromotions> <itemQty>1</itemQty> <itemSerial>123456</itemSerial> <itemDepartment>1</itemDepartment> </params> </bridgeCoreRequest> |
Request 2: Agregado de ítem por magnitud
<bridgeCoreRequest> <connectionId>d2892c25-183a-4804-9f02-6fd99fe984b5</connectionId> <operation>addItem</operation> <params> <itemPrice>2267</itemPrice> <itemMagnitude>3.5</itemMagnitude> <itemBarcode>12667</itemBarcode> <processPromotions>false</processPromotions> <itemSerial>654321</itemSerial> <itemDepartment>23</itemDepartment> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>29012828-fbbf-4282-a1f2-d6f66997580c</connectionId> <operation>addItemList</operation> <params> <itemDataList> <value type="map"> <itemPrice>1200</itemPrice> <itemMagnitude>3.9</itemMagnitude> <itemBarcode>78</itemBarcode> <itemQty/> <itemSerial>343434</itemSerial> <itemDepartment>1</itemDepartment> </value> <value type="map"> <itemPrice>3456.90</itemPrice> <itemBarcode>344</itemBarcode> <itemQty>1</itemQty> <itemSerial>567433</itemSerial> <itemDepartment>7</itemDepartment> </value> </itemDataList> <processPromotions>true</processPromotions> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request 1: Monto de descuento
<bridgeCoreRequest> <connectionId>e92744ec-2e00-45f8-b03f-dd5dffac9e56</connectionId> <operation>applyDiscountToItem</operation> <params> <processPromotions>true</processPromotions> <sequenceNumber>1</sequenceNumber> <discountValue>1250</discountValue> <discountType>1</discountType> </params> </bridgeCoreRequest> |
Request 2: Porcentaje de descuento
<bridgeCoreRequest> <connectionId>e92744ec-2e00-45f8-b03f-dd5dffac9e56</connectionId> <operation>applyDiscountToItem</operation> <params> <processPromotions>false</processPromotions> <sequenceNumber>2</sequenceNumber> <discountValue>25</discountValue> <discountType>2</discountType> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request 1: Monto de descuento
<bridgeCoreRequest> <connectionId>d6842cd8-631a-42d2-8d19-b967fc7826b6</connectionId> <operation>applyDiscountToTransaction</operation> <params> <discountValue>13455</discountValue> <discountType>1</discountType> </params> </bridgeCoreRequest> |
Request 2: Porcentaje de descuento
<bridgeCoreRequest> <connectionId>d6842cd8-631a-42d2-8d19-b967fc7826b6</connectionId> <operation>applyDiscountToTransaction</operation> <params> <discountValue>33</discountValue> <discountType>2</discountType> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>1e15d3ae-b27a-4eee-8b28-f96ca8ae6295</connectionId> <operation>cancelTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>1e15d3ae-b27a-4eee-8b28-f96ca8ae6295</connectionId> <operation>cashDrawerOpen</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>e13bcd76-3322-4bc0-86bf-acdc651502e9</connectionId> <operation>findCustomers</operation> <params> <personLastName>Junin</personLastName> <personFirstName>Liliana</personFirstName> <rowsPage>10</rowsPage> <organizationName>UTN</organizationName> <partyIdentificationNumber>32889665</partyIdentificationNumber> <customerAccountType>1</customerAccountType> <customerAccountCardNumber>89893232</customerAccountCardNumber> <resultPage>20</resultPage> <partyIdentificationTypeId>1</partyIdentificationTypeId> </params> </bridgeCoreRequest> |
Response: FindItemsRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>4c32c5d9-0f50-4801-a5fc-0fcf6471730a</connectionId> <operation>findItems</operation> <params> <rowsPage>15</rowsPage> <hierarchyGroup>1</hierarchyGroup> <itemDescription>Game</itemDescription> <itemCode>10</itemCode> <resultPage>10</resultPage> </params> |
Response: FindItemsRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>e13bcd76-3322-4bc0-86bf-acdc651502e9</connectionId> <operation>finishTransaction</operation> <params/> </bridgeCoreRequest> |
Response: xxRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>c6ba7728-489b-40a2-bc60-e7df7e7c1027</connectionId> <operation>linkCustomerWithLoyaltyData</operation> <params> <partyIdentificationNumber>32445778</partyIdentificationNumber> <customerAccountCardId>1</customerAccountCardId> <customerAccountId>1</customerAccountId> <partyIdentificationTypeId>1</partyIdentificationTypeId> <customerId>1</customerId> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request 1
Request 2
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>specialLogoff</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>fff54a6b-9972-4aba-a24a-9d4a72bae5cf</connectionId> <operation>suspendTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
Response: xxRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>22812fd3-278f-4c12-9744-f2d401a052a1</connectionId> <operation>voidItem</operation> <params> <itemPrice>1000</itemPrice> <itemMagnitude>1.5</itemMagnitude> <itemBarcode>78</itemBarcode> <processPromotions>true</processPromotions> <sequenceNumber>1</sequenceNumber> <itemDepartment>1</itemDepartment> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>voidItemDiscount</operation> <params> <processPromotions>true</processPromotions> <sequenceNumber>1</sequenceNumber> <discountType>1</discountType> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>voidTransactionDiscount</operation> <params> <discountType>1</discountType> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>f2117d6c-c141-4a3b-903b-4d5199ee748f</connectionId> <operation>login</operation> <params> <userPassword>suser123</userPassword> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>907585df-19a1-4ba0-b662-1a84f2560200</connectionId> <operation>unblockTerminal</operation> <params> <userName>suser</userName> <userPassword>suser123</userPassword> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>cancelTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>specialLogoff</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>transferTerminal</operation> <params> <userPassword>false</userPassword> <sourceTerminalCode>10</sourceTerminalCode> </params> </bridgeCoreRequest> |
Response: xxRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>4d4c0364-a26c-40f4-b08a-1219f4d00cec</connectionId> <operation>addTender</operation> <params> <voidFlag>false</voidFlag> <paymentQuantity>1</paymentQuantity> <paymentAmount>1300.80</paymentAmount> <paymentMethod>1</paymentMethod> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>cancelTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>e13bcd76-3322-4bc0-86bf-acdc651502e9</connectionId> <operation>finishTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>specialLogoff</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>cancelTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>e13bcd76-3322-4bc0-86bf-acdc651502e9</connectionId> <operation>finishTransaction</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: GET/POST/PUT/DELETE (seleccionar)
Request
<bridgeCoreRequest> <connectionId>71339cd2-03bf-4bde-a72d-4fc1ab48c7e5</connectionId> <operation>specialLogoff</operation> <params/> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
Request 1: Efectivo
<bridgeCoreRequest> <connectionId>6f1eafd3-278f-4d35-ba90-f03fd47d725f</connectionId> <operation>tenderAdjustment</operation> <params> <newPaymentAmount>0.00</newPaymentAmount> <originalPaymentMethod>1</originalPaymentMethod> <newVoidFlag>false</newVoidFlag> <newPaymentMethod>1</newPaymentMethod> <originalVoidFlag>false</originalVoidFlag> <originalPaymentAmount>1200.00</originalPaymentAmount> </params> </bridgeCoreRequest> |
Request 2: Cheque
<bridgeCoreRequest> <connectionId>14375b91-63cc-4240-8cb6-0c25149cd9b7</connectionId> <operation>tenderAdjustment</operation> <params> <checkBank>9087653759</checkBank> <newPaymentAmount>4670.00</newPaymentAmount> <checkNumber>78787878</checkNumber> <originalPaymentMethod>1</originalPaymentMethod> <checkAccountNumber>123456789</checkAccountNumber> <newVoidFlag>false</newVoidFlag> <checkEmissionDate format="dd/MM/yyyy">20/08/2013</checkEmissionDate> <newPaymentMethod>4</newPaymentMethod> <originalVoidFlag>true</originalVoidFlag> <originalPaymentAmount>1500.00</originalPaymentAmount> <checkLocaleCode>mx</checkLocaleCode> </params> </bridgeCoreRequest> <bridgeCoreRequest> <connectionId>14375b91-63cc-4240-8cb6-0c25149cd9b7</connectionId> <operation>tenderAdjustment</operation> <params> <checkBank>9087653759</checkBank> <cardEntryMethod>KYD</cardEntryMethod> <newPaymentMethod>4</newPaymentMethod> <cardPaymentPlanId>1</cardPaymentPlanId> <cardCvc>cvc45</cardCvc> <cardLastDigits>7676</cardLastDigits> <checkLocaleCode>mx</checkLocaleCode> <newPaymentAmount>4670.00</newPaymentAmount> <cardAccount>5656565656767676</cardAccount> <originalPaymentMethod>32900.00</originalPaymentMethod> <checkNumber>78787878</checkNumber> <cardPin>1234</cardPin> <newVoidFlag>false</newVoidFlag> <checkAccountNumber>123456789</checkAccountNumber> <cardNumberOfInstallments>12</cardNumberOfInstallments> <cardEffectiveDate>Sun Sep 01 00:00:00 ACT 2013</cardEffectiveDate> <checkEmissionDate format="dd/MM/yyyy">20/08/2013</checkEmissionDate> <cardExpirationDate format="yyMM">1309</cardExpirationDate> <originalPaymentAmount>false</originalPaymentAmount> <originalVoidFlag>true</originalVoidFlag> </params> </bridgeCoreRequest> |
Request 3: Tarjeta
<bridgeCoreRequest> <connectionId>14375b91-63cc-4240-8cb6-0c25149cd9b7</connectionId> <operation>tenderAdjustment</operation> <params> <checkBank>9087653759</checkBank> <cardEntryMethod>KYD</cardEntryMethod> <newPaymentMethod>4</newPaymentMethod> <cardPaymentPlanId>1</cardPaymentPlanId> <cardCvc>cvc45</cardCvc> <cardLastDigits>7676</cardLastDigits> <checkLocaleCode>mx</checkLocaleCode> <newPaymentAmount>4670.00</newPaymentAmount> <cardAccount>5656565656767676</cardAccount> <originalPaymentMethod>32900.00</originalPaymentMethod> <checkNumber>78787878</checkNumber> <cardPin>1234</cardPin> <newVoidFlag>false</newVoidFlag> <checkAccountNumber>123456789</checkAccountNumber> <cardNumberOfInstallments>12</cardNumberOfInstallments> <cardEffectiveDate>Sun Sep 01 00:00:00 ACT 2013</cardEffectiveDate> <checkEmissionDate format="dd/MM/yyyy">20/08/2013</checkEmissionDate> <cardExpirationDate format="yyMM">1309</cardExpirationDate> <originalPaymentAmount>false</originalPaymentAmount> <originalVoidFlag>true</originalVoidFlag> </params> </bridgeCoreRequest> |
Response: TerminalRepresentation
Tipo de operación: PUT
El servicio de creación sirve para crear y persistir una orden de compra, o bien para calcular como sería una orden con la diferencia de que no se crea en la base de datos. A continuación se mostrarán distintos ejemplos de creación y cálculo.
Partes de la Request
Declaración de Request: todos los datos deben estar encerrados entre los siguientes tags.
<bridgeCoreRequest>
</bridgeCoreRequest>
Nombre de la operación: sin importar cuál de las dos operaciones sea, siempre debe ser asignado de la siguiente manera.
<operation>create</operation> |
Parámetros: deben estar encerrados entre los siguientes tags.
<params>
</ params >
A continuación se detallan los siguientes parámetros de ingreso, los cuales deben ir dentro del tag mencionado arriba.
Datos generales de la orden: identificación de cliente, fecha estimada de entrega
<estimatedAvailabilityDate format="yyyy-MM-dd">2013-12-13</estimatedAvailabilityDate>
<customerId>1</customerId>
Nombre de usuario y contraseña: deben pertenecer a un usuario válido existente en la base de datos.
<userName>111</userName>
<userPassword>user111</userPassword>
Indicador de creación o cálculo: true en caso de creación, y false en caso de cálculo. Si este parámetro no se ingresa, el valor a tomar por defecto es false.
Crear orden
<customerOrderCalculate>false</customerOrderCalculate> |
Calcular orden
<customerOrderCalculate>true</customerOrderCalculate> |
Indicador de procesado de promociones: se debe enviar true en caso de que se solicite calcular promociones y descuentos, y false caso contrario.
<processPromotions>true</processPromotions> |
Datos de ítems: no es posible enviar una lista vacía, se debe ingresar al menos uno. Dependiendo de las características del ítem, los atributos itemPrice e itemQty no serán necesarios. Pero en todos los casos itemBarcode será obligatorio.
Un solo ítem:
<customerOrderItems> <value type="map"> <itemPrice>250</itemPrice> <itemBarcode>75001</itemBarcode> <itemQty>2.00</itemQty> </value> </customerOrderItems> |
Más de un ítem:
<customerOrderItems> <value type="map"> <itemPrice>250</itemPrice> <itemBarcode>75001</itemBarcode> <itemQty>2.00</itemQty> </value> <value type="map"> <itemPrice/> <itemBarcode>89001</itemBarcode> <itemQty/> </value> <value type="map"> <itemPrice/> <itemBarcode>20001</itemBarcode> <itemQty/> </value> <value type="map"> <itemPrice/> <itemBarcode>1</itemBarcode> <itemQty/> </value> </customerOrderItems> |
Tipo de entrega: es excluyente y sólo existen dos tipos de entrega.
Retiro en tienda: se corresponde con el tipo “Order for Pickup”
<customerOrderTypeCode>ofp</customerOrderTypeCode> |
Entrega a domicilio: se corresponde con el tipo “Order for Delivery”
<customerOrderTypeCode>ofd</customerOrderTypeCode> |
Datos de entrega: si bien el método de entrega es excluyente, se puede enviar información de ambos tipos. Pero luego BCore tomará la información del que se necesite según el tipo enviado, y los datos que no necesite los ignorará.
Retiro en tienda
<retirementStoreCode>1</retirementStoreCode> <customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson> |
Entrega a domicilio
<shipmentPrice>25.00</shipmentPrice> <customerOrderAddress>25 de Mayo 1100</customerOrderAddress> |
A continuación se mostrarán varios ejemplos de solicitudes.
Request 1: Ejemplo de creación/cálculo para orden con retiro en tienda, enviando varios artículos y sin cálculo de promociones.
Creación de orden
<bridgeCoreRequest>
<operation>create</operation>
<params>
<userName>111</userName>
<userPassword>user111</userPassword>
<customerOrderItems>
<value type="map">
<itemPrice/>
<itemBarcode>75001</itemBarcode>
<itemQty>2.00</itemQty>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>89001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>20001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>1</itemBarcode>
<itemQty/>
</value>
</customerOrderItems>
<customerOrderCalculate>false</customerOrderCalculate>
<processPromotions>false</processPromotions>
<customerOrderTypeCode>ofp</customerOrderTypeCode>
<customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson>
<retirementStoreCode>1</retirementStoreCode>
<estimatedAvailabilityDate format="yyyy-MM-dd">2013-11-07</estimatedAvailabilityDate>
<customerId>1</customerId>
</params>
</bridgeCoreRequest>
Cálculo de orden
<bridgeCoreRequest> <operation>create</operation> <params> <userName>111</userName> <customerOrderCalculate>true</customerOrderCalculate> <customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson> <customerOrderDeliveryShift>8:00-10:00</customerOrderDeliveryShift> <userPassword>user111</userPassword> <estimatedAvailabilityDate format="yyyy-MM-dd">2013-12-12</estimatedAvailabilityDate> <customerId>1</customerId> <customerOrderAdditionalDeliveryData>Entre Pedro Molina y Colon</customerOrderAdditionalDeliveryData> <shipmentPrice>25.00</shipmentPrice> <customerOrderItems> <value type="map"> <itemPrice/> <itemBarcode>75001</itemBarcode> <itemQty>2.00</itemQty> </value> <value type="map"> <itemPrice/> <itemBarcode>89001</itemBarcode> <itemQty/> </value> <value type="map"> <itemPrice/> <itemBarcode>20001</itemBarcode> <itemQty/> </value> <value type="map"> <itemPrice/> <itemBarcode>1</itemBarcode> <itemQty/> </value> </customerOrderItems> <customerOrderTypeCode>ofp</customerOrderTypeCode> <processPromotions>false</processPromotions> <customerOrderAddress>25 de Mayo 1100</customerOrderAddress> </params> </bridgeCoreRequest> |
Request 2: Orden para delivery
En el atributo customerOrderTypeCode se define el tipo de retiro mediante el código ofd (Order For Delivery). Es necesario definir también la dirección y persona de contacto.
Response: CustomerOrderRepresentation
<bridgeCoreRequest>
<operation>create</operation>
<params>
<userName>111</userName>
<customerOrderCalculate>false</customerOrderCalculate>
<customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson>
<customerOrderDeliveryShift>8:00-10:00</customerOrderDeliveryShift>
<userPassword>user111</userPassword>
<estimatedAvailabilityDate format="yyyy-MM-dd">2013-11-07</estimatedAvailabilityDate>
<customerId>1</customerId>
<customerOrderAdditionalDeliveryData>Entre Pedro Molina y Colon</customerOrderAdditionalDeliveryData>
<shipmentPrice>25.00</shipmentPrice>
<customerOrderItems>
<value type="map">
<itemPrice/>
<itemBarcode>75001</itemBarcode>
<itemQty>2.00</itemQty>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>89001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>20001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>1</itemBarcode>
<itemQty/>
</value>
</customerOrderItems>
<customerOrderTypeCode>ofd</customerOrderTypeCode>
<processPromotions>false</processPromotions>
<customerOrderAddress>25 de Mayo 1100</customerOrderAddress>
</params>
</bridgeCoreRequest>
Request 3: Calcular Orden
Para calcular orden, lo único que se debe hacer es invocar a la operación create con el atribute processPromotions en true.
Response: CustomerOrderRepresentation
<bridgeCoreRequest>
<operation>create</operation>
<params>
<userName>111</userName>
<customerOrderCalculate>false</customerOrderCalculate>
<customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson>
<customerOrderDeliveryShift>8:00-10:00</customerOrderDeliveryShift>
<userPassword>user111</userPassword>
<estimatedAvailabilityDate format="yyyy-MM-dd">2013-11-07</estimatedAvailabilityDate>
<customerId>1</customerId>
<customerOrderAdditionalDeliveryData>Entre Pedro Molina y Colon</customerOrderAdditionalDeliveryData>
<shipmentPrice>25.00</shipmentPrice>
<customerOrderItems>
<value type="map">
<itemPrice/>
<itemBarcode>75001</itemBarcode>
<itemQty>2.00</itemQty>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>89001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>20001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>1</itemBarcode>
<itemQty/>
</value>
</customerOrderItems>
<customerOrderTypeCode>ofd</customerOrderTypeCode>
<processPromotions>true</processPromotions>
<customerOrderAddress>25 de Mayo 1100</customerOrderAddress>
</params>
Responses de error
Las respuestas de error son devueltas por diferentes motivos tales como:
A continuación se mostrarán varios ejemplos de respuestas de error.
Error response 1: ingreso de datos inválidos de artículos.
Request
<bridgeCoreRequest>
<operation>create</operation>
<params>
<userName>111</userName>
<customerOrderCalculate>false</customerOrderCalculate>
<customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson>
<customerOrderDeliveryShift>8:00-10:00</customerOrderDeliveryShift>
<userPassword>user111</userPassword>
<estimatedAvailabilityDate format="yyyy-MM-dd">2013-12-13</estimatedAvailabilityDate>
<customerId>1</customerId>
<customerOrderAdditionalDeliveryData>Entre Pedro Molina y Colon</customerOrderAdditionalDeliveryData>
<shipmentPrice>25.00</shipmentPrice>
<customerOrderItems>
<value type="map">
<itemPrice>-160</itemPrice>
<itemBarcode>75001</itemBarcode>
<itemQty>2.00</itemQty>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>89001</itemBarcode>
<itemQty>-2</itemQty>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>20001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>1</itemBarcode>
<itemQty/>
</value>
</customerOrderItems>
<customerOrderTypeCode>ofd</customerOrderTypeCode>
<processPromotions>false</processPromotions>
<customerOrderAddress>25 de Mayo 1100</customerOrderAddress>
</params>
</bridgeCoreRequest>
Response
<?xml version="1.0" encoding="UTF-8" ?>
<bridgeCoreResponse>
<ack>10260</ack>
<message>Los siguientes items de la orden de compra son inválidos: 75001|Precio inválido.;89001|El artículo no admite cantidad.</message>
</bridgeCoreResponse>
La interpretación del error se debe hacer de la siguiente manera:
-Partir el mensaje en dos tomando ‘:’ como carácter splitter. La primera parte es un mensaje informativo de error y la segunda es el detalle del error.
Request 1: Actualizar Orden
Para actualizar orden, se le debe pasar la última versión de la orden de compra.
Response: CustomerOrderRepresentation
<bridgeCoreRequest>
<operation>update</operation>
<params>
<userName>111</userName>
<customerOrderContactPerson>Alfredo Perez</customerOrderContactPerson>
<customerOrderDeliveryShift>8:00-10:00</customerOrderDeliveryShift>
<userPassword>user111</userPassword>
<estimatedAvailabilityDate format="yyyy-MM-dd">2013-11-07</estimatedAvailabilityDate>
<customerId>1</customerId>
<channel>1</channel>
<customerOrderAdditionalDeliveryData>Entre Pedro Molina y Colon</customerOrderAdditionalDeliveryData>
<shipmentPrice>25.00</shipmentPrice>
<customerOrderItems>
<value type="map">
<itemPrice/>
<itemBarcode>75001</itemBarcode>
<itemQty>2.00</itemQty>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>89001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>20001</itemBarcode>
<itemQty/>
</value>
<value type="map">
<itemPrice/>
<itemBarcode>1</itemBarcode>
<itemQty/>
</value>
</customerOrderItems>
<customerOrderVersion>1</customerOrderVersion>
<processPromotions>false</processPromotions>
<customerOrderAddress>25 de Mayo 1100</customerOrderAddress>
<customerOrderNumber>1</customerOrderNumber>
</params>
</bridgeCoreRequest>
Tipo de operación: PUT
La operación de búsqueda recupera una o más órdenes de compra guardadas en el sistema. Los parámetros que se envían en la operación son:
customerOrderFindNumber: número de orden de compra. Si este parámetro se envía, al ser unívoco, el resultado será una orden de compra que contendrá datos detallados de la orden. Si no se envía, entonces contendrá datos generales de todas las órdenes encontradas.
retirementStoreCode: código de retiro de la tienda.
lowerDateRange: fecha de inicio del intervalo de búsqueda.
upperDateRange: fecha de fin del intervalo de búsqueda.
Nota: si se define intervalo de fechas, lowerDateRange y upperDateRange se deben tener valores concretos.
partyIdentificationNumber: número de identificación del cliente.
customerOrderState: código del estado de la orden de compra. (Mencionar todos los códigos).
customerOrderShipmentMethod: código de tipo de entrega de la orden. Los posibles códigos son: ofd (Order For Delivery, que es la entrega a domicilio), ofp (Order For Pickup, que es retiro en tienda).
resultPage: indica el número de página a mostrar en caso de haber resultados. Valor por defecto: 0 (cero).
rowsPage: indica la cantidad de registros por página en caso de haber resultados. Valor por defecto: 15.
Nota: todos los parámetros son opcionales. En caso de que se envíe una Request de este estilo, se devolverán todas las órdenes de compra del sistema (si existiera al menos una guardada).
Request 1: Se envían todos los parámetros de búsqueda.
<bridgeCoreRequest> <operation>find</operation> <params> <rowsPage>15</rowsPage> <lowerDateRange format="yyyy-MM-dd">2013-11-25</lowerDateRange> <partyIdentificationNumber>31222544</partyIdentificationNumber> <retirementStoreCode>2</retirementStoreCode> <customerOrderShipmentMethod>ofd</customerOrderShipmentMethod> <upperDateRange format="yyyy-MM-dd">2013-11-26</upperDateRange> <customerOrderState>rpck</customerOrderState> <resultPage>0</resultPage> <customerOrderFindNumber>1</customerOrderFindNumber> </params> </bridgeCoreRequest> |
Response: FindCustomerOrdersRepresentation
Request 2: No se envían parámetros de búsqueda.
<bridgeCoreRequest> <operation>find</operation> <params/> </bridgeCoreRequest> |
Response: FindCustomerOrdersRepresentation
Tipo de operación: PUT
La operación de facturación toma una orden de compra en estado “To Invoice” (“A negociar”) y la factura.
Parámetros:
Request 1: Se envían todos los parámetros de facturación.
<bridgeCoreRequest> <operation>invoice</operation> <params> <receiptAmount>200.00</receiptAmount> <userName>111</userName> <transactionId>1</transactionId> <paymentDataList> <value type="map"> <paymentAmount>100.00</paymentAmount> <paymentId>1</paymentId> </value> <value type="map"> <paymentAmount>50.00</paymentAmount> <paymentId>8</paymentId> </value> </paymentDataList> <itemDataList> <value type="map"> <itemExtendedPrice>260.55</itemExtendedPrice> <itemPrice>150.55</itemPrice> <itemBarcode>78</itemBarcode> <customerOrderPriceItemModifierList> <value type="map"> <priceModifierPercent>50.00</priceModifierPercent> <priceModifierNewPrice>150.50</priceModifierNewPrice> <priceModifierPromotionId>22</priceModifierPromotionId> <priceModifierPreviousPrice>301.00</priceModifierPreviousPrice> <priceModifierAmount>150.50</priceModifierAmount> <priceModifierSequenceNumber>1</priceModifierSequenceNumber> <priceModifierReasonCode>Descuento Navidad</priceModifierReasonCode> </value> </customerOrderPriceItemModifierList> <itemQty>5.00</itemQty> </value> <value type="map"> <itemExtendedPrice>260.55</itemExtendedPrice> <itemPrice>150.55</itemPrice> <itemBarcode>78</itemBarcode> <customerOrderPriceItemModifierList> <value type="map"> <priceModifierPercent>50.00</priceModifierPercent> <priceModifierNewPrice>150.50</priceModifierNewPrice> <priceModifierPromotionId>22</priceModifierPromotionId> <priceModifierPreviousPrice>301.00</priceModifierPreviousPrice> <priceModifierAmount>150.50</priceModifierAmount> <priceModifierSequenceNumber>1</priceModifierSequenceNumber> <priceModifierReasonCode>Descuento Navidad</priceModifierReasonCode> </value> </customerOrderPriceItemModifierList> <itemQty>5.00</itemQty> </value> </itemDataList> <documentNumber>102030</documentNumber> <userPassword>user111</userPassword> <customerOrderNumber>2</customerOrderNumber> <customerOrderVersionNumber>0</customerOrderVersionNumber> <customerOrderTotalAmount>200.00</customerOrderTotalAmount> <receiptDate format="yyyy-MM-dd">2013-12-02</receiptDate> </params> </bridgeCoreRequest> |
Request 2: Se envían únicamente ítems para comparar, algunos contienen descuentos y otros no. No se envían datos de facturación ni pagos.
<bridgeCoreRequest> <operation>invoice</operation> <params> <userName>111</userName> <itemDataList> <value type="map"> <itemExtendedPrice>260.55</itemExtendedPrice> <itemPrice>150.55</itemPrice> <itemBarcode>78</itemBarcode> <itemQty>5.00</itemQty> </value> <value type="map"> <itemExtendedPrice>260.55</itemExtendedPrice> <itemPrice>150.55</itemPrice> <itemBarcode>78</itemBarcode> <customerOrderPriceItemModifierList> <value type="map"> <priceModifierPercent>50.00</priceModifierPercent> <priceModifierNewPrice>150.50</priceModifierNewPrice> <priceModifierPromotionId>22</priceModifierPromotionId> <priceModifierPreviousPrice>301.00</priceModifierPreviousPrice> <priceModifierAmount>150.50</priceModifierAmount> <priceModifierSequenceNumber>1</priceModifierSequenceNumber> <priceModifierReasonCode>Descuento Navidad</priceModifierReasonCode> </value> </customerOrderPriceItemModifierList> <itemQty>5.00</itemQty> </value> </itemDataList> <userPassword>user111</userPassword> <customerOrderNumber>2</customerOrderNumber> <customerOrderVersionNumber>0</customerOrderVersionNumber> <customerOrderTotalAmount>200.00</customerOrderTotalAmount> </params> </bridgeCoreRequest> |
Request 3: no se envían datos de ítems. Por lo tanto, no se debe realizar control de ítems. Se envían solamente pagos y datos de facturación.
<bridgeCoreRequest> <operation>invoice</operation> <params> <receiptAmount>200.00</receiptAmount> <userName>111</userName> <transactionId>1</transactionId> <paymentDataList> <value type="map"> <paymentAmount>100.00</paymentAmount> <paymentId>1</paymentId> </value> <value type="map"> <paymentAmount>50.00</paymentAmount> <paymentId>8</paymentId> </value> </paymentDataList> <documentNumber>102030</documentNumber> <userPassword>user111</userPassword> <customerOrderNumber>2</customerOrderNumber> <customerOrderVersionNumber>0</customerOrderVersionNumber> <receiptDate format="yyyy-MM-dd">2013-12-02</receiptDate> </params> </bridgeCoreRequest> |
Request 4: no se envían datos ni de ítems, ni de pagos, ni de facturación. Tampoco de la versión de la orden (automáticamente se factura la última versión). Lo que debería ocurrir es que se facture la orden de compra y se autocompleten los pagos con en Medio de Pago de Balance, y que el monto sea por el total de la orden de compra.
<bridgeCoreRequest> <operation>invoice</operation> <params> <userName>111</userName> <userPassword>user111</userPassword> <customerOrderNumber>2</customerOrderNumber> </params> </bridgeCoreRequest> |
Response: CustomerOrderRepresentation
Tipo de operación: PUT
La operación de cobro toma una orden de compra en estado “To Deliver” (“A entregar”) y la cobra.
Parámetros:
Nota: todos los atributos remarcados en verde son listas que pueden contener uno o más elementos.
Request 1: Se envían todos los parámetros de cobro.
<bridgeCoreRequest> <operation>charge</operation> <params> <receiptAmount>200.00</receiptAmount> <userName>111</userName> <transactionId>1</transactionId> <paymentDataList> <value type="map"> <paymentAmount>100.00</paymentAmount> <paymentId>1</paymentId> </value> </paymentDataList> <documentNumber>102030</documentNumber> <userPassword>user111</userPassword> <customerOrderNumber>2</customerOrderNumber> <customerOrderVersionNumber>0</customerOrderVersionNumber> <receiptDate format="yyyy-MM-dd">2013-12-02</receiptDate> </params> </bridgeCoreRequest> |
Request 2: No se envían datos de facturación, ni el último número de versión de la orden de compra.
<bridgeCoreRequest> <operation>charge</operation> <params> <userName>111</userName> <paymentDataList> <value type="map"> <paymentAmount>100.00</paymentAmount> <paymentId>1</paymentId> </value> </paymentDataList> <userPassword>user111</userPassword> <customerOrderNumber>2</customerOrderNumber> </params> </bridgeCoreRequest> |
Nota: si el monto de los pagos netos no fuera suficiente para saldar el total de la orden, la orden continuará en el mismo estado “A enviar” hasta que se cumpla dicha condición.
Response: CustomerOrderRepresentation
Paquete: bridge-representations
Response
Paquete: bridge-representations
Response
<bridgeCoreResponse>
<ack>0</ack>
<requestId>82193008-c62e-47ea-966d-e6a4aa10d51d</requestId>
<operationResult class="string">82193008-c62e-47ea-966d-e6a4aa10d51d</operationResult>
<representation class="findCustomersRepresentation">
<customersData>
<customerData>
<customerId>1</customerId>
<partyId>1</partyId>
<identifications>
<partyIdentificationData>
<type>Documento de identidad</type>
<number>31554877</number>
</partyIdentificationData>
<partyIdentificationData>
<type>Pasaporte</type>
<number>31554877</number>
</partyIdentificationData>
</identifications>
<roles>
<partyRoleData>
<name>Empleado</name>
<description>Realiza tareas de mantenimiento de hardware</description>
</partyRoleData>
</roles>
<partyType>Pérez, Juan</partyType>
<address>
<id>1</id>
<firstLine>Olascoaga 12</firstLine>
<secondLine>Piso 1 Depto 25</secondLine>
<city>MENDOZA</city>
<state>MENDOZA</state>
</address>
<email>
<id>1</id>
<email>juanperez@yahoo.com.ar</email>
</email>
<telephone>
<id>3</id>
<areaCode>0261</areaCode>
<number>4222555</number>
</telephone>
<taxes>
<taxRegistrationData>
<registrationNumber>123</registrationNumber>
<registrationName>Impuesto</registrationName>
<taxId>1</taxId>
<taxTypeId>8</taxTypeId>
<taxType>Impuesto Interno</taxType>
</taxRegistrationData>
</taxes>
<accounts>
<customerAccountData>
<id>1</id>
<type>LOYALTY</type>
<name>Primer cuenta de Lealtad</name>
<customerIdentityRequired>true</customerIdentityRequired>
<customerIdentityType>Tipo de Identidad</customerIdentityType>
<loyaltyProgramId>1</loyaltyProgramId>
<loyaltyProgram>Primer programa de Lealtad</loyaltyProgram>
<loyaltyCumulativeNetSalesAmount>
<number>1000.00</number>
</loyaltyCumulativeNetSalesAmount>
<cards>
<customerAccountCardData>
<id>1</id>
<number>100646242</number>
</customerAccountCardData>
</cards>
</customerAccountData>
</accounts>
</customerData>
</customersData>
</representation>
</bridgeCoreResponse>
Paquete: bridge-representations
Response
Paquete: bridge-representations
Response
Paquete: bridge-representations
Response
Paquete: bridge-representations
Response
Paquete: bridge-business-components
Response
Paquete: bridge-core
Response
Paquete: bridge-core
Response
<?xml version="1.0" encoding="UTF-8" ?>
<bridgeCoreResponse>
<ack>0</ack>
<message></message>
<operationResult class="customerOrderRepresentation">
<customerOrderId>1</customerOrderId>
<customerOrderStateCode>rpck</customerOrderStateCode>
<customerOrderTypeCode>ofp</customerOrderTypeCode>
<customerOrderVersion>0</customerOrderVersion>
<customerOrderControlTransactionLineItems>
<customerOrderLineItemRepresentation>
<itemId>13</itemId>
<itemCode>75001</itemCode>
<itemDescription>Epson C92 printer</itemDescription>
<quantityOrdered>
<number>2.00</number>
</quantityOrdered>
<itemPrice>
<number>260.00</number>
</itemPrice>
<itemExtendedPrice>
<number>520.00</number>
</itemExtendedPrice>
<surcharge>false</surcharge>
<discounts/>
<discountTotal>
<number>0.00</number>
</discountTotal>
<discountAmntTotal>
<number>0.00</number>
</discountAmntTotal>
<discountPerTotal>
<number>0.00</number>
</discountPerTotal>
<discountPromoTotal>
<number>0.00</number>
</discountPromoTotal>
<netValue>
<number>468.24</number>
</netValue>
<priceWithoutVAT>
<number>235.29</number>
</priceWithoutVAT>
<priceIvaAmount>
<number>51.76</number>
</priceIvaAmount>
<totalInternalTaxes>
<number>0.00</number>
</totalInternalTaxes>
<taxDetail>
<taxDetail>
<taxType>VAT</taxType>
<typeCode>Sale</typeCode>
<taxAuthority>IVA 10.5%</taxAuthority>
<taxableAmount>
<number>468.2351</number>
</taxableAmount>
<taxIncludedInTaxableAmountFlag>true</taxIncludedInTaxableAmountFlag>
<amount>
<number>51.7649</number>
</amount>
<taxablePercentage>
<number>10.50</number>
</taxablePercentage>
<MagnitudTax>
<number>0</number>
</MagnitudTax>
</taxDetail>
</taxDetail>
<isReturned>false</isReturned>
<isVoid>false</isVoid>
<voidedQuantity reference="../taxDetail/taxDetail/MagnitudTax"/>
</customerOrderLineItemRepresentation>
<customerOrderLineItemRepresentation>
<itemId>11</itemId>
<itemCode>89001</itemCode>
<itemDescription>Wii Console</itemDescription>
<quantityOrdered>
<number>1</number>
</quantityOrdered>
<itemPrice>
<number>460.55</number>
</itemPrice>
<itemExtendedPrice>
<number>460.55</number>
</itemExtendedPrice>
<surcharge>false</surcharge>
<discounts/>
<discountTotal>
<number>0.00</number>
</discountTotal>
<discountAmntTotal>
<number>0.00</number>
</discountAmntTotal>
<discountPerTotal>
<number>0.00</number>
</discountPerTotal>
<discountPromoTotal>
<number>0.00</number>
</discountPromoTotal>
<netValue>
<number>380.62</number>
</netValue>
<priceWithoutVAT>
<number>380.62</number>
</priceWithoutVAT>
<priceIvaAmount>
<number>79.93</number>
</priceIvaAmount>
<totalInternalTaxes>
<number>0.00</number>
</totalInternalTaxes>
<taxDetail>
<taxDetail>
<taxType>VAT</taxType>
<typeCode>Sale</typeCode>
<taxAuthority>IVA 21%</taxAuthority>
<taxableAmount>
<number>380.6198</number>
</taxableAmount>
<taxIncludedInTaxableAmountFlag>true</taxIncludedInTaxableAmountFlag>
<amount>
<number>79.9302</number>
</amount>
<taxablePercentage>
<number>21.00</number>
</taxablePercentage>
<MagnitudTax reference="../../../../customerOrderLineItemRepresentation/taxDetail/taxDetail/MagnitudTax"/>
</taxDetail>
</taxDetail>
<isReturned>false</isReturned>
<isVoid>false</isVoid>
<voidedQuantity reference="../../customerOrderLineItemRepresentation/taxDetail/taxDetail/MagnitudTax"/>
</customerOrderLineItemRepresentation>
<customerOrderLineItemRepresentation>
<itemId>8</itemId>
<itemCode>20001</itemCode>
<itemDescription>GH Aerosmith for PS3</itemDescription>
<quantityOrdered reference="../../customerOrderLineItemRepresentation[2]/quantityOrdered"/>
<itemPrice>
<number>60.00</number>
</itemPrice>
<itemExtendedPrice>
<number>60.00</number>
</itemExtendedPrice>
<surcharge>false</surcharge>
<discounts/>
<discountTotal>
<number>0.00</number>
</discountTotal>
<discountAmntTotal>
<number>0.00</number>
</discountAmntTotal>
<discountPerTotal>
<number>0.00</number>
</discountPerTotal>
<discountPromoTotal>
<number>0.00</number>
</discountPromoTotal>
<netValue>
<number>49.59</number>
</netValue>
<priceWithoutVAT>
<number>49.59</number>
</priceWithoutVAT>
<priceIvaAmount>
<number>10.41</number>
</priceIvaAmount>
<totalInternalTaxes>
<number>0.00</number>
</totalInternalTaxes>
<taxDetail>
<taxDetail>
<taxType>VAT</taxType>
<typeCode>Sale</typeCode>
<taxAuthority>IVA 21%</taxAuthority>
<taxableAmount>
<number>49.5861</number>
</taxableAmount>
<taxIncludedInTaxableAmountFlag>true</taxIncludedInTaxableAmountFlag>
<amount>
<number>10.4139</number>
</amount>
<taxablePercentage reference="../../../../customerOrderLineItemRepresentation[2]/taxDetail/taxDetail/taxablePercentage"/>
<MagnitudTax reference="../../../../customerOrderLineItemRepresentation/taxDetail/taxDetail/MagnitudTax"/>
</taxDetail>
</taxDetail>
<isReturned>false</isReturned>
<isVoid>false</isVoid>
<voidedQuantity reference="../../customerOrderLineItemRepresentation/taxDetail/taxDetail/MagnitudTax"/>
</customerOrderLineItemRepresentation>
<customerOrderLineItemRepresentation>
<itemId>9</itemId>
<itemCode>1</itemCode>
<itemDescription>GTA 4 for PS3</itemDescription>
<quantityOrdered reference="../../customerOrderLineItemRepresentation[2]/quantityOrdered"/>
<itemPrice>
<number>53.99</number>
</itemPrice>
<itemExtendedPrice>
<number>53.99</number>
</itemExtendedPrice>
<surcharge>false</surcharge>
<discounts/>
<discountTotal>
<number>0.00</number>
</discountTotal>
<discountAmntTotal>
<number>0.00</number>
</discountAmntTotal>
<discountPerTotal>
<number>0.00</number>
</discountPerTotal>
<discountPromoTotal>
<number>0.00</number>
</discountPromoTotal>
<netValue>
<number>44.62</number>
</netValue>
<priceWithoutVAT>
<number>44.62</number>
</priceWithoutVAT>
<priceIvaAmount>
<number>9.37</number>
</priceIvaAmount>
<totalInternalTaxes>
<number>0.00</number>
</totalInternalTaxes>
<taxDetail>
<taxDetail>
<taxType>VAT</taxType>
<typeCode>Sale</typeCode>
<taxAuthority>IVA 21%</taxAuthority>
<taxableAmount>
<number>44.6198</number>
</taxableAmount>
<taxIncludedInTaxableAmountFlag>true</taxIncludedInTaxableAmountFlag>
<amount>
<number>9.3702</number>
</amount>
<taxablePercentage reference="../../../../customerOrderLineItemRepresentation[2]/taxDetail/taxDetail/taxablePercentage"/>
<MagnitudTax reference="../../../../customerOrderLineItemRepresentation/taxDetail/taxDetail/MagnitudTax"/>
</taxDetail>
</taxDetail>
<isReturned>false</isReturned>
<isVoid>false</isVoid>
<voidedQuantity reference="../../customerOrderLineItemRepresentation/taxDetail/taxDetail/MagnitudTax"/>
</customerOrderLineItemRepresentation>
</customerOrderControlTransactionLineItems>
<creationDate>2013-11-06 08:58:02.59 ACT</creationDate>
<retirementStoreCode>1</retirementStoreCode>
<contactPerson>Alfredo Perez</contactPerson>
<updateDate>2013-11-06 08:58:02.59 ACT</updateDate>
<discountsItemsTotal>
<number>0.00</number>
</discountsItemsTotal>
<subtotal>
<number>1094.54</number>
</subtotal>
<discountableSubtotal>
<number>1094.54</number>
</discountableSubtotal>
<total>
<number>1094.54</number>
</total>
<totalBalance reference="../total"/>
<ivaPerception>
<number>0.00</number>
</ivaPerception>
<iBPerception>
<number>0.00</number>
</iBPerception>
<discounts/>
<promoDiscountTotal>
<number>0.00</number>
</promoDiscountTotal>
<discountsTransactionTotal>
<number>0.00</number>
</discountsTransactionTotal>
<miscelaneos>
<number>0.00</number>
</miscelaneos>
<positiveGross>
<number>1094.54</number>
</positiveGross>
<negativeGross>
<number>0.00</number>
</negativeGross>
<ivaTotal>
<number>151.48</number>
</ivaTotal>
<internalTaxesTotal>
<number>0.00</number>
</internalTaxesTotal>
<unSoldItems/>
<configuredPaymentPlans/>
<totalLoyaltyBenefits>
<number>0.00</number>
</totalLoyaltyBenefits>
<promoPaymentPlans/>
<promoGifts/>
</operationResult>
</bridgeCoreResponse>
Paquete: bridge-core
Response: respuesta detallada
<?xml version="1.0" encoding="UTF-8" ?>
<bridgeCoreResponse>
<ack>0</ack>
<message></message>
<operationResult class="findCustomerOrdersRepresentation">
<customerOrdersData>
<customerOrderData>
<customerOrderId>1</customerOrderId>
<creationDate class="timestamp">2013-12-05 01:26:55.84</creationDate>
<estimatedAvailabilityDate class="timestamp">2013-12-06 00:00:00.0</estimatedAvailabilityDate>
<customerFullname>Juan Pérez</customerFullname>
<typeData>
<id>1</id>
<customerOrderTypeCode>ofd</customerOrderTypeCode>
<name>Order for Delivery</name>
</typeData>
<stateData>
<id>1</id>
<customerOrderStateCode>rpck</customerOrderStateCode>
<name>Ready for picking</name>
</stateData>
<deliveryData>
<contactPerson>Alfredo Perez</contactPerson>
<shipmentAddress>25 de Mayo 1100</shipmentAddress>
<additionalDeliveryInformation>Entre Pedro Molina y Colon</additionalDeliveryInformation>
<shipmentPrice>
<number>25.0</number>
</shipmentPrice>
</deliveryData>
<itemDataList>
<customerOrderItemData>
<code>75001</code>
<description>Epson C92 printer</description>
<orderedQuantity>
<number>2.00</number>
</orderedQuantity>
<unitPrice>
<number>260.0</number>
</unitPrice>
<extendedPrice>
<number>520.0</number>
</extendedPrice>
</customerOrderItemData>
<customerOrderItemData>
<code>89001</code>
<description>Wii Console</description>
<orderedQuantity>
<number>1.00</number>
</orderedQuantity>
<unitPrice>
<number>460.55</number>
</unitPrice>
<extendedPrice>
<number>460.55</number>
</extendedPrice>
</customerOrderItemData>
<customerOrderItemData>
<code>20001</code>
<description>GH Aerosmith for PS3</description>
<orderedQuantity>
<number>1.00</number>
</orderedQuantity>
<unitPrice>
<number>60.0</number>
</unitPrice>
<extendedPrice>
<number>60.0</number>
</extendedPrice>
</customerOrderItemData>
<customerOrderItemData>
<code>1</code>
<description>GTA 4 for PS3</description>
<orderedQuantity>
<number>1.00</number>
</orderedQuantity>
<unitPrice>
<number>53.99</number>
</unitPrice>
<extendedPrice>
<number>53.99</number>
</extendedPrice>
</customerOrderItemData>
</itemDataList>
<lastVersionNumber>0</lastVersionNumber>
</customerOrderData>
</customerOrdersData>
</operationResult>
</bridgeCoreResponse>
Response: respuesta resumida
<?xml version="1.0" encoding="UTF-8" ?> <bridgeCoreResponse> <ack>0</ack> <message></message> <operationResult class="findCustomerOrdersRepresentation"> <customerOrdersData> <customerOrderData> <customerOrderId>1</customerOrderId> <creationDate class="timestamp">2013-12-05 01:26:55.84</creationDate> <estimatedAvailabilityDate class="timestamp">2013-12-06 00:00:00.0</estimatedAvailabilityDate> <customerFullname>Juan Pérez</customerFullname> <totalAmount> <number>1094.54</number> </totalAmount> <typeData> <id>1</id> <customerOrderTypeCode>ofd</customerOrderTypeCode> <name>Order for Delivery</name> </typeData> <stateData> <id>1</id> <customerOrderStateCode>rpck</customerOrderStateCode> <name>Ready for picking</name> </stateData> <lastVersionNumber>0</lastVersionNumber> </customerOrderData> </customerOrdersData> </operationResult> </bridgeCoreResponse> |
Paquete: bridge-sample-mcking
Response