.wpb_animate_when_almost_visible { opacity: 1; }

Sales orders 1.0

Add quickly and easily digital sales orders for Supply Chain processing with Orange Business Services

Use this API Contact us

Before starting

This API requires a 2-legged authentication managed by our OAuth 2.0 authorization server. Please follow the method described here.

Subscribe to the API

You get the Authorization header credentials when you register your application on the Orange Developer Console.

API Authentication

HTTPS requests to the REST API are protected with a Basic authentication. To learn more about how Orange Developer handles authentication, please refer to our documentation.

In short, you will use your Orange Developer Authorization header as authorization_header for the Basic authentication with Orange Developper. The first step is to request an access_token:

After registering your application, you can subscribe to our service. This request must be approved by OBS Fusion API team. You will be notified by email when the subscription will be approved.

curl -X POST \
-H "Authorization: {{ authorization_header }}" \
-d "grant_type=client_credentials" \

In response, you will get an access_token that you must use in all OBS Fusion API requests.

       "token_type": "Bearer",
       "access_token": "66AeYJF8eJQPS22SjkFg9LB1LePC",
       "expires_in": "7776000"

The token validity period is 90 days.

Test the service

Create a SalesOrder example

curl -X POST \
  https://api.orange.com/sales-orders/v1/salesorders \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -H 'Authorization: Bearer {accessToken}' \
  -d '{{salesOrderPayload}}'

salesOrderPayload example

   "BusinessUnitName": "1865_OCEAN",
   "RequestingBusinessUnitName": "1865_OCEAN",
   "SourceTransactionSystem": "OPS",
   "SourceTransactionId": "SDUS14",
   "SourceTransactionNumber": "SDUS14",
   "BuyingPartyName": "SOGETREL",
   "TransactionTypeCode": "CAPEX_NO_PROJECT",
   "CustomerPONumber": "TEST",
   "TransactionalCurrencyCode": "EUR",
   "RequestingLegalEntity": "Orange Business Services SA",
   "PartialShipAllowedFlag": true,
   "FreezePriceFlag": false,
   "FreezeShippingChargeFlag": false,
   "FreezeTaxFlag": false,
   "SubmittedFlag": true,
   "Salesperson": "Ahlem Yousfi",
   "billToCustomer": [
         "PartyName": "SOGETREL"
   "shipToCustomer": [
         "PartyName": "SOGETREL" 
   "salesCredits": [
         "SourceTransactionSalesCreditIdentifier": "1",
         "SalesCreditTypeId": "1",
         "Percent": "100",
         "Salesperson": "Stephane Chaussat"
   "lines": [
         "SourceTransactionLineNumber": "3",
         "ProductNumber": "OCEE/FMA120",
         "OrderedQuantity": "1",
         "UnitSellingPrice": "122",
         "RequestedShipDate": "2019-10-01",
         "RequestedFulfillmentOrganizationCode": "OCE_AIX",
         "PartialShipAllowedFlag": true,
         "SubstitutionAllowedFlag": false,
         "TransactionCategoryCode": "ORDER",
         "SourceScheduleNumber": "1",
         "SourceTransactionLineId": "3",
         "SourceTransactionScheduleId": "1",
         "OrderedUOM": "Each",
         "ExtendedAmount": 122,
         "manualPriceAdjustments": [
               "AdjustmentAmount": "122",
               "AdjustmentTypeCode": "PRICE_OVERRIDE",
               "ReasonCode": "ORA_SALES_NEGOTIATION",
               "SequenceNumber": "1",
               "ChargeDefinitionCode": "QP_SALE_PRICE",
               "SourceManualPriceAdjustmentId": "1",
               "ChargeRollupFlag": false


  • {accessToken}: your access_token
  • {salesOrderPayload}: All payload fields formatted as field / object you will find them in the following link: descriptions

Error handling

Orange APIs use appropriate HTTP status codes to indicate any request processing error. See Orange Developer Common errors page for more information.