xivapi / companion-php
用于与FFXIV伴侣应用程序API交互的库
Requires
- guzzlehttp/guzzle: ~6.0
- phpseclib/phpseclib: ^2.0
- ramsey/uuid: ^3.8
- rct567/dom-query: ^0.8.0
README
Companion PHP
用于与FFXIV伴侣应用程序API交互的库
要了解更多关于FFXIV伴侣应用程序的信息,请阅读研究文档。
如果你不能使用PHP
XIVAPI提供端点,可以给你一个带有自己账户的伴侣令牌,甚至让你查询市场板。它提供自动登录或提供SE官方登录。如果你只想使用前端开发(例如JavaScript)或构建Electron应用程序,这将非常有用。
如果你想尝试此功能,请向Discord上的Vekien#3458发送消息以获取端点信息。
术语
- 伴侣:官方FFXIV伴侣移动应用程序。
- 视野:SE在应用程序中用于与游戏服务器通信的API。
库文档
角色选择过程
为了使用Sight API,你需要一个有效的角色并且有活跃的订阅(不能处于免费试用期间)。角色不需要在任何“阶段”游戏中,一个全新的从未登录的角色在输入名称并点击“创建”的那一刻将拥有完整的市场板访问权限。
选择角色
要访问市场,我们首先需要选择我们的角色,这需要知道唯一的“角色ID”。我们可以通过列出我们的角色来找到它
foreach ($api->Login()->getCharacters()->accounts[0]->characters as $character) { echo "- {$character->cid} :: {$character->name} ({$character->world})\n"; }
角色具有一个称为cid
的唯一角色ID属性。这个ID不是你在Lodestone上看到的,也不是你熟悉的任何东西,一旦你找到你想要的角色,就将它的cid
带到loginCharacter
函数中,例如
$api->login()->loginCharacter('character_id');
这将与Sight确认你想使用此角色,你可以通过执行以下可选代码来自己确认
// Get current logged in character#echo "Confirming logged in character ...\n"; $character = $api->login()->getCharacter()->character; echo "- Logged in as: {$character->name} ({$character->world}) \n";
现在我们已经告诉它使用哪个角色,我们必须确认其世界状态。这是4.4补丁中的新功能,我相信它将用于当世界访问系统实施时。现在这是一个要求,并返回当前世界和你的家乡世界
$api->login()->getCharacterWorlds();
完成此操作后,你现在可以访问市场板以及任何其他Sight端点!你可以在下面找到所有API调用。
异步请求
该库支持所有主要数据操作(不是账户或登录操作)的异步请求。这允许你同时查询多个端点。
当您启用异步模式时,将跳过“保证响应”功能。Sight API不会在第一次请求中提供数据,而是将您的请求排队,然后您需要再次执行相同的请求以获取响应。通常,Sight请求将在3秒内完成,因此您可以进行20个并发请求,等待3秒后,再次使用相同的请求ID执行相同的20个并发请求以获取响应。
您可以在bin/cli_async
中查看异步使用的示例
API
账户
通讯录
聊天室
物品
登录
市场
$api->market()->getItemMarketListings(int $itemId)
获取物品的当前市场价格。物品ID必须是游戏中的dat值,即整数,而不是Lodestone上的ID。
$api->market()->getTransactionHistory(int $itemId)
获取物品的当前市场历史记录。物品ID必须是游戏中的dat值,即整数,而不是Lodestone上的ID。返回的历史记录最大为20条,此值无法更改。
$api->market()->getMarketListingsByCategory(int $categoryId)
获取市场类别的当前库存列表
支付
报告
日程
测试
php bin/cli
- 查看此类以获取示例
库作者:Josh Freeman(Discord上的Vekien: (XIVAPI) https://discord.gg/MFFVHWC)
许可证为MIT,您可以用它做任何想做的事情 :)