Create one billing plan
/fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHub/{OrderKey}/child/lines/{linesUniqID}/child/billingPlans
Request
-
OrderKey(required): string
Value that uniquely identifies the sales order. It can have the following formats.
- Concatenation of SourceOrderSystem, a colon, and the value of SourceTransactionId. For orders created through the Oracle Fusion Cloud Order Management work area, the SourceTransactionId is same as the HeaderId. For example, if SourceOrderSystem is LEG and SourceTransactionId is R13_Sample_Order, the value of this attribute is LEG:R13_Sample_Order. This format of the OrderKey in the URL always returns the latest version of the sales order. When a draft exists, that becomes the latest version of the sales order. When invoking GET sales order using this OrderKey format, the URLs in the "links" section point to the latest version of the sales order and the corresponding child objects.
Example: /salesOrdersForOrderHub/LEG:R13_Sample_Order points to the latest version of the order with SourceTransactionId "R13_Sample_Order" in the SourceOrderSystem "LEG".
- Primary key of the sales order, which is HeaderId. This format of the OrderKey is useful when the order has multiple revisions because it helps in accessing either the older version or the latest version of the order. When there's a draft revision then HeaderId can be used to access the processing order. When invoking GET sales order using this OrderKey format, the URLs in the "links" section also point to that specific version of the sales order and the corresponding child objects. Only the Get operation is supported on older revisions of the order.
Example: /salesOrdersForOrderHub/12345 points to an order with HeaderId 12345.
When a q parameter or query finder is used to GET an order that has multiple versions then the latest version has the OrderKey in the format <sourceOrderSystem>:<SourceTransactionId> whereas reference orders have OrderKey in the format of HeaderId. -
linesUniqID(required): string
This is the hash key of the attributes which make up the composite key for the Order Lines resource and used to uniquely identify an instance of Order Lines. The client should not generate the hash key value. Instead, the client should query on the Order Lines collection resource in order to navigate to a specific instance of Order Lines to get the hash key.
-
Metadata-Context:
If the REST API supports runtime customizations, the shape of the service may change during runtime. The REST client may isolate itself from these changes or choose to interact with the latest version of the API by specifying this header. For example: Metadata-Context:sandbox="TrackEmployeeFeature".
-
REST-Framework-Version:
The protocol version between a REST client and service. If the client does not specify this header in the request the server will pick a default version for the API.
-
Upsert-Mode:
Contains one of the following values: true or false. If true, the server performs an Upsert operation instead of a Create operation. During an Upsert operation, the server attempts to find an existing resource that matches the payload. If a match is found, the server updates the existing resource instead of creating a new one. If not found or false (default), the server performs a Create operation. Note that the Upsert operation isn't supported for date-effective REST resources.
- application/json
object
-
BillingNumberOfPeriods: integer
(int32)
Number of timeframes in a recurring invoice.
-
BillingPeriodEndDate: string
(date)
End date of the billing timeframe. The application sets this date to the contract end date of the first billing timeframe. If the invoice does not cover the full billing timeframe, then the application sets the end date to the billing end date of the subsequent billing timeframe.
-
BillingPeriodNumber: integer
(int32)
Timeframe number for the billing start date, end date, or transaction date.
-
BillingPeriodStartDate: string
(date)
Start date of the billing timeframe. The application sets this date to the contract start date of the first billing timeframe. If the invoice does not cover the full billing timeframe, then the application sets the start date to the billing start date of the subsequent billing timeframe.
-
BillingPlanId: integer
(int64)
Value that uniquely identifies the billing plan.
-
BillingPlanType: string
Maximum Length:
80
Name of the billing plan type. -
BillingPlanTypeCode: string
Maximum Length:
30
Abbreviation that identifies the type of billing plan, such as periodic or milestone. -
BillingTransactionDate: string
(date)
Date when the first invoice occurs when the sales order uses a recurring invoice. If the invoice covers only part of an invoice timeframe, then this attribute stores the date of the subsequent invoice.
-
CancellationEffectiveDate: string
(date)
Date when recurring billing stops and no future billing occurs.
-
NetBillingAmountForEachPeriod: number
Net amount that the application bills for each billing timeframe.
-
OverridePeriod: integer
(int32)
Timeframe that includes an override amount. For example, the first invoice is for timeframe 1, the second invoice is for timeframe 2, and so on.
-
OverridePeriodAmount: number
Override amount to apply on the timeframe.
-
OverridePeriodQuantity: number
Quantity to use when calculating recurring billing or credit for the override timeframe.
-
Periodicity: string
Maximum Length:
80
Name of the timeframe of the recurring invoice. -
PeriodicityCode: string
Maximum Length:
30
Timeframe of the recurring invoice. Values include Day, Week, Month, Quarter, or Year. -
SourceBillingPlanId: string
Maximum Length:
50
Value that identifies the billing plan. The source application assigns this value.
Response
- application/json
Default Response
-
Metadata-Context(required):
If the REST API supports runtime customizations, the shape of the service may change during runtime. The REST client may isolate itself from these changes or choose to interact with the latest version of the API by specifying this header. For example: Metadata-Context:sandbox="TrackEmployeeFeature".
-
REST-Framework-Version(required):
The protocol version between a REST client and service. If the client does not specify this header in the request the server will pick a default version for the API.
object
-
BillingNumberOfPeriods: integer
(int32)
Number of timeframes in a recurring invoice.
-
BillingPeriodEndDate: string
(date)
End date of the billing timeframe. The application sets this date to the contract end date of the first billing timeframe. If the invoice does not cover the full billing timeframe, then the application sets the end date to the billing end date of the subsequent billing timeframe.
-
BillingPeriodNumber: integer
(int32)
Timeframe number for the billing start date, end date, or transaction date.
-
BillingPeriodStartDate: string
(date)
Start date of the billing timeframe. The application sets this date to the contract start date of the first billing timeframe. If the invoice does not cover the full billing timeframe, then the application sets the start date to the billing start date of the subsequent billing timeframe.
-
BillingPlanId: integer
(int64)
Value that uniquely identifies the billing plan.
-
BillingPlanType: string
Maximum Length:
80
Name of the billing plan type. -
BillingPlanTypeCode: string
Maximum Length:
30
Abbreviation that identifies the type of billing plan, such as periodic or milestone. -
BillingTransactionDate: string
(date)
Date when the first invoice occurs when the sales order uses a recurring invoice. If the invoice covers only part of an invoice timeframe, then this attribute stores the date of the subsequent invoice.
-
CancellationEffectiveDate: string
(date)
Date when recurring billing stops and no future billing occurs.
-
links: array
Links
Title:
Links
The link relations associated with the resource instance. -
NetBillingAmountForEachPeriod: number
Net amount that the application bills for each billing timeframe.
-
OverridePeriod: integer
(int32)
Timeframe that includes an override amount. For example, the first invoice is for timeframe 1, the second invoice is for timeframe 2, and so on.
-
OverridePeriodAmount: number
Override amount to apply on the timeframe.
-
OverridePeriodQuantity: number
Quantity to use when calculating recurring billing or credit for the override timeframe.
-
Periodicity: string
Maximum Length:
80
Name of the timeframe of the recurring invoice. -
PeriodicityCode: string
Maximum Length:
30
Timeframe of the recurring invoice. Values include Day, Week, Month, Quarter, or Year. -
SourceBillingPlanId: string
Maximum Length:
50
Value that identifies the billing plan. The source application assigns this value.
array
Links
object
-
href: string
Title:
hyperlink reference
The URI to the related resource. -
kind: string
Title:
kind
Allowed Values:[ "collection", "item", "describe", "other" ]
The kind of the related resource. -
name: string
Title:
name
The name of the link to the related resource. -
properties: object
properties
-
rel: string
Title:
relation
Allowed Values:[ "self", "lov", "parent", "canonical", "child", "enclosure", "action", "custom" ]
The name of the relation to the resource instance. Example: self.
object
-
changeIndicator: string
Change indicator or the ETag value of the resource instance.
Examples
This example describes how to add a billing plan.
Example cURL Command
Use the following cURL command to submit a request on the REST resource.
curl -X PATCH -u "username:password" -H "Content-Type: application/vnd.oracle.adf.resourceitem+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/salesOrdersForOrderHub/OrderKey/child/lines/linesUniqID/child/billingPlans"
For example, use the following command:
curl -X PATCH -u "username:password" -H "Content-Type: application/vnd.oracle.adf.resourceitem+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/salesOrdersForOrderHub/GPR%3AR13_subscriptions_01/child/lines/00020000000EACED00057708000110F09BD327780000000EACED00057708000110F09BD32779/child/billingPlans"
Example Request Body
The following example includes the contents of the request body in JSON format to add a new billing plan to an order line in an existing order.
You replace the request payload in the cURL command with the contents of the Example Request Body. The request payload specifies attribute values that the command will use in the record that it updates.
{ "BillingNumberOfPeriods": 12, "BillingPlanTypeCode": "PERIODIC", "PeriodicityCode": "MONTH" }
Example Response Body
The following example includes the contents of the response body in JSON format:
{ }