The Prodigi Print API allows you to connect your favourite e-commerce platform, CMS or app to our print on demand fulfilment services.
The API is securely accessed over HTTPS and can only be used by authenticated clients. It's based on pragmatic RESTful principles making it easy to use with a wide variety of programming environments.
Using the API, you can place orders, get the live status of orders including delivery & tracking info and more.
All requests to the Print API must include the following:
Parameter | Send as | Example |
API key | HTTP auth header username | 958CFE38-2355-4B86-BBDE27C17889C74C |
API secret | HTTP auth header password | abc123456 |
In addition, you will be allocated a unique client code, which is required to identify your account for some API methods.
The Prodigi Print API supports both JSON and XML request/response formats.
Make sure you set the appropriate Content-Type header in your JSON or XML request to receive a response in the same format: application/json or application/xml.
If you use the Print API for multiple applications, then you should use the same API Key for all your apps. To distinguish between orders from different applications, we will issue a unique order source code for each of your applications. This order source code should be included in each Order placed through the API.
Our test environment testapi.prodigi.es includes a test account that is open to all, and is pre-populated with a generic range of products.
Parameter | Test account access |
API key | 735ef43f-c16e-4a04-9792-a2dbbcd5dd09 |
API secret | s1mpl32015 |
ClientCode | TESTUSER |
ClientSourceCode | TESTUSERCS |
For a dedicated test account with your own product range, please apply for API access.
An Order is a complex object containing all the information associated with any order placed through the Prodigi API. Complete Order objects are returned when retrieving an order, and you should POST a complete Order object when placing an order.
Those fields required when placing an order are marked below. However, it is also advised that you include as much of the optional data as your system allows.
All date/timestamps are formatted according to ISO 8601, e.g. 2014-07-09T10:01:35.
Field | Required on POST? | Description | ||||||
OrderId | required | Your own system's order ID. Also referred to as ClientOrderId. | ||||||
CICOrderId | n/a | The order ID on the Prodigi system. | ||||||
ClientCode | required | Your unique client code. | ||||||
ClientSourceCode | required | The unique client source code given to you. A source code represents a single site/app. | ||||||
ShippingRetailPrice | optional | Your shipping retail price. | ||||||
ShippingCostPrice | n/a | The Prodigi shipping cost price. | ||||||
OrderStatus | optional | New, Processing or Shipped. An order can also be Cancelled or OnHold. | ||||||
ShippingMethod | optional | Shipping Method (either Standard or Priority) | ||||||
OrderDate | required | Date & time when the order was placed on your system. Used to calculate the estimated ship-by date. | ||||||
ReceivedDate | n/a | Date the order was received in our system. | ||||||
EstimatedShipByDate | n/a | Estimated ship by date calculated based on OrderDate. This will vary based on the agreed upon SLA. | ||||||
EstimatedDeliveryByDate | optional | Estimated delivery date as promised to your customer. | ||||||
ShippingAddress | required | An address object | ||||||
optional | ||||||||
FirstName | required | |||||||
LastName | required | |||||||
CompanyName | optional | |||||||
AddressLine1 | required | |||||||
AddressLine2 | optional | |||||||
AddressLine3 | optional | |||||||
AddressLine4 | optional | |||||||
PostCode | optional | |||||||
City | required | |||||||
State | optional | County, state or region | ||||||
TwoLetterCountryCode | required | A valid country code. | ||||||
CountryName | optional | |||||||
LandLineTelephoneNo | optional | |||||||
MobileTelephoneNo | optional | |||||||
WorkTelephoneNo | optional | |||||||
BillingAddress | required | An address object | ||||||
optional | ||||||||
FirstName | required | |||||||
LastName | required | |||||||
CompanyName | optional | |||||||
AddressLine1 | required | |||||||
AddressLine2 | optional | |||||||
AddressLine3 | optional | |||||||
AddressLine4 | optional | |||||||
PostCode | optional | |||||||
City | required | |||||||
State | optional | County, state or region | ||||||
TwoLetterCountryCode | required | A valid country code. | ||||||
CountryName | optional | |||||||
LandLineTelephoneNo | optional | |||||||
MobileTelephoneNo | optional | |||||||
WorkTelephoneNo | optional | |||||||
OrderItems | required | An array of one or more OrderItem objects. | ||||||
OrderItemId | required | Your line item ID. | ||||||
Title | optional | Title of the item (e.g. image title) | ||||||
Description | optional | Product description, e.g. "Framed Canvas 400 X 500 mm with Black Frame". | ||||||
Quantity | required | Quantity required. | ||||||
CICProductCode | required | Prodigi product code. | ||||||
ProductCode | required | Your product code. | ||||||
ImageCode | required | Your image code. | ||||||
ImageHeight | required | Height of the final image on the product (mm). | ||||||
ImageWidth | required | Width of the final image on the product (mm). | ||||||
UnitRetailPrice | optional | Your selling price to your customer. | ||||||
UnitCostPrice | n/a | Prodigi cost price. Calculated once an order has been successfully placed. | ||||||
ImageThumbnailPath | required | Fully qualified file path to a thumbnail jpeg of the image | ||||||
Properties | required | An array of product properties, dependant on the product being ordered.
| ||||||
OrderPrintFiles | required | An array of print files.
|
Show example Order object (JSON and XML formats).
{ "OrderId": "12345", "CICOrderId": "67890", "ClientCode": "TESTCODE", "ClientSourceCode": "TESTSITE1", "ShippingRetailPrice": 5.00, "ShippingCostPrice": 5.00, "OrderStatus": "New", "ShippingMethod": "Standard", "OrderDate": "2014-07-10T10:11:19.6428829+01:00", "ReceivedDate": "2014-07-10T10:11:19.6438594+01:00", "EstimatedShipByDate": "2014-07-10T10:11:19.6467891+01:00", "ExptectedDeliveryDate": "2014-07-10T10:11:19.6467891+01:00", "ShippingAddress": { "Email": "[email protected]", "FirstName": "James", "LastName": "Old", "CompanyName": "Prodigi", "AddressLine1": "79 Station Parade", "AddressLine2": "", "AddressLine3": "", "AddressLine4": "", "City": "Harrogate", "State": "North Yorkshire", "PostCode": "HG1 1ST", "TwoLetterCountryCode": "UK", "CountryName": "United Kingdom", "LandLineTelephoneNo": "0870 777 5 777", "MobileTelephoneNo": "", "WorkTelephoneNo": "0870 777 5 777" }, "BillingAddress": { "Email": "[email protected]", "FirstName": "James", "LastName": "Old", "CompanyName": "Prodigi", "AddressLine1": "79 Station Parade", "AddressLine2": "", "AddressLine3": "", "AddressLine4": "", "City": "Harrogate", "State": "North Yorkshire", "PostCode": "HG1 1ST", "TwoLetterCountryCode": "UK", "CountryName": "United Kingdom", "LandLineTelephoneNo": "0870 777 5 777", "MobileTelephoneNo": "", "WorkTelephoneNo": "0870 777 5 777" }, "OrderItems": [ { "OrderItemId": "1111", "Title": "Waterlillies", "Description": "AOD Medium Framed Canvas", "Quantity": 5, "CICProductCode": "AODFC-0000", "ProductCode": "C2", "ImageCode": "IMG0000", "ImageHeight": 600, "ImageWidth": 600, "UnitRetailPrice": 40.99, "ImageThumbnailPath": "http://path.to/the-thumbnail/file.jpg", "Properties": [ { "Name": "FrameCode", "Value": "FC-200" }, { "Name": "CanvasCode", "Value": "PC" } ], "OrderPrintFiles": [ { "FileName": "filename.jpg", "FilePath": "http://path.to/the-print-file/filename.jpg" } ] }, { "OrderItemId": "1112", "Title": "Mona Lisa", "Description": "Large Framed SL Paper", "Quantity": 5, "CICProductCode": "LFSLP-9999", "ProductCode": "XY121", "ImageCode": "IMG1111", "ImageHeight": 400, "ImageWidth": 600, "UnitRetailPrice": 50.25, "ImageThumbnailPath": "http://path.to/the-thumbnail/file.jpg", "Properties": [ { "Name": "FrameCode", "Value": "FP-400" }, { "Name": "PaperCode", "Value": "SGPP" } ], "OrderPrintFiles": [ { "FileName": "filename.jpg", "FilePath": "http://path.to/he-print-file/filename.jpg" } ] } ], "OrderNotes": [ "Please mark for attn A. Smithee" ] }
<OrderModel xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <BillingAddress> <FirstName>James</FirstName> <LastName>Old</LastName> <CompanyName>Prodigi</CompanyName> <AddressLine1>79 Station Parade</AddressLine1> <AddressLine2></AddressLine2> <AddressLine3></AddressLine3> <AddressLine4></AddressLine4> <City>Harrogate</City> <State>North Yorkshire</State> <PostCode>HG1 1ST</PostCode> <CountryName>United Kingdom</CountryName> <TwoLetterCountryCode>UK</TwoLetterCountryCode> <Email>[email protected]</Email> <LandLineTelephoneNo>0870 777 5 777</LandLineTelephoneNo> <MobileTelephoneNo>0870 777 5 777</MobileTelephoneNo> <WorkTelephoneNo></WorkTelephoneNo> </BillingAddress> <CICOrderId>67890</CICOrderId> <ClientCode>TESTCODE</ClientCode> <ClientSourceCode>TESTSITE1</ClientSourceCode> <EstimatedShipByDate>2014-07-10T10:11:19.6467891+01:00</EstimatedShipByDate> <ExptectedDeliveryDate>2014-07-10T10:11:19.6467891+01:00</ExptectedDeliveryDate> <OrderId>12345</OrderId> <OrderDate>2014-07-10T10:11:19.6428829+01:00</OrderDate> <OrderItems> <OrderItemModel> <OrderItemId>1111</OrderItemId> <CICProductCode>AODFC-0000</CICProductCode> <ProductCode>C2</ProductCode> <Description>AOD Medium Framed Canvas</Description> <ImageCode>IMG0000</ImageCode> <ImageWidth>600</ImageWidth> <ImageHeight>600</ImageHeight> <ImageThumbnailPath>http://path.to/the-thumbnail/file.jpg</ImageThumbnailPath> <OrderPrintFiles> <OrderPrintFileModel> <FileName>filename.jpg</FileName> <FilePath>http://path.to/he-print-file/filename.jpg</FilePath> </OrderPrintFileModel> </OrderPrintFiles> <Properties> <PropertyValueModel> <Name>FrameCode</Name> <Value>FC-200</Value> </PropertyValueModel> <PropertyValueModel> <Name>CanvasCode</Name> <Value>PC</Value> </PropertyValueModel> </Properties> <Quantity>1</Quantity> <Title>Waterlillies</Title> <UnitRetailPrice>40.99</UnitRetailPrice> </OrderItemModel> <OrderItemModel> <CICProductCode>LFSLP-9999</CICProductCode> <ProductCode>FP3</ProductCode> <Description>Large Framed SL Paper</Description> <ImageCode>IMG1111</ImageCode> <ImageHeight>400</ImageHeight> <ImageThumbnailPath>http://path.to/the-thumbnail/file.jpg</ImageThumbnailPath> <ImageWidth>600</ImageWidth> <OrderItemId>1112</OrderItemId> <OrderPrintFiles> <OrderPrintFileModel> <FileName>filename.jpg</FileName> <FilePath>http://path.to/he-print-file/filename.jpg</FilePath> </OrderPrintFileModel> </OrderPrintFiles> <Properties> <PropertyValueModel> <Name>FrameCode</Name> <Value>FP-400</Value> </PropertyValueModel> <PropertyValueModel> <Name>PaperCode</Name> <Value>SGPP</Value> </PropertyValueModel> </Properties> <Quantity>1</Quantity> <Title>Mona Lisa</Title> <UnitRetailPrice>50.25</UnitRetailPrice> </OrderItemModel> </OrderItems> <OrderNotes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>Please mark for attn A. Smithee</d2p1:string> </OrderNotes> <OrderStatus>New</OrderStatus> <ReceivedDate>2014-07-10T10:11:19.6438594+01:00</ReceivedDate> <ShippingAddress> <FirstName>James</FirstName> <LastName>Old</LastName> <CompanyName>Prodigi</CompanyName> <AddressLine1>79 Station Parade</AddressLine1> <AddressLine2></AddressLine2> <AddressLine3></AddressLine3> <AddressLine4></AddressLine4> <City>Harrogate</City> <State>North Yorkshire</State> <PostCode>HG1 1ST</PostCode> <CountryName>United Kingdom</CountryName> <TwoLetterCountryCode>UK</TwoLetterCountryCode> <Email>[email protected]</Email> <LandLineTelephoneNo>0870 777 5 777</LandLineTelephoneNo> <MobileTelephoneNo>0870 777 5 777</MobileTelephoneNo> <WorkTelephoneNo></WorkTelephoneNo> </ShippingAddress> <ShippingCostPrice>5</ShippingCostPrice> <ShippingMethod>Standard</ShippingMethod> <ShippingRetailPrice>5</ShippingRetailPrice> </OrderModel>
POST /Order
For placing an order a complete Order object needs to be supplied. It is good practice to include as many of the optional parameters as you can.
newOrder | required | An Order object, with all required fields included. |
A complete Order object, with all fields populated (CinCOrderID, ShippingCostPrice, etc.).
GET /Order?clientOrderId={clientOrderId}
Retrieve an order's details, based on your own order reference or ID.
clientOrderId | required | Your order reference/ID. |
An Order object.
GET /OrderStatus?clientOrderId={clientOrderId}
Retrieve the status of an order. If the order is Shipped, the repsonse includes a ShipmentInfo object, containing tracking number and related information.
The sequence is as follows:
In addition, an order may have a status of Cancelled or OnHold.
clientOrderId | required | Your order reference/ID. |
{ "ClientOrderId": "12345", "CICOrderId": "67890", "OrderStatus": "Shipped", "EstimatedShipByDate": "10/10/2014", "ShipmentInfo": { "ShipmentDate": "10/10/2014", "TrackingNo": "ABC123", "DeliveryCompany": "Royal Mail", "ServiceType": "Standard", "ShippingCost": 5.00 } }
<OrderStatusModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <CICOrderId>67890</CICOrderId> <ClientOrderId>12345</ClientOrderId> <EstimatedShipByDate>10/10/2014</EstimatedShipByDate> <OrderStatus>Shipped</OrderStatus> <ShipmentInfo> <DeliveryCompany>Royal Mail</DeliveryCompany> <ServiceType>Standard</ServiceType> <ShipmentDate>10/10/2014</ShipmentDate> <ShippingCost>5.00</ShippingCost> <TrackingNo>ABC123</TrackingNo> </ShipmentInfo> </OrderStatusModel>
DELETE /Order?clientOrderId={clientOrderId}&comment={comment}
An order can only be cancelled if its status is New. For orders that have progressed further, please contact [email protected]. Once an order has shipped, it cannot be cancelled.
You can re-submit an order with the same ClientOrderId as long as the previous order with the same ID has been cancelled. For example, if an order was originally submitted with incorrect information, it can be cancelled and then re-submitted using the same ClientOrderId.
clientOrderId | required | Your order reference/ID. |
comment | optional | Optional short note about this cancellation. |
A 200 OK HTTP status code.
POST /ShippingCost
Retrieve the shipping price for a basket of products.
{ "ClientSourceCode": "ABC123", "CountryCode": "UK", "ProductsAndQuantities": [ { "ProductCode": "AODFC-0000", "Quantity": 1 }, { "ProductCode": "LFSLP-9999", "Quantity": 2 } ] }
<ShippingCostModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <ClientSourceCode>ABC123</ClientSourceCode> <CountryCode>UK</CountryCode> <ProductsAndQuantities> <ProductAndQuantityModel> <ProductCode>AODFC-0000</ProductCode> <Quantity>1</Quantity> </ProductAndQuantityModel> <ProductAndQuantityModel> <ProductCode>LFSLP-9999</ProductCode> <Quantity>2</Quantity> </ProductAndQuantityModel> </ProductsAndQuantities> </ShippingCostModel>
GET /Countries
Retrieve a look-up list of countries and their codes. This is a utility operation, useful to ensure correct the country code is being supplied when placing an order.
No arguments required.
[ { "CountryCode": "UK", "CountryName": "United Kingdom" }, { "CountryCode": "US", "CountryName": "United States" } ]
<ArrayOfCountryModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <CountryModel> <CountryCode>UK</CountryCode> <CountryName>United Kingdom</CountryName> </CountryModel> <CountryModel> <CountryCode>US</CountryCode> <CountryName>United States</CountryName> </CountryModel> </ArrayOfCountryModel>
GET /DeliveryCompanies
Get a look-up list of available delivery companies and their tracking URL.
No arguments required.
[ { "Name": "Royal Mail", "TrackingURL": "http://www.royalmail.com/track-trace" }, { "Name": "FedEx UK", "TrackingURL": "http://www.fedexuk.net/accounts/track.aspx" } ]
<ArrayOfDeliveryCompanyModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <DeliveryCompanyModel> <Name>Royal Mail</Name> <TrackingURL>http://www.royalmail.com/track-trace</TrackingURL> </DeliveryCompanyModel> <DeliveryCompanyModel> <Name>FedEx UK</Name> <TrackingURL>http://www.fedexuk.net/accounts/track.aspx</TrackingURL> </DeliveryCompanyModel> </ArrayOfDeliveryCompanyModel>
GET /Products?clientCode={clientCode}
Retrieve all products that are available on your account.
When placing an order, the product for every line item has to be one from this list. In addition, some of the products we manufacturer are complex, and these have extra Product Properties that must also be included with each line item.
clientCode | required | Your unique client code. |
[ { "CICProductCode": "AODFC-0000", "ProductTypeName": "AODFramedCanvas", "SLAShipByInNoDays": 5, "ProductCostModel": "FixedCost", "UnitCostPrice": 30.00, "Description": "AOD Medium Framed Canvas" }, { "CICProductCode": "LFSLP-9999", "ProductTypeName": "FramedPaper", "SLAShipByInNoDays": 6, "ProductCostModel": "FixedCost", "UnitCostPrice": 32.00, "Description": "Large Framed SL Paper" } ]
<ArrayOfProductModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <ProductModel> <CICProductCode>AODFC-0000</CICProductCode> <Description>AOD Medium Framed Canvas</Description> <ProductCostModel>FixedCost</ProductCostModel> <ProductTypeName>AODFramedCanvas</ProductTypeName> <SLAShipByInNoDays>5</SLAShipByInNoDays> <UnitCostPrice>30.00</UnitCostPrice> </ProductModel> <ProductModel> <CICProductCode>LFSLP-9999</CICProductCode> <Description>Large Framed SL Paper</Description> <ProductCostModel>FixedCost</ProductCostModel> <ProductTypeName>FramedPaper</ProductTypeName> <SLAShipByInNoDays>6</SLAShipByInNoDays> <UnitCostPrice>32.00</UnitCostPrice> </ProductModel> </ArrayOfProductModel>
GET /ProductProperties?cicProductCode={cicProductCode}
Retrieve all product-specific property definitions.
Due to the complexity of our print products, some require additional Product Properties to be sent with each line item. This may include a specific paper type, frame colour, or the image dimensions for example. This API method returns all the properties associated with a particular product.
Some of these properties will be required within an Order's line item, as indicated by the IsMandatory attribute.
Product Properties should be included in an Order as an array of name:value pairs. See the Order object example for the exact formatting.
cicProductCode | required | The product's unique code. |
[ { "PropertyName": "FrameCode", "IsMandatory": true, "DataType": "String", "Example": "FC-200" }, { "PropertyName": "ImageWidth", "IsMandatory": true, "DataType": "Integer", "Example": "600" }, { "PropertyName": "ImageHeight", "IsMandatory": true, "DataType": "Integer", "Example": "400" } ]
<ArrayOfProductTypePropertyModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <ProductTypePropertyModel> <DataType>String</DataType> <Example>FC-200</Example> <IsMandatory>true</IsMandatory> <PropertyName>FrameCode</PropertyName> </ProductTypePropertyModel> <ProductTypePropertyModel> <DataType>Integer</DataType> <Example>600</Example> <IsMandatory>true</IsMandatory> <PropertyName>ImageWidth</PropertyName> </ProductTypePropertyModel> <ProductTypePropertyModel> <DataType>Integer</DataType> <Example>400</Example> <IsMandatory>true</IsMandatory> <PropertyName>ImageHeight</PropertyName> </ProductTypePropertyModel> </ArrayOfProductTypePropertyModel>
GET /ProductTypes?clientCode={clientCode}
Retrieve all product types available in your account.
clientCode | required | Your unique client code. |
[ { "ProductTypeId": 3, "ProductTypeName": "AODFramedPrint", "Properties": [ { "PropertyName": "FrameCode", "IsMandatory": true, "DataType": "String", "Example": "FP-400" }, { "PropertyName": "PaperCode", "IsMandatory": true, "DataType": "String", "Example": "SGPP" } ] }, { "ProductTypeId": 4, "ProductTypeName": "AODFramedCanvas", "Properties": [ { "PropertyName": "FrameCode", "IsMandatory": true, "DataType": "String", "Example": "FC-200" }, { "PropertyName": "CanvasCode", "IsMandatory": true, "DataType": "String", "Example": "PC" } ] } ]
<ArrayOfProductTypeModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <ProductTypeModel> <ProductTypeId>3</ProductTypeId> <ProductTypeName>AODFramedPrint</ProductTypeName> <Properties> <ProductTypePropertyModel> <DataType>String</DataType> <Example>FP-400</Example> <IsMandatory>true</IsMandatory> <PropertyName>FrameCode</PropertyName> </ProductTypePropertyModel> <ProductTypePropertyModel> <DataType>String</DataType> <Example>SGPP</Example> <IsMandatory>true</IsMandatory> <PropertyName>PaperCode</PropertyName> </ProductTypePropertyModel> </Properties> </ProductTypeModel> <ProductTypeModel> <ProductTypeId>4</ProductTypeId> <ProductTypeName>AODFramedCanvas</ProductTypeName> <Properties> <ProductTypePropertyModel> <DataType>String</DataType> <Example>FC-200</Example> <IsMandatory>true</IsMandatory> <PropertyName>FrameCode</PropertyName> </ProductTypePropertyModel> <ProductTypePropertyModel> <DataType>String</DataType> <Example>PC</Example> <IsMandatory>true</IsMandatory> <PropertyName>CanvasCode</PropertyName> </ProductTypePropertyModel> </Properties> </ProductTypeModel> </ArrayOfProductTypeModel>
GET /ClientSources?clientCode={clientCode}
Get a list of all active stores/sites on your account.
clientCode | required | Your unique client code. |
[ { "SourceCode": "TESTSITE1", "SourceName": "Test web store 1", "ClientName": "Any Art Ltd", "Status": "Active", "FirstLiveDate": "2014-07-09T10:36:44.4408869+01:00", "SourceType": "Website", "ShipmentManifestEnabled": true, "NewOrderNotificationEnabled": true }, { "SourceCode": "TESTSITE2", "SourceName": "Test web store 2", "ClientName": "Any Art Ltd", "Status": "Active", "FirstLiveDate": "2014-07-09T10:36:44.4408869+01:00", "SourceType": "Website", "ShipmentManifestEnabled": true, "NewOrderNotificationEnabled": true } ]
<ArrayOfClientSourceModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CIC.Prodogi.WebAPIService.Models"> <ClientSourceModel> <ClientName>Any Art Ltd</ClientName> <FirstLiveDate>2014-07-09T10:36:44.4408869+01:00</FirstLiveDate> <NewOrderNotificationEnabled>true</NewOrderNotificationEnabled> <ShipmentManifestEnabled>true</ShipmentManifestEnabled> <SourceCode>TESTSITE1</SourceCode> <SourceName>Test web store 1</SourceName> <SourceType>Website</SourceType> <Status>Active</Status> </ClientSourceModel> <ClientSourceModel> <ClientName>Any Art Ltd</ClientName> <FirstLiveDate>2014-07-09T10:36:44.4408869+01:00</FirstLiveDate> <NewOrderNotificationEnabled>true</NewOrderNotificationEnabled> <ShipmentManifestEnabled>true</ShipmentManifestEnabled> <SourceCode>TESTSITE2</SourceCode> <SourceName>Test web store 2</SourceName> <SourceType>Website</SourceType> <Status>Active</Status> </ClientSourceModel> </ArrayOfClientSourceModel>
To find out more about Prodigi and what we do, visit the Prodigi website.