注文管理の自動化に関するビジネスケース

注文管理の自動化に関するビジネスケース

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

シナリオ

小売企業がQntrlを使用して注文処理プロセスを管理しているとします。この企業には、顧客から注文を受け付ける外部ECプラットフォームがあり、これらの注文を自動処理するためにQntrlと連携する必要があります。

受信用SOAP Webサービスを使用すると、ECプラットフォームは注文詳細をQntrlに送信できます。Qntrlはリクエストを検証し、注文を処理して、在庫管理システムを更新します。

仕組み  

  1. 顧客がECサイトで注文します。
  2. ECサイトはSOAPリクエストを、注文詳細(例:注文ID、顧客ID、商品ID、数量、注文日)とともにQntrlの受信用SOAPエンドポイントに送信します。
  3. Qntrlはリクエストを処理し、次の操作を行います。
    • 注文詳細を検証します(商品の在庫確認、重複注文の確認など)。
    • 注文管理システムを更新し、新しい注文を登録します。
    • SOAPレスポンスを送信し、注文が正常に作成されたことを通知します。
  1. ECプラットフォームはレスポンスを受信し、注文確認の詳細を顧客に通知します。
 

ビジネスへの効果  

注文処理の自動化により、手作業とエラーが削減されます。
レスポンス時間の短縮により、顧客体験が向上します。
シームレスな連携により、外部プラットフォームとQntrlを接続できます。
 

受信用SOAP Webサービスの作成手順   

SOAPサービスの定義  

  1. Qntrlにログインします。
  2. 次の順に移動し、[設定]→[WEB SERVICES]→[Inbound]→[SOAP]を選択します。
  3. [Create New SOAP Webservice]をクリックします。
  4. QntrlがECプラットフォームからのSOAPリクエストを受信して処理できるように、サービス詳細を入力します。
    1. [名前]OrderProcessingService
    2. [ソースエンドポイント]:/orderService(外部システムが注文を送信する際に呼び出すURLです)
    3. [操作]:execute(リクエスト処理用の初期設定の操作です)
    4. [リソース]新しい関数を作成して、Qntrlが受信するSOAPリクエストを処理する方法を定義します。
      1. エディターで関数を作成し、注文詳細を検証して注文管理システムに保存し、確認レスポンスを返すようにします。
    5. [認証方式]ECプラットフォームQntrlの間の安全な通信を確保するために、認証を設定します。
      1. OAuth
      2. APIキー
      3. 基本認証(Base64でエンコードされたユーザー名とパスワード)
    6. [WSDL準拠の必須化](任意)
      1. True:事前定義されたリクエスト/レスポンスのパラメーターと操作のみが許可されます。
      2. False:追加のパラメーターは許可されますが、検証ルールが適用されます。
      

 

リクエストパラメーターとレスポンスパラメーターの定義

これらのリクエストパラメーターでは、ECプラットフォームから送信される注文詳細を定義します。

パラメーター

使用可能な正規表現

最小文字数

最大文字数

初期値

必須

OrderID

文字列

^[A-Za-z0-9]{5,10}$

5

20

-

CustomerID

文字列

[^[A-Za-z0-9]{5,10}$

5

20

-

ProductID

文字列

^[A-Za-z0-9]{5,10}$

5

20

-

Quantity

整数

\d+

1

5

1

OrderDate

日付

^[A-Za-z0-9]{5,10}$

-

-

-

 

これらのレスポンスパラメーターにより、ECプラットフォームに返される注文確認の詳細が定義されます。

パラメーター

必須

ステータス

OrderReference

 

QntrlでのSOAPリクエストの処理   

受信SOAPリクエストの処理  

Qntrlでは、soapRequestオブジェクトを使用してリクエストを処理し、値を抽出します。

let orderID = soapRequest.getParam('OrderID');
let customerID = soapRequest.getParam('CustomerID');
let productID = soapRequest.getParam('ProductID');
let quantity = soapRequest.getParam('Quantity');
let orderDate = soapRequest.getParam('OrderDate');

// Business logic: Validate and store the order
if (!validateOrder(orderID, customerID, productID, quantity, orderDate)) {
soapResponse.setFault('INVALID_ORDER', 'Order validation failed.');
} else {
let orderRef = processOrder(orderID, customerID, productID, quantity, orderDate);
soapResponse.setParam('Status', 'Success');
soapResponse.setParam('OrderReference', orderRef);
}


 

SOAPレスポンスの送信  

Qntrlは、XMLレスポンスを返し、注文が正常に処理されたかどうかを通知します。

SOAPレスポンスのサンプル  

<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
<soapenv:Body>
<OrderResponse>
<Status>Success</Status>
<OrderReference>ORD12345XYZ</OrderReference>
</OrderResponse>
</soapenv:Body>
</soapenv:Envelope>

 

SOAP WebサービスへのAPI呼び出し   

WSDL定義の取得  

  • メソッド:GET
  • URL形式:https://##PROTECTED_0##
  • 目的:外部システムは、WSDL定義を取得して利用可能な操作を確認できます。

注文リクエストの送信  
 <soapenv:Envelope
xmlns:soapenv='
http://schemas.xmlsoap.org/soap/envelope/'
xmlns:ord='
https://core.qntrl.com/webservice/soap/orderManagement'>

<soapenv:Header>
<ord:AuthHeader>
<ord:Username>APIUser</ord:Username>
</ord:AuthHeader>
</soapenv:Header>

<soapenv:Body>
<ord:PlaceOrder>
<ord:OrderID>ORD67890</ord:OrderID>
<ord:CustomerID>CUST54321</ord:CustomerID>
<ord:ProductID>PROD1122</ord:ProductID>
<ord:Quantity>2</ord:Quantity>
<ord:OrderDate>2025-04-10</ord:OrderDate>
</ord:PlaceOrder>
</soapenv:Body>

</soapenv:Envelope>