---
title: ギフティングAPI
slug: world-sdk-guide-ja/E7jA-api
docTags: 
createdAt: 2024-09-02T08:34:13.134Z
---

ZEPETO World内の他のユーザーに衣服アイテムを贈るために、ギフティングAPIを使用できます。

ただし、APIを使用する際には、送信者のアイテムが差し引かれます。



## インストール

ウィンドウ → パッケージマネージャー → ZEPETO.Worldパッケージを最初にバージョン1.21.14以上をインストールしてください。

その後、バージョン1.0.7以上の‘ZEPETO.Module’パッケージをインストールしてください。

ZEPETOアプリがバージョン3.46.000以上で動作していることを確認してください。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-SCGjvJHEAi76UkoHHXYW_-20240904-102409.png)



## ギフティングAPI

ギフティングAPIを使用するには、以下のインポート文を追加してください。

```typescript
import { GiftBackgroundType, ShopService, ItemGiftResponse } from 'ZEPETO.Module.Shop';
```



ギフティングAPIに興味がある場合は、ドキュメントを参照してください：

:::hint{type="info"}
**📘&#x20;**&#x6B21;のガイドを参照してください。 \[[ZEPETO.Module.Shop API](https://developer.zepeto.me/docs/module/namespaces/ZEPETO_Module_Shop)]
:::



:::hint{type="danger"}
- Unityエディタでは、成功と失敗の両方のケースをテストできます。ギフティングが成功しても、通貨は差し引かれず、ギフトは受取人に配信されません。
- QRコードやテストリンクを介したモバイルテスト中に、成功した取引は実際の通貨の差し引きが行われ、ギフトは受取人に配信されます。
:::



## 使用例

- キャンバスにギフト送信ボタンを追加してください。
- 以下のようにサンプルコードを書いてください。

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { GiftBackgroundType, ShopService, ItemGiftResponse } from 'ZEPETO.Module.Shop';
import { Button } from 'UnityEngine.UI';
import { ErrorCode } from 'ZEPETO.Module';
 
export default class SendGift extends ZepetoScriptBehaviour {
 
    public itemId : string;
    public targetUserId : string;
    public sendGiftButton : Button;
 
    Start() {
        this.sendGiftButton.onClick.AddListener(()=>{
            ShopService.ShowGiftPopup(
                this.itemId,
                this.targetUserId,
                GiftBackgroundType.Type01,
                "こんにちは、これはあなたのためです！",
                (response: ItemGiftResponse) => {  // onComplete コールバック
                    console.log(`ギフトが正常に送信されました！ ZEPETOコイン残高 ${response.coin}, ZEM残高 ${response.zem}`);
                },
                (error: ErrorCode) => {  // onFailure コールバック
                    console.error("ギフト送信エラー:", error);
                }
            );
        });
    }
}
```



- スクリプトを書いた後、インスペクターでボタンを接続し、ギフトを受け取る人のユーザーIDとアイテムIDを入力してください。

:::hint{type="info"}
**📘&#x20;**&#x5A;epeto PlayerのUserIdを取得する方法については、以下のガイドを参照してください。\[[ZEPETOプレーヤー](docId:2XTLbTy9QgZWGThYv8nXs)]
:::



- 成功または失敗のケースをテストするために、QRコードを作成し、モバイルデバイスでテストしてください。
- ただし、送信者の商品の金額が差し引かれることに注意してください。



### ギフト送信が成功したとき

- ボタンをクリックすると、ギフト送信のためのポップアップUIが表示されます。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-3MUIdRSuqF0IHLlTLP8s7-20240904-102409.png)



- ギフトが正常に送信された場合、成功を示すトーストUIが表示され、サンプルスクリプトがログを生成します。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-Vf1otjwZXmf93sv8CRJlA-20240904-102409.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-b1LZQ5DbQd9JpXX1av_uO-20240904-102409.png)



- さらに、targetUserのためのギフトが届きました。

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-SujWd6C1VsYM0lNIAcRDq-20240904-102409.jpg" size="60" width="865" height="1068" position="center" showCaption="false"}



### ギフト送信の失敗

- ケースがErrorCodeに該当する場合、エラーメッセージがToast UIに表示され、サンプルスクリプトが対応するエラーコードを出力します。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-zAFMZdiur9v6Cf7LN_97C-20240904-102410.png)



::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-_k8_ckg4so3bvNO6LLZBc-20240904-102409.png" size="50" width="290" height="60" position="center" showCaption="false"}

