販売時点管理 (POS) API
Retail POS API を使用すると、簡単に POS アプリに拡張機能または新しい機能を構築することができます。 たとえば、製品の詳細の取得、価格の変更、買い物カゴへの品目の追加を行うための新しい機能を追加するために Retail POS アプリケーションを拡張する場合です。 これを実現する API を使用できます。 これを行うには、作業を実行する API を呼び出す必要があります。 POS API は、拡張子パターンを合理化し、拡張機能を構築するために継続的なサポートを提供します。
拡張パターンは、要求/応答のパターンに従って Commerce Runtime (CRT)、POS、ハードウェア ステーション (HWS) 間で統合されています。 すべての POS API は、CRT や HWS のような要求/応答として公開されます。
POS API は、3 つのさまざまなシナリオに分類されます。
消費 - 拡張機能のパブリック API を使用します。
拡張 - 一部の追加ロジックを実行するパブリック API をオーバーライドします。
作成 - 公開された POS インターフェイスを使用して新しい API を作成します。それは拡張機能全体で使用できます。
API の多くは、拡張機能で消費できます。 たとえば、外部の Web サービス コールに基づいて品目の価格を変更する場合は、品目の価格を変更する PriceOverrideOperationRequest を呼び出すことができます。 消費では、API は買い物カゴ、周辺機器、店舗運営のようなモジュールごとにサブカテゴリに入れられます。
メモ
すべての API の一覧は、Pos.Api.d.ts にあります。これは、Retail SDK (...Retail SDK\POS\Extensions\Pos.Api.d.ts) の一部です。 拡張機能は、公開されている要求と、POS.Api.d.ts からの応答のみを使用する必要があり、Pos.Api.d.ts を変更することはできません。 拡張機能は、POS API、プロパティ、メソッド、またはハンドラーを、POS Commerce またはセッション オブジェクトから直接使用したり更新したりすることはできません。
拡張機能で API を使用する方法
拡張機能で Retail API を利用するには、次の手順を使用します。
拡張機能ファイルで API をインポートします。
たとえば、拡張機能の買い物カゴ API で保存属性を使用する場合、次のインポート ステートメントを追加する必要があります。
パターンは、"PosApi/Consume/Module name" からの {api name} のインポートです。
import { SaveAttributesOnCartClientRequest, SaveAttributesOnCartClientResponse } from "PosApi/Consume/Cart";
必要に応じて、クライアントのエンティティとプロキシ エンティティをインポートします。
import { ClientEntities } from "PosApi/Entities"; import { ProxyEntities } from "PosApi/Entities";
API 変数を宣言し、POS ランタイムを使用して実行します。これには、this.context.runtime.executeAsync("api name") を使用してランタイムにアクセスできます。
executeAsync<TResponse extends Response>(request: Request<TResponse>): Promise<Client.Entities.ICancelableDataResult<TResponse>>;
たとえば、支払/入金の削除を実行する場合は、SaveAttributesOnCartClientRequest api を使用し、次の手順を参照してください。
let attributeValue: ProxyEntities.AttributeTextValue = new ProxyEntities.AttributeTextValueClass(); attributeValue.Name = PreEndTransactionTrigger.B2B_CART_ATTRIBUTE_NAME; attributeValue.TextValue = "Yes"; let attributeValues: ProxyEntities.AttributeValueBase[] = [attributeValue]; let saveAttributesOnCartRequest: SaveAttributesOnCartClientRequest<SaveAttributesOnCartClientResponse> = new SaveAttributesOnCartClientRequest(attributeValues); result = this.context.runtime.executeAsync(saveAttributesOnCartRequest);
API にアクセスする方法を示すサンプル
現在の買い物カゴを取得
// Gets the current cart.
let currentCart: ProxyEntities.Cart;
return this.context.runtime.executeAsync<GetCurrentCartClientResponse>(new GetCurrentCartClientRequest())
.then((getCurrentCartClientResponse: ClientEntities.ICancelableDataResult<GetCurrentCartClientResponse>):
Promise<ClientEntities.ICancelableDataResult<GetCustomerClientResponse>> => {
currentCart = getCurrentCartClientResponse.data.result;
買い物カゴに追加された現在の顧客を取得
// Gets the current customer.
let result: Promise<ClientEntities.ICancelableDataResult<GetCustomerClientResponse>>;
if (!ObjectExtensions.isNullOrUndefined(currentCart) && !ObjectExtensions.isNullOrUndefined(currentCart.CustomerId)) {
let getCurrentCustomerClientRequest: GetCustomerClientRequest<GetCustomerClientResponse> =
new GetCustomerClientRequest(currentCart.CustomerId);
result = this.context.runtime.executeAsync<GetCustomerClientResponse>(getCurrentCustomerClientRequest);
} else {
result = Promise.resolve({ canceled: true, data: new GetCustomerClientResponse(null) });
}
強制無効トランザクション
// Force void tarnsaction.
let forceVoidTransactionRequest: VoidTransactionOperationRequest<VoidTransactionOperationResponse> =
new VoidTransactionOperationRequest<VoidTransactionOperationResponse>(false, this.context.logger.getNewCorrelationId());
this.context.runtime.executeAsync(forceVoidTransactionRequest).then((value: ICancelableDataResult<VoidTransactionOperationResponse>) => {
this.currentCart(JSON.stringify(value.data.cart));
}).catch((err: any) => {
this.currentCart(JSON.stringify(err));
});
カート
次の表に、買い物カゴに関連する機能を実行する公開済みの API の一覧を示します。
POS API | 説明 | リリース |
---|---|---|
AddPreprocessedTenderLineToCartClientRequest | 事前処理済の入金明細行を買い物カゴに追加します。 | 10.0.14 |
AddTenderLineToCartClientRequest | 入金明細行を買い物カゴに追加します。 | 10.0.14 |
ConcludeTransactionClientRequest | トランザクションを終了します。 | 10.0.14 |
GetCurrentCartClientRequest | 現在の買い物カゴを取得します。 | 10.0.14 |
GetKeyedInPriceClientRequest | キー入力価格を取得します。 | 10.0.14 |
GetPickupDateClientRequest | 集荷日を取得します。 | 10.0.14 |
GetReasonCodeLinesClientRequest | 理由コードを取得します。 | 10.0.14 |
GetReceiptEmailAddressClientRequest | 受信電子メール アドレスを取得します。 | 10.0.14 |
GetShippingDateClientRequest | 出荷日を取得します。 | 10.0.14 |
RefreshCartClientRequest | サーバーの買い物カゴ データを使用して、現在の買い物カゴを更新します。 | 10.0.14 |
ResumeSuspendedCartClientRequest | 渡された ID に基づいて中断されたトランザクションを再開します。 | 10.0.14 |
SaveAttributesOnCartClientRequest | 買い物カゴの属性を保存します。 | 10.0.14 |
SaveAttributesOnCartLinesClientRequest | 買い物カゴ内の明細行の属性を保存します。 | 10.0.14 |
SaveExtensionPropertiesOnCartClientRequest | 買い物カゴの拡張機能プロパティを保存します。 | 10.0.14 |
SaveExtensionPropertiesOnCartLinesClientRequest | 買い物カゴ内の明細行の拡張機能プロパティを保存します。 | 10.0.14 |
SaveReasonCodeLinesOnCartClientRequest | 買い物カゴに理由コードの明細行を保存します。 | 10.0.14 |
SaveReasonCodeLinesOnCartLinesClientRequest | 買い物カゴの明細行に理由コードの明細行を保存します。 | 10.0.14 |
SelectSalesLinesForPickUpClientRequest | 出荷の販売明細行を選択します。 | 10.0.14 |
SetCartAttributesClientRequest | 買い物カゴの属性を設定します。 | 10.0.14 |
ShowChangeDueClientRequest | 期日の変更ダイアログを表示します。 | 10.0.14 |
AddAffiliationOperationRequest | 買い物カゴへ所属を追加します。 | 10.0.14 |
AddItemToCartOperationRequest | 買い物カゴへ品目を追加します。 | 10.0.14 |
CalculateTotalOperationRequest | 買い物カゴの合計を計算します。 | 10.0.14 |
ChangeCartLineUnitOfMeasureOperationRequest | 買い物カゴ明細行の測定単位を変更します。 | 10.0.14 |
CreateCustomerOrderOperationRequest | 顧客注文を作成します。 | 10.0.14 |
CreateCustomerQuoteOperationRequest | 顧客見積を作成します。 | 10.0.14 |
CustomerAccountDepositOperationRequest | 10.0.14 | |
DepositOverrideOperationRequest | 預金額を上書きします。 | 10.0.14 |
EditCustomerOrderOperationRequest | 顧客注文を編集します。 | 10.0.14 |
LineDiscountAmountOperationRequest | 明細行割引金額を買い物カゴ明細行に追加します。 | 10.0.14 |
LineDiscountPercentOperationRequest | 明細行割引率を買い物カゴ明細行に追加します。 | 10.0.14 |
OverrideLineTaxFromListOperationRequest | 一覧から買い物カゴ明細行の税を上書きします。 | 10.0.14 |
OverrideLineTaxOperationRequest | 買い物カゴ明細行の税を上書きします。 | 10.0.14 |
OverrideTransactionTaxOperationRequest | 取引税を上書きします。 | 10.0.14 |
PickupAllOperationRequest | 注文をピックアップします。 | 10.0.14 |
PriceOverrideOperationRequest | 買い物カゴ明細行の価格を上書きします。 | 10.0.14 |
SetCartLineCommentOperationRequest | 買い物カゴ明細行のコメントを設定します。 | 10.0.14 |
SetCartLineQuantityOperationRequest | 買い物カゴ明細行の数量を設定します。 | 10.0.14 |
SetCustomerOnCartOperationRequest | 買い物カゴの顧客を設定します。 | 10.0.14 |
SetTransactionCommentOperationRequest | トランザクションのコメントを設定します。 | 10.0.14 |
SuspendCurrentCartOperationRequest | 現在のトランザクションを中断します。 | 10.0.14 |
TotalDiscountAmountOperationRequest | トランザクションへ合計割引金額を追加します。 | 10.0.14 |
TotalDiscountPercentOperationRequest | トランザクションへ合計割引率を追加します。 | 10.0.14 |
VoidCartLineOperationRequest | 買い物カゴ明細行を無効にします。 | 10.0.14 |
VoidTenderLineOperationRequest | 入金明細行を無効にします。 | 10.0.14 |
VoidTransactionOperationRequest | トランザクションを無効にします。 | 10.0.14 |
CreateEmptyCartServiceRequest | 空の買い物カゴを作成します。 | 10.0.14 |
GetTaxOverridesServiceRequest | 税の上書きの一覧を取得します。 | 10.0.14 |
UpdateTenderLineSignatureServiceRequest | 入金明細行の署名データを更新します。 | 10.0.14 |
CarryoutSelectedProductsOperationRequest | 選択した明細行を実行としてマークします。 | 10.0.14 |
AddCouponsOperationRequest | トランザクションにクーポンを追加します。 | 10.0.14 |
CreateNonSalesTransactionServiceRequest | 販売以外のトランザクションの買い物カゴを作成します。 | 10.0.14 |
ReturnTransactionOperationRequest | トランザクションを返します。 | 10.0.14 |
AddLoyaltyCardToCartOperationRequest | ロイヤルティ カードをトランザクションに追加します。 | 10.0.14 |
ReturnCartLineOperationRequest | 買い物カゴ明細行を返します。 | 10.0.14 |
ReturnItemOperationRequest | 品目を返します。 | 10.0.14 |
AddExpenseAccountLineToCartOperationRequest | 経費勘定明細行を買い物カゴに追加します。 | 10.0.14 |
ShipAllCartLinesOperationRequest | 買い物カゴのすべての明細行を出荷します。 | 10.0.14 |
ShipSelectedCartLinesOperationRequest | 買い物カゴの選択した明細行を出荷します。 | 10.0.14 |
PickupSelectedOperationRequest | 含められた明細行を出荷対象としてマークする | 10.0.16 |
支払利息
次の表に、支払に関連する機能を実行できる公開済みの API の一覧を示します。
POS API | 説明 | リリース |
---|---|---|
GetGiftCardByIdServiceRequest | ギフト カード ID を取得します。 | 10.0.12 |
GetPaymentCardTypeByBinRangeClientRequest | カード タイプの BIN 範囲を取得します。 | 10.0.12 |
GetSignatureClientRequest | 署名のキャプチャ ダイアログを POS で表示するか、またはコンフィギュレーションに基づいてメッセージを署名キャプチャ デバイスに送信します。 | 10.0.15 |
周辺機器
次の表に、周辺機器に関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
CardPaymentAuthorizePaymentRequest |
CardPaymentBeginTransactionRequest |
CardPaymentCapturePaymentRequest |
CardPaymentEndTransactionRequest |
CardPaymentEnquireGiftCardBalancePeripheralRequest |
CardPaymentExecuteTaskRequest |
CardPaymentRefundPaymentRequest |
CardPaymentVoidPaymentRequest |
CardPaymentAuthorizeCardTokenPeripheralRequest |
CashDrawerIsOpenRequest |
HardwareStationDeviceActionRequest |
HardwareStationStatusRequest |
LineDisplayDisplayLinesRequest |
PaymentTerminalAuthorizePaymentActivityRequest |
PaymentTerminalAuthorizePaymentRequest |
PaymentTerminalBeginTransactionRequest |
PaymentTerminalCancelOperationRequest |
PaymentTerminalCapturePaymentRequest |
PaymentTerminalEndTransactionRequest |
PaymentTerminalEnquireGiftCardBalancePeripheralRequest |
PaymentTerminalExecuteTaskRequest |
PaymentTerminalRefundPaymentActivityRequest |
PaymentTerminalRefundPaymentRequest |
PaymentTerminalUpdateLinesRequest |
PaymentTerminalVoidPaymentRequest |
PaymentTerminalFetchTokenPeripheralRequest |
PrinterPrintRequest |
ScaleReadRequest |
ScanResults
次の表に、スキャン結果に関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
GetScanResultClientRequest |
顧客
次の表に、顧客に関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
GetCustomerClientRequest |
CreateCustomerServiceRequest |
UpdateCustomerServiceRequest |
SelectCustomerClientRequest |
認証
次の表に、承認に関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
LogOffOperationRequest |
LockRegisterOperationRequest |
DataService
次の表に、データ サービスに関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
DataServiceRequest |
デバイス
次の表に、デバイスに関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
GetDeviceConfigurationClientRequest |
GetExtensionProfileClientRequest |
GetHardwareProfileClientRequest |
GetAuthenticationTokenClientRequest |
GetConnectionStatusClientRequest |
GetActiveHardwareStationClientRequest |
GetApplicationVersionClientRequest |
GetChannelConfigurationClientRequest |
診断
次の表に、診断に関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
GetSessionInfoClientRequest |
ダイアログ
次の表に、ダイアログに関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
ShowMessageDialogClientRequest |
IAlphanumericInputDialogResult |
ShowAlphanumericInputDialogClientRequest |
ShowNumericInputDialogClientRequest |
ShowListInputDialogClientRequest |
ShowTextInputDialogClientRequest |
従業員
次の表に、従業員に関連する機能を実行できる公開済みの API の一覧を示します。
POS API | 説明 | リリース |
---|---|---|
GetLoggedOnEmployeeClientRequest | 現在 POS にログインしている従業員の詳細を取得します。 | 10.0.14 |
SelectStoreEmployeeClientRequest | 現在の店舗の選択可能な従業員の一覧を取得します。 | 10.0.16 |
フォーマッター
次の表に、フォーマッターに関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
IBooleanFormatter |
ICurrencyFormatter |
IDateFormatter |
ITransactionTypeFormatter |
IPurchaseTransferOrderTypeFormatter |
OrgUnits
次の表に、組織単位に関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
GetOrgUnitConfigurationClientRequest |
GetOrgUnitTenderTypesClientRequest |
InventoryLookupOperationRequest |
製品
次の表に、製品に関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
GetProductsByIdsClientRequest |
GetCurrentProductCatalogStoreClientRequest |
SelectProductVariantClientRequest |
GetSerialNumberClientRequest |
GetRefinerValuesByTextServiceRequest |
SelectProductClientRequest |
SelectProductVariantClientRequest |
GetActivePricesServiceRequest |
カテゴリ
次の表に、カテゴリに関連する機能を実行できる公開済みの API の一覧を示します。
POS API |
---|
GetCategoriesServiceRequest |
SalesOrders
次の表に、販売注文に関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
GetReceiptsClientRequest |
RegisterPrintReceiptCopyEventRequest |
GetSalesOrderDetailsByTransactionIdClientRequest |
GetGiftReceiptsClientRequest |
RegisterPrintReceiptCopyEventRequest |
MarkAsPickedServiceRequest |
PrintPackingSlipClientRequest |
PickUpCustomerOrderLinesClientRequest |
シフト
次の表に、シフトに関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
CloseShiftOperationRequest |
CloseShiftOperationRequest |
StockCountJournals
次の表に、在庫数仕訳帳に関連する機能を実行する公開済みの API の一覧を示します。
POS API |
---|
SyncAllStockCountJournalsClientRequest |
StoreOperations
次の表に、店舗運営に関連する機能を実行する公開済みの API の一覧を示します。
POS API | 説明 | リリース |
---|---|---|
DeclareStartingAmountClientRequest | この要求を使用して開始金額を申告します。 | 10.0.14 |
GetSalesOrdersWithNoFiscalTransactionsRequest | 会計トランザクション要求のない販売注文を取得します。 | 10.0.14 |
RegisterCustomAuditEventClientRequest | カスタム監査イベント要求を登録します。 | 10.0.14 |
GetOfflinePendingTransactionCountClientRequest | オフラインで保留中のトランザクション カウントを取得します。 | 10.0.14 |
SaveFiscalTransactionClientRequest | 会計トランザクション要求を保存します。 | 10.0.14 |
SafeDropOperationRequest | 金庫保管操作要求。 | 10.0.14 |
TenderDeclarationOperationRequest | 入金申告操作要求。 | 10.0.14 |
TenderRemovalOperationRequest | 入金削除操作要求。 | 10.0.14 |
CreateBankDropTransactionClientRequest | 銀行入金トランザクション要求。 | 10.0.14 |
CreateFloatEntryTransactionClientRequest | 釣銭入力トランザクション要求。 | 10.0.14 |
CreateStartingAmountTransactionClientRequest | 開始金額トランザクション要求を作成します。 | 10.0.14 |
CreateTenderDeclarationTransactionClientRequest | 入金申告トランザクション要求を作成します。 | 10.0.14 |
CreateTenderRemovalTransactionClientRequest | 入金申告トランザクション要求を削除します。 | 10.0.14 |
GetDenominationTotalsClientRequest | 単位合計要求を取得します。 | 10.0.14 |
SelectZipCodeInfoClientRequest | 郵便番号情報の要求を選択します。 | 10.0.14 |
CreateSafeDropTransactionClientRequest | 金庫保管トランザクション要求を作成します。 | 10.0.14 |
GetTenderDetailsClientRequest | 入金の詳細を取得します。 | 10.0.14 |
LoyaltyCardPointsBalanceOperationRequest | ロイヤルティ カードの残高を取得します。 | 10.0.14 |
GetCommissionSalesGroupsServiceRequest | コミッション売上グループを取得します。 | 10.0.14 |
GetCurrenciesServiceRequest | 店舗の通貨を取得します。 | 10.0.14 |
GetSrsReportDataSetServiceRequest | SRS レポート データを取得します。 | 10.0.14 |
SearchCommissionSalesGroupsServiceRequest | コミッション売上グループの要求を検索します。 | 10.0.14 |
IssueLoyaltyCardOperationRequest | ロイヤルティ カードを発行します。 | 10.0.14 |
GetPickingAndReceivingOrdersClientRequest | ピッキングと入荷の注文リストを取得します。 | 10.0.14 |
BankDropOperationRequest | 銀行入金要求。 | 10.0.14 |
DeclareStartAmountOperationRequest | 開始金額申告要求。 | 10.0.14 |
GetAllDiscountsServiceRequest | 現在の買い物カゴに適用できる割引を取得します。 | 10.0.16 |