Projects:Webservice For Webstores
Webservice for Webstores
Here will be documentation for this feature. The work is in progress.
At first point documentation is from a development point of view and modified with along the work progresses.
This document will not cover how to add columns to database nor how to add fields to Openbravo frontend. Only an implication of what to be added is included.
xsql classes for basic sql operations are copied and modified from packages org.openbravo.erpWindows to webservice
This webservice will be separated from current webservice and they can work side-by-side.
UPDATE 17.6.2008: This project is in pre-alpha state at the moment and the first main function uploadOrders works. It gets data as an array from external website, creates bp, locations, relations to locations, order, orderlines and processes the order setting it to Complete within interface. Basically because most of the times order is ready to be shipped when it's ordered from webstore. Testing phase continues, cleaning up is to be done and some hardcoded data to be moved as part of parameter array. Just so you know, who are waiting this project.
Webservice For Webstores - Functional Specifications
Current webservice is not enough for efficient operating with webstores. This webservices idea in first stage is to be able to receive order data and business partners for those orders. And to add Sales Orders without using Import Order functionality. To make the process more fluent from customer ordering to shipping it. Initially this is made for osCommerce, but with a connector sending data in webstore any webstore should be able to use this.
First stage's purpose is to get the ordering process from customer to shipment as fluent as possible. Idea is to receive data through this webservice, and create sales orders right away, without using the Import Order function in between.
Basic idea is to keep the flow from order to shipment as simple as possible.
Second stage would take the dataflow further. Ability to update stocklevels based on the levels of OpenbravoERP to Webstore, update of trackingnumbers and statuses of orders.
User roles & profiles
New fields to database:
C_BPARTNER.EXTERNALBPARTNER_ID - keeps track of customer id's within one store, since several stores might have same id's the format of this field would be "store_prefix" + "customer_id_within_store"
C_ORDER.EXTERNAL_ORDER_ID - keeps track of order id's in web store
Stage 1, method uploadOrders
The process flow in rough would be as follows:
- Get data from web service
- Load basic data from External Point Of Sales
- Check for existing Business Partner
- Check if needs to update data
- If BP doesn't exist, create a new one
- create/update user
- create/update locations (shipping/billing)
- if customer wants to ship to another person a new BP is created
- locations for shipto BP
- create order
- get header data for Sales Order
- get orderlines
- set pricelist
- allow to override pricelist, we get prices from store
- ability to do initial processing of order automatically
- create a payment
Functional requirements based on business processes
User Interface Mockups
Functional OpenbravoERP installation