Skip to main content
Question

Looking for the rest api to get customer price

  • October 2, 2024
  • 3 replies
  • 54 views

Forum|alt.badge.img+8

In applications 10 I have soap capabilities to retrieve the customer price for an item.   I am looking for the Rest function that I can pass a customer, currency, part list and retrieve the price for the customer. 

3 replies

Forum|alt.badge.img+10
  • Sidekick (Customer)
  • September 8, 2026

Did you find a new way of doing this? 


Forum|alt.badge.img+8
  • Sidekick (Employee)
  • September 8, 2026

Hi.  I found the following information -

 

In IFS Applications 10, SOAP BizAPIs and SOAP web services are replaced by OData v4 REST Projections.

To retrieve customer prices via REST, IFS exposes the pricing engine (driven under the hood by Customer_Order_Pricing_API.Get_Sales_Part_Price_Info) as OData functions/actions within sales projections such as CustomerOrderHandling, CustomerOrderPriceAnalysisHandling, or SalesPartHandling.

1. REST Function for Single Part Price Retrieval

For retrieving price information for a specific customer, part, and currency, IFS Apps 10 uses an unbound OData Function on the projection.

Endpoint Endpoint Pattern:

 

 

 

GET /main/ifsjson/projection/v1/CustomerOrderHandling.svc/GetSalesPartPriceInfo(CustomerNo='{CustomerNo}',Contract='{Site}',CatalogNo='{PartNo}',CurrencyCode='{Currency}',BuyQty={Quantity})

Key Parameters Passed:

  • CustomerNo: The Customer ID.

  • Contract: The Site code.

  • CatalogNo: The Sales Part Number.

  • CurrencyCode: The requested currency code (e.g., 'USD').

  • BuyQty: The quantity (used for price break / volume discount calculations).

  • Optional Parameters: AgreementId, PriceListNo, ConditionCode.

Response Output:

Returns the calculated sale price, base price, discount %, net amount, currency rate, and source of price (Customer Agreement, Price List, Base Price, etc.).

2. Passing a List of Parts (Multiple Parts)

Because standard OData functions evaluate price line-by-line, there are two standard ways in IFS Applications 10 REST to retrieve prices for a part list in a single call:

Method A: Standard OData $batch Request (No Customization)

You can bundle multiple pricing function calls into a single HTTP POST request using the OData $batch endpoint.

  • Endpoint:

     

     

     

    POST /main/ifsjson/projection/v1/CustomerOrderHandling.svc/$batch Content-Type: multipart/mixed; boundary=batch_boundary
  • Payload Structure:

     

     

     

    --batch_boundary Content-Type: application/http Content-Transfer-Encoding: binary GET GetSalesPartPriceInfo(CustomerNo='C1000',Contract='10',CatalogNo='PART-A',CurrencyCode='USD',BuyQty=1) HTTP/1.1 --batch_boundary Content-Type: application/http Content-Transfer-Encoding: binary GET GetSalesPartPriceInfo(CustomerNo='C1000',Contract='10',CatalogNo='PART-B',CurrencyCode='USD',BuyQty=5) HTTP/1.1 --batch_boundary--

Method B: Custom Integration Projection (For Array Input)

If external callers cannot construct $batch requests and require passing a JSON array of parts in a single POST body, you can create a lightweight custom projection (.projection) in Marble/Developer Studio that exposes an unbound Action taking a list/structure array and calling Customer_Order_Pricing_API:

 

 

 

action GetCustomerPartListPrices Structure(CustomerPriceResultStruct) { initialcheck implementation; parameter CustomerNo Text; parameter CurrencyCode Text; parameter Contract Text; parameter PartList List<Structure(PartItemStruct)>; }

 

I hope this helps.  Thanks!  Jane


Forum|alt.badge.img+10
  • Sidekick (Customer)
  • September 9, 2026

Thanks for coming back.

 

Out REST URL’s have ifsapplications not ifsjson in the address. It does not seem exposed.

Do you have any more infomation?

 

Matt