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

郵便番号APIの基本

Liferay DXP/Portal 7.4以降

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

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

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

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

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

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

  1. 郵便住所 API の基本 をダウンロードして解凍します。

    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" : "カリフォルニア"、
      "住所タイプ" : "配送"、
      "ID" : 35706、
      "名前" : "住所"、
      "郵便番号" : "12345"、
      "プライマリ" : 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": "ダイヤモンドバー"、
			"addressRegion": "カリフォルニア"、
			"addressType": "配送先"、
			"氏名": "住所"、
			"郵便番号": "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\": \"カリフォルニア州\"、\"住所タイプ\": \"配送\"、\"名前\": \"有効住所\"、\"郵便番号\": \"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 クラスは、 PostalAddressResource サービスを呼び出すことで郵便住所を追加します。

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 = "ダイヤモンドバー";
					addressRegion = "カリフォルニア";
					addressType = "請求";
					name = "チャーリーアドレス";
					postalCode = "91765";
					primary = false;
					streetAddressLine1 = "123 Foo St";
					streetAddressLine2 = "";
					streetAddressLine3 = "";
				}
			});

	System.out.println(postalAddress);
}

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

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

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

注記

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

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

重要

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

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

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

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

PostalAddresses_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"

PostalAddresses_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 に置き換えてください。

PostalAddresses_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"

PostalAddresses_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に置き換えてください。

PostalAddresses_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に置き換えてください。

ヒント

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

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

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

PostalAddresses_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"

PostalAddresses_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に置き換えてください。

PostalAddresses_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"

PostalAddresses_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に置き換えてください。

PostalAddresses_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": "ダイヤモンドバー"、
			"addressRegion": "カリフォルニア"、
			"addressType": "配送"、
			"氏名": "ベーカー住所"、
			"郵便番号": "12345"、
			"primary": false、
			"streetAddressLine1": "789 Goo Rd"、
			"streetAddressLine2": "",
			"streetAddressLine3": ""
		}' \
	--header "Content-Type: application/json" \
	--request "PUT" \
	--user "test@liferay.com:learn"

PostalAddresses_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 = "ダイヤモンドバー";
				住所地域 = "カリフォルニア";
				住所タイプ = "配送";
				名前 = "犬の住所";
				郵便番号 = "67890";
				primary = false;
				streetAddressLine1 = "789 Goo Rd";
				streetAddressLine2 = "";
				streetAddressLine3 = "";
			}
		});

	System.out.println(postalAddress);
}

郵便住所を削除する

以下のcURLまたはJavaコマンドを使用して、既存の郵便住所を削除します。 1234 を郵便住所のIDに置き換えてください。

PostalAddresses_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"

PostalAddresses_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 Explorer には、すべての PostalAddress サービスとスキーマが表示され、各サービスを試すためのインターフェースがあります。

注記

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