User Management APIs
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

郵便番号APIの基礎

Liferay DXP/ポータル 7.4 以上

Liferay の REST API を使用して郵便住所を管理します。

アカウントに郵便住所を追加する

新しいLiferay DXPインスタンスを起動し、以下を実行します。

docker run -it -m 8g -p 8080:8080 liferay/dxp:2025.q1.6-lts

メールアドレス test@liferay.com とパスワード testを使用して、 http://localhost:8080 で Liferay にサインインします。 プロンプトが表示されたら、パスワードを learnに変更します。

次に、以下の手順に従います。

  1. Postal Address API Basicsをダウンロードして解凍します。

    curl https://resources.learn.liferay.com/examples/liferay-n8y7.zip -O
    
    unzip liferay-n8y7.zip
    
  2. アカウントのリストを取得するには、 Accounts_GET_FromInstance を使用します。 郵便番号を追加するアカウントの ID をメモします。 アカウントの一覧を表示するには、 グローバル メニューコントロール パネルアカウント に移動することもできます。

  3. cURL スクリプトを使用して、選択したアカウントに新しい郵便住所を追加します。 コマンドラインで、curlフォルダに移動します。 PostalAddresses_POST_ToAccount.sh スクリプトを実行します。 1234 をアカウントIDに置き換えます。

    ./PostalAddresses_POST_ToAccount.sh 1234
    

    JSON 応答には、新しい郵便住所が追加されたことが示されています。

    {
      "addressCountry" : "United States",
      "addressLocality" : "Diamond Bar",
      "addressRegion" : "California",
      "addressType" : "shipping",
      "id" : 35706,
      "name" : "Able Address",
      "postalCode" : "12345",
      "primary" : false,
      "streetAddressLine1" : "123 Foo St",
      "streetAddressLine2" : "",
      "streetAddressLine3" : ""
    }
    
  4. グローバル メニューコントロール パネルアカウントに移動します。 手順 2 で選択したアカウントを選択し、 アドレスに移動します。 アカウントに新しい郵便住所が追加されたことを確認します。

    新しい郵便住所が追加されたことを確認します。

  5. RESTサービスは、Javaクライアントを使って呼び出すこともできます。 curl フォルダから、 java フォルダに移動します。 ソースファイルをコンパイルします。

    javac -classpath .:* *.java
    
  6. PostalAddresses_POST_ToAccount.java クラスを実行します。 1234 をアカウントIDに置き換えます。

    java -classpath .:* -DaccountId=1234 PostalAddresses_POST_ToAccount
    

cURLコマンドの検証

PostalAddresses_POST_ToAccount.sh スクリプトは、cURL コマンドを使用して REST サービスを呼び出します。

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}/postal-addresses" \
	--data-raw '
		{
			"addressCountry": "United States",
			"addressLocality": "Diamond Bar",
			"addressRegion": "California",
			"addressType": "shipping",
			"name": "Able Address",
			"postalCode": "12345",
			"primary": false,
			"streetAddressLine1": "123 Foo St",
			"streetAddressLine2": "",
			"streetAddressLine3": ""
		}' \
	--header "Content-Type: application/json" \
	--request "POST" \
	--user "test@liferay.com:learn"

ここでは、コマンドの引数を紹介します。

引数説明
-H "Content-Type: application/json"リクエストボディのフォーマットがJSONであることを示します。
-X POST指定されたエンドポイントで起動するHTTPメソッド
"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}/postal-addresses"RESTサービスのエンドポイント
-d "{\"addressCountry\": \"United States\", \"addressLocality\": \"Diamond Bar\", \"addressRegion\": \"California\", \"addressType\": \"shipping\", \"name\": \"Able Address\", \"postalCode\": \"12345\", \"primary\": false, \"streetAddressLine1\": \"123 Foo St\", \"streetAddressLine2\": \"\", \"streetAddressLine3\": \"\"}"お客様が掲載を希望するデータ
-u "test@liferay.com:learn"基本的な認証情報

ここでは、デモのために基本的な認証を使用しています。 本番環境では、 OAuth2経由でユーザーを認証する必要があります。 OAuth2 を使用するサンプル React アプリケーションについては、 OAuth2 を使用してユーザーを承認する を参照してください。

他のcURLコマンドも同様のJSON引数を使用しています。

Javaクラスを調べる

PostalAddresses_POST_ToAccount.java クラスは、郵便住所関連のサービスを呼び出して郵便住所を追加します。

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	PostalAddress postalAddress =
		postalAddressResource.postAccountPostalAddress(
			Long.valueOf(System.getProperty("accountId")),
			new PostalAddress() {
				{
					addressCountry = "United States";
					addressLocality = "Diamond Bar";
					addressRegion = "California";
					addressType = "billing";
					name = "Charlie Address";
					postalCode = "91765";
					primary = false;
					streetAddressLine1 = "123 Foo St";
					streetAddressLine2 = "";
					streetAddressLine3 = "";
				}
			});

	System.out.println(postalAddress);
}

このクラスは、わずか3行のコードでRESTサービスを呼び出します。

行(省略形)説明
PostalAddress.Builder builder = ...PostalAddressResource サービス インスタンスを生成するための Builder を取得します。
PostalAddressResource postalAddressResource = builder.authentication(...).build();基本認証を指定し、 PostalAddressResource サービス インスタンスを生成します。
PostalAddress postalAddress = postalAddressResource.postAccountPostalAddress(...);postalAddressResource.postAccountPostalAddress メソッドを呼び出し、データを post に渡します。

プロジェクトには、依存関係としてcom.liferay.headless.admin.user.client.jarファイルが含まれていることに注意してください。 すべてのRESTアプリケーションのクライアントJAR依存関係情報は、/o/apiでインストール先のAPIエクスプローラーで確認できます。

メイン メソッドのコメントは、クラスの実行を示しています。

他の Java クラスの例もこれに似ていますが、異なる PostalAddressResource メソッドを呼び出します。

重要

サービスの詳細については、 PostalAddressResource を参照してください。

以下は、cURL と Java を使用して他の PostalAddress REST サービスを呼び出す例です。

アカウントから郵便住所を取得する

次の cURL または Java コマンドを使用して、アカウントから郵便住所のリストを取得します。 1234 をアカウントのIDに置き換えてください。

郵便アドレス_GET_FromAccount.sh

コマンド:

./PostalAddresses_GET_FromAccount.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}/postal-addresses" \
	--user "test@liferay.com:learn"

郵便アドレス_GET_FromAccount.java

コマンド:

java -classpath .:* -DaccountId=1234 PostalAddresses_GET_FromAccount

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	System.out.println(
		postalAddressResource.getAccountPostalAddressesPage(
			Long.valueOf(System.getProperty("accountId"))));
}

アカウントの郵便住所は JSON 応答で返されます。

組織から郵便住所を取得する

次の cURL または Java コマンドを使用して、組織から郵便住所のリストを取得します。 1234 を組織の ID に置き換えます。

郵便アドレス_GET_FromOrganization.sh

コマンド:

./PostalAddresses_GET_FromOrganization.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/organizations/${1}/postal-addresses" \
	--user "test@liferay.com:learn"

郵便住所_GET_FromOrganization.java

コマンド:

java -classpath .:* -DorganizationId=1234 PostalAddresses_GET_FromOrganization

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	System.out.println(
		postalAddressResource.getOrganizationPostalAddressesPage(
			String.valueOf(System.getProperty("organizationId"))));
}

組織の郵便住所は JSON 応答で返されます。

ユーザーから郵便番号を取得する

次の cURL または Java コマンドを使用して、ユーザーから郵便番号のリストを取得します。 1234 をユーザーのIDに置き換えます。

郵便アドレス_GET_FromUser.sh

コマンド:

./PostalAddresses_GET_FromUser.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/user-accounts/${1}/postal-addresses" \
	--user "test@liferay.com:learn"

PostalAddresses_GET_FromUser.java

コマンド:

java -classpath .:* -DuserAccountId=1234 PostalAddresses_GET_FromUser

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	System.out.println(
		postalAddressResource.getUserAccountPostalAddressesPage(
			Long.valueOf(System.getProperty("userAccountId"))));
}

ユーザーの郵便住所は JSON 応答で返されます。

郵便番号を取得する

次の cURL または Java コマンドを使用して、特定の郵便番号を取得します。 1234 を郵便番号のIDに置き換えます。

ヒント

アカウント 郵便住所 ID を取得するには、 PostalAddresses_GET_FromAccount.[java|sh] を使用します。

組織の郵便住所IDを取得するには、PostalAddresses_GET_FromOrganization.[java|sh]を使用してください。

PostalAddresses_GET_FromUser.[java|sh] を使用して、ユーザー の郵便番号 ID を取得します。

郵便アドレス_GET_ById.sh

コマンド:

./PostalAddresses_GET_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/postal-addresses/${1}" \
	--user "test@liferay.com:learn"

郵便アドレス_GET_ById.java

コマンド:

java -classpath .:* -DpostalAddressId=1234 PostalAddresses_GET_ById

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	System.out.println(
		postalAddressResource.getPostalAddress(
			Long.valueOf(System.getProperty("postalAddressId"))));
}

郵便住所は JSON 応答で返されます。

郵便番号をパッチする

次の cURL または Java コマンドを使用して、既存の郵便住所を部分的に編集します。 1234 を郵便番号のIDに置き換えます。

郵便アドレス_PATCH_ById.sh

コマンド:

./PostalAddresses_PATCH_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/postal-addresses/${1}" \
	--data-raw '
		{
			"streetAddressLine1": "456 Bar Ave"
		}' \
	--header "Content-Type: application/json" \
	--request "PATCH" \
	--user "test@liferay.com:learn"

郵便アドレス_PATCH_ById.java

コマンド:

java -classpath .:* -DpostalAddressId=1234 PostalAddresses_PATCH_ById

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	PostalAddress postalAddress = postalAddressResource.patchPostalAddress(
		Long.valueOf(System.getProperty("postalAddressId")),
		new PostalAddress() {
			{
				streetAddressLine1 = "456 Bar Ave";
			}
		});

	System.out.println(postalAddress);
}

郵便番号を入力してください

次の cURL または Java コマンドを使用して、既存の郵便住所を完全に上書きします。 1234 を郵便番号のIDに置き換えます。

郵便アドレス_PUT_ById.sh

コマンド:

./PostalAddresses_PUT_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/postal-addresses/${1}" \
	--data-raw '
		{
			"addressCountry": "United States",
			"addressLocality": "Diamond Bar",
			"addressRegion": "California",
			"addressType": "shipping",
			"name": "Baker Address",
			"postalCode": "12345",
			"primary": false,
			"streetAddressLine1": "789 Goo Rd",
			"streetAddressLine2": "",
			"streetAddressLine3": ""
		}' \
	--header "Content-Type: application/json" \
	--request "PUT" \
	--user "test@liferay.com:learn"

郵便アドレス_PUT_ById.java

コマンド:

java -classpath .:* -DpostalAddressId=1234 PostalAddresses_PUT_ById

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	PostalAddress postalAddress = postalAddressResource.putPostalAddress(
		Long.valueOf(System.getProperty("postalAddressId")),
		new PostalAddress() {
			{
				addressCountry = "United States";
				addressLocality = "Diamond Bar";
				addressRegion = "California";
				addressType = "shipping";
				name = "Dog Address";
				postalCode = "67890";
				primary = false;
				streetAddressLine1 = "789 Goo Rd";
				streetAddressLine2 = "";
				streetAddressLine3 = "";
			}
		});

	System.out.println(postalAddress);
}

郵便番号を削除する

次の cURL または Java コマンドを使用して、既存の郵便住所を削除します。 1234 を郵便番号のIDに置き換えます。

郵便アドレス_DELETE_ById.sh

コマンド:

./PostalAddresses_DELETE_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/postal-addresses/${1}" \
	--request "DELETE" \
	--user "test@liferay.com:learn"

郵便アドレス_DELETE_ById.java

コマンド:

java -classpath .:* -DpostalAddressId=1234 PostalAddresses_DELETE_ById

コード:

public static void main(String[] args) throws Exception {
	PostalAddressResource.Builder builder = PostalAddressResource.builder();

	PostalAddressResource postalAddressResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	postalAddressResource.deletePostalAddress(
		Long.valueOf(System.getProperty("postalAddressId")));
}

API エクスプローラー には、すべての PostalAddress サービスとスキーマが表示され、各サービスを試すためのインターフェースがあります。

Liferay DXP 2024.Q4+/Portal GA129+では、外部参照コードを使用して、郵便住所を GET/PUT/PATCH/DELETE することができます。