URL 特殊文字のエンコード

SCAPI では、コンマ ( , ) は値の区切り文字として使用され、パーセント記号 (%) は URL エンコードに使用されます。

これらの文字は予約文字として扱われるため、SCAPI リクエストの以下のリソース識別子内で使用する場合は、さらに UTF-8 で URL エンコードする必要があります。

  • リクエストパスパラメーター
  • クエリパラメーター

たとえば、productIDcategoryIDpromotionID などです。

リクエストパスパラメーターのエンコード 

リクエストパスパラメーター値のリソース識別子内にコンマ ( , ) またはパーセント記号 (%) が含まれている場合は、その値をさらに UTF-8 で URL エンコードする必要があります。次の例は、productId リソース識別子 “Flour,1KG” を指定したリクエストを示しています。

1`curl "https://{shortCode}.api.commercecloud.salesforce.com/product/products/v1/organizations/{organizationId}/products/Flour%2C1KG"`

クライアントがリクエストを送信すると、通常、リクエストは HTTP ライブラリによってもう一度自動的にエンコードされ、SCAPI に送信されます。

1https://{shortCode}.api.commercecloud.salesforce.com/product/products/v1/organizations/{organizationId}/products/Flour%252C1KG

SCAPI は、リクエスト内のリソース識別子をデコードします。

1ProductId -> "Flour,1KG"

クエリパラメーターのエンコード 

クエリパラメーター値のリソース識別子内にコンマ ( , ) またはパーセント記号 (%) が含まれている場合は、その値をさらに UTF-8 で URL エンコードする必要があります。次の例は、productId リソース識別子 “Flour,1KG” と “1%Milk” を指定したリクエストを示しています。

1`curl "https://{shortCode}.api.commercecloud.salesforce.com/product/products/v1/organizations/{organizationId}/products?ids=Flour%2C1KG,1%25Milk`

クライアントがリクエストを送信すると、通常、リクエストは HTTP ライブラリによってもう一度自動的にエンコードされ、SCAPI に送信されます。

1https://{shortCode}.api.commercecloud.salesforce.com/product/products/v1/organizations/{organizationId}/products?ids=Flour%252C1KG%2C1%2525Milk

SCAPI は、リクエスト内のリソース識別子をデコードします。

1ProductIds -> "Flour,1KG"
2           -> "1%Milk"

通常、リソース識別子内では、コンマ ( , ) やパーセント記号 (%) などの特殊文字を使用しないことをお勧めします。

Note