Back

Contents

1. Purpose of this Document
2. Common Requirements for all Portal Services
     2.1 Sample Service Call Code (C#)
3. Summary of Available Portal Services
     3.1 Product Info
Description
Required items for usage
Functions
Class Diagrams
Service WDSL
     3.2 Purchase Orders
Description
Required items for usage
Functions
Class Diagrams
Service WDSL

1. Purpose of this Document

This Document is intended to assist a Client to make use of the Parrot Portal Web Services by providing Service Method definitions and sample calling code. This will also help Developers see how it can be used externally and which parameters are required.

2. Common Requirements for all Portal Services

Please note that in order to authenticate to the Parrot Portal, you will require a Username and Password on our Active Directory.

This information will be sent to you and is required for all Portal Service calls, in addition to any specific requirements for each Service listed in this Document.

In most cases, you (as a Client) will use the Basic authentication option when using the Parrot Portal and provide your Active Directory Username and Password as Credentials for connecting to all available Portal Web Services.

2.1 Sample Service Call Code (C#)

Shown below is some quick sample code, demonstrating how to connect using Basic HTTPS Authentication to the Product Info Web Service.

Please note that if either of these Credentials are wrong, the service will fail with Invalid Authentication: Username or password is incorrect.


3. Summary of Available Portal Services

3.1 Product Info

Description

The product info service allows you to fetch the latest information about Parrot’s Products. This includes the following:

  • Pricing information
  • Product’s Parrot Stock Code and Description
  • The product’s Barcode and any associated Kit Items for the product
  • Any alternative products for the product
  • Recommended Retail Price (RRP)
  • Product Document and Image Links (to Parrot’s Public Web Services)
  • Any current Promotion Info for the Product
  • Can optionally show current Warehouse Stock Levels per Product
  • The product's Publishing Category (this is usually used for eCommerce)

Required items for usage

  • Parrot Internal Customer Code
  • Parrot generated Portal Product Info Password for the specific internal Customer Code

This section will describe the functions that are callable from the Portal Product Info service.

 

* This should be your preferred function for querying for Product Pricing.

This method parameters are shown and described below:

GetProductInfoForCustomerForMultipleProductsUsingDefaults(IList StockCodes, string CustomerCode, string Password, bool GetSuspendedProducts)
  1. StockCodes: This is an array or List<string> of the StockCodes whose information you wish to retrieve.
  2. CustomerCode: Your unique Customer Code on our system, please make sure to always use this code when sending a request or it will fail.
  3. Password: Your Portal Password provided by Parrot, used to determine if access is allowed through our Portal.
  4. GetSuspendedProducts: Flags if you wish to retrieve active products or suspended products.

GetProductInfoForCustomerForMultipleProducts

GetProductInfoForCustomerForMultipleProducts(IList StockCodes, string CustomerCode, DateTime? PricingDate, int ChannelID, int PromoMinQuantity, string Password)
  1. StockCodes: This is an array or List of the Stock Codes whose information you wish to retrieve
  2. CustomerCode: Your unique Customer Code on our system, please make sure to always use this code when sending a request or it will fail.
  3. PricingDate: The date the pricing should be for. If you pass in a null value, it will default to getting pricing for today’s date. This is used to determine Pricelist/Promotion pricing.
  4. ChannelID: Leave as 0 for now. Is used by our system to determine if a channel discount applies.
  5. PromoMinQuantity: Is used to determine eligibility for a promotion. Leave as 1 .
  6. Password: Your Portal Password provided by Parrot, used to determine if access is allowed through our Portal.
  7. GetSuspendedProducts: Flags if you wish to retrieve active products or suspended products.

GetProductInfoForCustomerForMultipleProductsUsingDefaultsWithWarehouseStock

GetProductInfoForCustomerForMultipleProductsUsingDefaultsWithWarehouseStock(IList StockCodes, string CustomerCode, string Password, bool GetSuspendedProducts, IList WarehouseCodes)
  1. StockCodes: This is an array or List of the Stock Codes whose information you wish to retrieve
  2. CustomerCode: Your unique Customer Code on our system, please make sure to always use this code when sending a request or it will fail.
  3. Password: Your Portal Password provided by Parrot, used to determine if access is allowed through our Portal.
  4. GetSuspendedProducts: Flags if you wish to retrieve active products or suspended products.
  5. WarehouseCodes: This is an array or List of Warehouse Codes you wish to receive Stock Information from. Leave as null to fetch ALL available Portal Warehouse Stock levels.

GetWarehouseInfo

This function returns all Warehouses that are available through the Portal, in a List of Results with the Warehouse Codes and their Descriptions. (This function requires no parameters)

GetWarehouseInfo()

IsConnectionUp

This function checks if the Parrot Portal is currently available for access. It simply returns a Boolean indicating if the portal is available for processing requests or not.

IsConnectionUp()

Class Diagrams


Result Object (returned from most methods on this Service)


Product Information Object (with associated objects)

Service WDSL

https://accounts.parrotproducts.biz/Portal/ProductInfo.svc?singleWsdl

3.2 Purchase Orders

Description

This Portal service allows you to place Orders for Products directly to the Parrot System itself. This can be done in several ways, including: 

  • Using the Parrot PurchaseOrder class object
  • Using an xml file from either a File Path or using a FileStream

Required items for usage

  • Parrot External Customer Code
  • Parrot Group Number
  • Parrot ERP User Name and Password

Functions

 

This section will describe the functions that are callable from the Portal Purchase Orders service.

AddNew


AddNew(CommonDataDefinitions.Portal.PurchaseOrder NewPurchaseOrder)
  1. NewPurchaseOrder: The Purchase Order class containing all the details for the new Order. (Please refer to the class diagram to see the properties this class has)

AddNewForGroup

AddNewForGroup(CommonDataDefinitions.Portal.PurchaseOrder NewPurchaseOrder, int TheGroupNumber)
  1. NewPurchaseOrder: Class containing all the details for the new Order
  2. TheGroupNumber: GroupNumber to use alongside the external customer code.

AddNewForGroupOverWritePrice

AddNewForGroupOverWritePrice(CommonDataDefinitions.Portal.PurchaseOrder NewPurchaseOrder, int TheGroupNumber, bool OverWritePricing)
  1. NewPurchaseOrder: Class containing all the details for the new Order.
  2. TheGroupNumber: Group Number to use alongside the external customer code.
  3. OverWritePricing: Flags if overwrite pricing must be used or not.

AddNewFromFilePath

AddNewFromFilePath(string TheXmlFilePath);
  1. TheXmlFilePath: Represents the system path to the Xml file which has the details for the Order.

AddNewFromFileStream

AddNewFromFileStream(Stream TheXmlFileStream)
  1. TheXmlFileStream: Represents a file stream object containing the xml file’s information for creating the new Order.

AddNewForGroupDefaultToDeliveryNote

AddNewForGroupDefaultToDeliveryNote(PurchaseOrder NewPurchaseOrder, int GroupNumber, bool DefaultToDeliveryNote)
  1. NewPurchaseOrder: Class containing all the details for the new Order.
  2. TheGroupNumber: Group Number to use alongside the external customer code
  3. DefaultToDeliveryNote: Flags that the Portal Order should be e-mailed as and placed with the Delivery Document as a Delivery Note rather than a Tax invoice.

IsConnectionUp

IsConnectionUp()

This function checks if the Purchase Orders service is currently available for access. It simply returns a Boolean indicating if the portal is available for processing requests or not.

Class Diagrams


Processing Objects


 

Returned Objects


Service WDSL

https://accounts.parrotproducts.biz/Portal/PurchaseOrders.svc?singleWsdl