BatchOrderRequest URL
The BatchOrderRequest URL is used when a PurchaseOrderRequest message is received from a procurement system.
URL structure
- http:// host_name/path/
- The fully qualified name of your WebSphere Commerce Server and the configuration path.
Note: A
CIData interface captures the parameters since parameter names can
vary between protocols. Out of the box, the BatchOrderRequest command
uses the default implementation class CIDataImpl to process parameters.
This can be customized by extending the command class and overriding
the protected method initializeData() to
use a different implementation of the CIData interface.
Parameter values
- protocolName
- Required: The name of the communication protocol being used.
- protocolVersion
- Required: The version of the communication protocol.
- logonId
- Required: The Procurement Buyer Administrator group logon ID. This is a mandatory field for non HTTP/XML protocols.
- logonPassword
- Required: The Procurement Buyer Administrator group logon password. This is a mandatory field for non HTTP/XML protocols.
- reqid
- The variable parameter name used by the buyer organization for a protocol. This parameter is specified by the REQIDPARM field in the PROCBUYPRF table.
- supplierIdType
- Required: The code type of the supplier. This parameter is specified by the CODETYPE field in the ORGCODE table.
- supplierId
- Required: The identification of the supplier under the supplierIDType. This parameter is specified by the CODE field in the ORGCODE table.
- buyerIdType
- Required: The code type of the Procurement Buyer. This parameter is specified by the CODETYPE field in the ORGCODE table.
- buyerId
- Required: The identification of the Procurement Buyer under the buyerIdType. This parameter is specified by the CODE field in the ORGCODE table.
- buyerCookie
- The procurement system session cookie that is sent back to the procurement system in the response. This enables the procurement system to identify the buyer who originated the request.
- orderId
- The order reference number of the order if it is a solicited order. A solicited order occurs in Punch-out catalog mode where the order was created and previously sent to the procurement system. If this is not a solicited order, (Local catalog mode) the orderId parameter will be null.
Behavior
- Calls the CheckBatchOrderRequest task command to check whether the OrderRequest message is a duplicate.
- Calls the AuthenticateHelper task command to authenticate the buyer and suppliers credentials.
- Checks whether the OrderRequest is a solicited order or not. If it is an unsolicited (new) order, the RegisterRequisition task command is called to register the requisitioning user. If the order request is a solicited one, the requisitioning user's information is determined from that order. Since a new order is created, the old order is deleted.
- Calls the CreateShippingBilling task command to create the shipping and billing addresses from the request.
- Calls the OrderItemAdd command from the Order Management subsystem to create the order and order items.
- Calls the PrepareProcurementOrder task command to prepare the order.
- Calls the ProcessOrder task command from the Order Management
subsystem to process the order and capture payment. Note: The BatchOrderRequest command does use the contract credit card information when a contract is used. If no billing information is included, then the BatchOrderRequest command uses a default expiry date value, which is invalid and an error is thrown. To avoid this error you must extend the processOrder command to look for the credit card information in a contract.
- If successful, looks in the PROCMSGVW table to determine the view task for the current buyer organization, protocol, and PurchaseOrderResponse message name value.
- Uses the view task command to compose the PurchaseOrderResponse message to be sent back to the procurement system.
Task commands
BatchOrderRequest calls the
following task commands:
- CheckBatchOrderRequest
- AuthenticationHelper
- RegisterRequisitioner
- CreateBillingShippingAddress
- PrepareProcurementOrder
- ProcessOrder