xivapi/companion-php

此包已废弃,不再维护。未建议替代包。

用于与FFXIV伴侣应用程序API交互的库

1.2.11 2020-12-08 23:21 UTC

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,您可以用它做任何想做的事情 :)