logotel/logobot-php-integration

1.11.0 2024-09-17 10:11 UTC

README

Logotel Logo

Tests Packagist

Logobot PHP集成

本包旨在提供与Logobot的集成

安装

通过composer安装

composer require logotel/logobot-php-integration

生成JWT

使用以下方式生成JWT

use Logotel\Logobot\Manager;

$jwt = Manager::jwt()
        ->setKey(file_get_contents('/path/to/private_key.pem'))
        ->setLicense($license)
        ->setEmail($email)
        ->setIdentifier($identifier)
        ->setPermissions($permissions)
        ->setIsSuperUser($is_super_user)
        ->setExpiration($expiration)
        ->generate();

密钥可以通过文件路径获取

use Logotel\Logobot\Manager;

$jwt = Manager::jwt()
        ->setKeyFromFile('/path/to/private_key.pem')
        ->setLicense($license)
        ->setEmail($email)
        ->setIdentifier($identifier)
        ->setPermissions($permissions)
        ->setIsSuperUser($is_super_user)
        ->setExpiration($expiration)
        ->generate();

超级用户

该属性(bool)可以设置用户是否具有高权限。权限将由服务器应用程序管理。

令牌过期

令牌默认有效期为24小时。您可以使用 ->setExpiration(int $expiration) 进行编辑。过期时间以秒为单位(默认 60 * 60 * 24)

用户负载

上传文本(带链接)

use Logotel\Logobot\Manager;

Manager::textUpload()
        ->setApiKey($api_key)
        ->setIdentifier($identifier)
        ->setTitle($title)
        ->setContent($content)
        ->setLink($link)
        ->setPermissions($permissions)
        ->setLanguage($language)
        ->setMetadata($metadata)
        ->setDocumentDate($document_date)
        ->upload();

如果您想更改端点基本URL,可以通过以下方式更改

Manager::textUpload()->setApiUrl("https://something.test");

您还可以设置自定义HTTP客户端

Manager::textUpload()->setClient(new \GuzzleHttp\Client(...));

批量导入器

批量导入器功能将负责一次性处理多个文件。上传的文件必须是一个zip文件,包含

  • n 个pdf或txt格式的文件
  • 一个名为 details.json 的json文件,具有以下结构,每个文件一个条目
[
  {
    "name": "name_of_the_file.pdf",
    "permissions": [
      "a",
      "list",
      "of",
      "permissions",
    ],
    "language": "selected_language",
    "metadata": {
        "some": "value",
        "another": "value",
    },
    "document_date": "2024-05-29"
  },
  {
    ...
  },
  ...
]

数组中的条目数量必须为 zip中的总文件数 - 1(json文件)

用法

use Logotel\Logobot\Manager;

Manager::bulkImporter()
        ->setApiKey($api_key)
        ->setFilePath($file_path)
        ->upload();

如果您想更改端点基本URL,可以通过以下方式更改

Manager::textUpload()->setApiUrl("https://something.test");

您还可以设置自定义HTTP客户端

Manager::textUpload()->setClient(new \GuzzleHttp\Client(...));

删除文档

use Logotel\Logobot\Manager;

Manager::deleteDocument()
        ->setApiKey($api_key)
        ->setIdentifier($identifier)
        ->delete();

如果您想更改端点基本URL,可以通过以下方式更改

Manager::deleteDocument()->setApiUrl("https://something.test");

您还可以设置自定义HTTP客户端

Manager::deleteDocument()->setClient(new \GuzzleHttp\Client(...));

搜索引擎

根据搜索查询搜索最相关的文档。

$jwt 是使用 生成JWT 生成的jwt令牌

$query 是搜索查询

$limit最大 可检索文档的数量

use Logotel\Logobot\Manager;

Manager::searchEngine()
        ->setApiKey($api_key)
        ->setJwt($jwt)
        ->setQuery($query)
        ->setLimit($limit)
        ->search();

输出将是

[
  {
     "uuid": "fdb07973-4955-40db-a8d1-d5b8547b4c9b",
     "name": "my document",
     "icon": "file-pdf",
     "distance": 0.253548767,
     "created_at": "10/10/2024 10:10:10"
   },
   ...
]

icon 可能的值是

  • file-pdf
  • file-word
  • file-powerpoint
  • file-excel
  • file-alt
  • file

如果您想更改端点基本URL,可以通过以下方式更改

Manager::deleteDocument()->setApiUrl("https://something.test");

您还可以设置自定义HTTP客户端

Manager::deleteDocument()->setClient(new \GuzzleHttp\Client(...));

贡献

  1. 分支它!
  2. 创建您的功能分支: git checkout -b my-new-feature
  3. 提交您的更改: git commit -am 'Add some feature'
  4. 推送到分支: git push origin my-new-feature
  5. 提交拉取请求 :D

历史记录

版本 1.00 (2024-02-27) - 第一次提交

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现任何与安全相关的问题,请通过电子邮件 giagara@yahoo.it 而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件