Northamber's Gateway allows anyone set up with a Gateway account to submit XML over HTTPS to do the following:
Hypertext Transfer Protocol over Secure Socket Layer or HTTPS provides authentication and encrypted communication and is widely used on the World Wide Web for security-sensitive communication such as payment transactions and corporate information systems.
In order to use the Gateway service, you first need to set up a Gateway account with Northamber. If you would like to set up an account, click here to contact Technical Support.
Once an account is set up, all data submissions are made to:
https://www.northamber.com/gateway/gateway.aspx
You can use the following submission methods to submit data to Northamber:
You can use an OrderRequest to place orders with Northamber. If successful, an OrderResponse will be returned, indicating that the data has been submitted successfully. Otherwise, you will receive a TransactionError response.
<?xml version="1.0" encoding="utf-8"?>
<OrderRequest version="1.0" xml:lang="en-GB">
<TransactionHeader username="" password="" />
<OrderDetails customerPOId="" statusId="" backOrder="" shippingCode="" shipComplete="">
<BillTo>
<Address>
<CustomerName></CustomerName>
<AddressLine1></AddressLine1>
<AddressLine2></AddressLine2>
<AddressLine3></AddressLine3>
<City></City>
<County></County>
<PostCode></PostCode>
<Country></Country>
<Email></Email>
</Address>
</BillTo>
<ShipTo>
<Address>
<CustomerName></CustomerName>
<AddressLine1></AddressLine1>
<AddressLine2></AddressLine2>
<AddressLine3></AddressLine3>
<City></City>
<County></County>
<PostCode></PostCode>
<Country></Country>
</Address>
</ShipTo>
<ProductLines>
<Item lineNumber="" quantity="">
<SupplierPartID></SupplierPartID>
<UnitPrice currency="GBP"></UnitPrice>
</Item>
</ProductLines>
</OrderDetails>
</OrderRequest>
The OrderResponse is a simple acknowledgement for receiving of the order message. It does not confirm the placing of the order – it only confirms the receipt of the order and returns a result code back to the purchasing system.
To request more detailed information about a submitted order, you will need to submit an OrderStatusRequest.
| Element | Attribute | Description |
|---|---|---|
| OrderDetails | customerPOId | The Buyer's own unique reference number. This is optional. |
| OrderDetails | statusId | A flag to notify if the order is a live or a test order. "L" for live; "T" for test. This is optional. If this is not supplied or an unrecognised value is supplied, then the order is assumed to be a test order. |
| OrderDetails | backOrder | Instructs the Vendor whether or not to accept orders that contain items that are not currently in stock. Values: "Y" or "N". "N" indicates that the entire order will be rejected if one or more items are not in stock. This is optional. If it is not supplied or an unrecognised value is supplied, then the order will be set to "N" and rejected if one or more items are not in stock. |
| OrderDetails | shippingCode | This contains the code for the type of delivery. The code options are listed in the Delivery Codes table below. This is optional. If the code is not supplied or the code is not recognised, then the value will be set to "SND" (Standard Next Day Delivery). |
| OrderDetails | shipComplete | Instructs the Vendor either to Ship Complete (dispatch the order only when all items have been allocated) or to Part Ship (dispatch each item as soon as it becomes available). Values: "Y" (Ship Complete) or "N" (Part Ship). This is optional. If the value is not suplied or is unrecognised, then the value will be set to "Y" (Ship Complete). |
| ProductLines/Item/SupplierPartID | Northamber's part number. Required. | |
| ProductLines/Item/UnitPrice | The price in pounds sterling. It can be submitted as a decimal (<UnitPrice currency="GBP">29.99<UnitPrice>) or in pence (<UnitPrice currency="GBP">2999<UnitPrice>). This is optional. If no price is supplied or the price is not valid, then the standard Northamber trade price will be used when the order is placed. |
| Code | Description | Delivery Times |
|---|---|---|
| SND | Standard (Next Day)1 | Next business day |
| PMD | Next Day PM (UK mainland only)2 | Next business day - before 1:30pm |
| AMD | Next Day AM (UK mainland only)2 | Next business day - 7:10am to 10:30am |
| SAT | Saturday (UK mainland only)3 | Saturday delivery |
You can use an PNARequest to check the price and availability of a product. If successful, a PNAResponse will be returned. Otherwise, you will receive a TransactionError response.
<?xml version="1.0" encoding="utf-8"?>
<PNARequest version="1.0" xml:lang="en-GB">
<TransactionHeader username="" password=""/>
<PNAList>
<PNAItem supplierPartId="" manufacturerPartNumber="" />
</PNAList>
</PNARequest>
For each item, you can submit either a Northamber part number (supplierPartId) or a manufacturer part number (manufacturerPartNumber). If both are supplied, then the supplierPartId will be used.
If the part number is not recognised, then no result will be returned for that item.
| Element | Attribute | Description |
|---|---|---|
| PNAItem | supplierPartId | Northamber's part number. This is optional. |
| PNAItem | manufacturerPartNumber | The manufacturer's part number. This is optional. |
You can use an OrderStatusRequest to check the status of orders. If successful, an OrderStatusResponse will be returned. Otherwise, you will receive a TransactionError response.
<?xml version="1.0" encoding="utf-8"?>
<OrderStatusRequest version="1.0" xml:lang="en-GB">
<TransactionHeader username="" password="" />
<Orders>
<Order customerPOId="" supplierOrderId="" />
</Orders>
</OrderStatusRequest>
| Element | Attribute | Description |
|---|---|---|
| Order | customerPOId | The Buyer's own unique reference number. This is optional. If both a customerPOId and a supplierOrderId is submitted, then the supplierOrderId will be used to find the order. |
| Order | supplierOrderId | Northamber's order ID. This is optional. If both a customerPOId and a supplierOrderId is submitted, then the supplierOrderId will be used to find the order. |
Once an order has been dispatched, you can use an OrderTrackingRequest to obtain details about the shipping status and delivery of your order.
<?xml version="1.0" encoding="utf-8" ?>
<OrderTrackingRequest version="1.0" xml:lang="en-GB">
<TransactionHeader username="" password=""/>
<Invoices>
<Invoice supplierInvoiceId="" />
</Invoices>
</OrderTrackingRequest>
N.B. You can only track one order at a time.
| Element | Attribute | Description |
|---|---|---|
| Invoice | supplierInvoiceId | Northamber's invoice ID. This is required. |
You can use an InvoiceRequest to obtain invoice details. If successful, an InvoiceResponse will be returned. Otherwise, you will receive a TransactionError response.
Invoices can be called up in two different ways:
You can use the <Invoices> section to specify each individual invoice by the Northamber Invoice ID (supplierInvoiceId), the Northamber Order ID (supplierOrderId) or your own Customer Reference Number (customerPOId):
<?xml version="1.0" encoding="utf-8" ?>
<InvoiceRequest version="1.0" xml:lang="en-GB">
<TransactionHeader username="" password="" />
<Invoices>
<Invoice customerPOId="" supplierInvoiceId="" supplierOrderId="" />
</Invoices>
</InvoiceRequest>
Or you can specify an order date range using a <DateRange> section:
<?xml version="1.0" encoding="utf-8" ?>
<InvoiceRequest version="1.0" xml:lang="en-GB">
<TransactionHeader username="" password="" />
<DateRange orderDateStart="2008/11/10" orderDateEnd="2008/12/05" />
</InvoiceRequest>
Each <InvoiceRequest> should include either a <DateRange> or an <Invoices> section but not both together. The <DateRange> section will be ignored if you have included an <Invoices> section in the same <InvoiceRequest>.
N.B. You will only get the full invoice information if you use an <Invoices> section and specify an ID for each invoice. If you use a <DateRange> section, then you will only get the following details:
Goods remain strictly the property of Northamber PLC until paid for in full. Strictly subject to our terms & conditions. E&OE.
All InvoiceResponses are copies of invoices.
| Element | Attribute | Description |
|---|---|---|
| Invoice | supplierInvoiceId | Northamber's invoice ID. This is optional. If this value is submitted, then both supplierOrderId and customerPOId will be ignored. |
| Invoice | supplierOrderId | Northamber's order ID. This is optional. If this value is submitted, then customerPOId will be ignored. If a supplierInvoiceId is also submitted, then both supplierOrderId and customerPOId will be ignored. N.B. A single order may get broken down into several invoices, and so a single supplierOrderId may pull up more than one invoice. |
| Invoice | customerPOId | The Buyer's own unique reference number. This is optional. If a supplierInvoiceId and/or a supplierOrderId is also submitted, then customerPOId will be ignored. N.B. A single order may get broken down into several invoices, and so a single customerPOId may pull up more than one invoice. |
| DateRange | orderDateStart | Inclusive. Must be in the format YYYY/MM/DD. |
| DateRange | orderDateEnd | Inclusive. Must be in the format YYYY/MM/DD. |
| Error No | Description |
|---|---|
| 100 | An unknown error has occurred. |
| 101 | This service has been switched off. |
| 102 | This a test submission and no data has been submitted to the database. |
| 200 | OK. |
| 300 | Access to this service is restricted. |
| 301 | Not sent via https. |
| 302 | The submission method has not been recognised. |
| 303 | The UserName and/or Password has not been recognised. |
| 304 | You have not been granted permission to use this service. |
| 305 | Your account has locked out. This happens when an incorrect UserName and/or Password has been submitted too many times. If you wish to unlock your account, go to the www.northamber.com login page. |
| 306 | Your account has been suspended. |
| 307 | You cannot choose this delivery option. All special deliveries (i.e. everything except the Standard Next Day delivery (SND)) can be made to the UK mainland only and must be placed before 5pm. Next Day PM (PMD) and Next Day AM (AMD) deliveries cannot be placed on Saturday or Sundays. Saturday (SAT) deliveries can only be placed on Fridays before 5pm. You can still place this order if you choose the Standard Next Day delivery option (SND). |
| 400 | One or more submitted values have been rejected. |
| 401 | One or more required values have not been submitted. |
| 402 | One or more submitted values are invalid. |
| 500 | An error occurred whilst submitting your data to the database. |
| 501 | An order with the same Customer Reference number already exists on the database. The same order may have been submitted twice for some reason. If you only wanted to place this order once, you can ignore this message as your order will have been placed once and not duplicated. If you still wish to place this order, change the Customer Reference number to a unique number and try placing the order again. |
| 502 | None of the items you submitted could be ordered. This is either because they are not currently in stock or because they are no longer on our database. |
| 503 | One or more of the items you submitted could NOT be ordered. This is either because they are not currently in stock or because they are no longer on our database. Since you have chosen not to allow backorders, this order has been cancelled. |
| 600 | An XML error has occurred. |
| 601 | The submitted XML contains errors: the XML is not well-formed. |
| 602 | The submitted XML is well-formed but is not recognised as valid. |