リンクの更新
支払いリンクのプロパティを更新します。既存のリンクのタイトル、説明、メタデータを変更できます。金額と通貨は作成後に変更できません。
リクエストパラメータ
必須 - 1フィールド必須パラメータ
`link_id`STRING(required)
パターン /link(_test)?_[0-9a-z]+/ に一致するリンク識別子。URLパスで指定します。
更新可能 - 3フィールド更新可能なパラメータ
`title`STRING(optional)
支払いページで顧客に表示されるリンク名。
`description`STRING(optional)
顧客に表示されるリンクの詳細と追加コンテキスト。
`metadata`OBJECT(optional)
カスタムキーと値のペア(合計最大15,000文字)。注文ID、顧客参照、その他のカスタムデータの保存に便利。既存のメタデータを置き換えます。
レスポンス
200
更新成功リンクが正常に更新されました。更新された完全なリンクオブジェクトを返します。
レスポンスに含まれる内容:
id- リンク識別子title- 更新されたリンクタイトルdescription- 更新されたリンク説明metadata- 更新されたメタデータオブジェクトpayment_uri- 顧客支払い用の共有可能なURL(変更なし)amount- 支払い金額(変更なし)currency- 通貨コード(変更なし)
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 不変フィールド(amount、currency)を更新しようとした
- 無効なメタデータ形式
- メタデータがサイズ制限を超過
- 無効なデータ型
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
一般的な原 因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- 不正なHTTP Basic Auth形式
404
見つかりません指定されたIDのリンクが見つかりません。
一般的な原因:
- 無効なリンクID形式
- リンクが存在しない
- リンクが別のアカウントに属している
- ライブリンクIDでテストキーを使用(またはその逆)
5xx
サーバーエラーサーバー側でエラーが発生しました。これらは稀ですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/links/link_test_5xuy4w91xqz7d1w9u0t \
-X PATCH \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "title=Updated Invoice #12345 Payment" \
-d "description=Updated payment description for February 2025"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
link = Omise::Link.retrieve('link_test_5xuy4w91xqz7d1w9u0t')
link = link.update(
title: 'Updated Invoice #12345 Payment',
description: 'Updated payment description for February 2025'
)
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
link = omise.Link.retrieve('link_test_5xuy4w91xqz7d1w9u0t')
link.update(
title='Updated Invoice #12345 Payment',
description='Updated payment description for February 2025'
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const link = await omise.links.update('link_test_5xuy4w91xqz7d1w9u0t', {
title: 'Updated Invoice #12345 Payment',
description: 'Updated payment description for February 2025'
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$link = OmiseLink::retrieve('link_test_5xuy4w91xqz7d1w9u0t');
$link->update([
'title' => 'Updated Invoice #12345 Payment',
'description' => 'Updated payment description for February 2025'
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Link link = client.links().update("link_test_5xuy4w91xqz7d1w9u0t")
.title("Updated Invoice #12345 Payment")
.description("Updated payment description for February 2025")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var link = await client.Links.Update("link_test_5xuy4w91xqz7d1w9u0t", new UpdateLinkRequest
{
Title = "Updated Invoice #12345 Payment",
Description = "Updated payment description for February 2025"
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
link, _ := client.Links().Update("link_test_5xuy4w91xqz7d1w9u0t", &operations.UpdateLink{
Title: "Updated Invoice #12345 Payment",
Description: "Updated payment description for February 2025",
})
エラーと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
authentication_failure | 無効なAPIキー | シークレットキーが正しいことを確認 |
not_found | リンクが見つかりません | リンクIDが正しく存在することを確認 |
invalid_link_id | 不正なリンクID | IDがフォーマット link(test)?[0-9a-z]+ に一致することを確認 |
immutable_field | フィールドを更新できません | 金額と通貨は変更できません |
invalid_metadata | メタデータの検証に失敗 | メタデータの形式とサイズ制限を確認 |
更新可能と不変フィールド
| フィールド | 更新可能 | 備考 |
|---|---|---|
title | はい |