leodoc / symfony-client-bundle
LeoDoc API 客户端包用于 Symfony
v2.0.0
2022-12-19 16:10 UTC
Requires
- php: >=8.0
- jms/serializer-bundle: >=4.0
- symfony/framework-bundle: >=6.0
- symfony/http-client: >=6.0
README
LeoDoc 提供了一个 API,使其可以在网站之外使用。文档可在以下页面找到: https://app.leodoc.net/api/doc
此 Symfony 客户端包使用 API 端点,以允许在您的解决方案中实现更快的集成。
要求
PHP 7.4 及更高版本,Symfony 5.3 及更高版本
入门
更新 .env 文件
# .env
LEODOC_SYMFONY_CLIENT_BEARER=your_jwt_token
LEODOC_SYMFONY_CLIENT_TEST=true
创建 config/packages/leodoc_symfony_client.yaml
# leodoc_symfony_client.yaml
leodoc_symfony_client:
bearer : '%env(LEODOC_SYMFONY_CLIENT_BEARER)%'
test : '%env(bool:LEODOC_SYMFONY_CLIENT_TEST)%'
安装与使用
Composer
使用 Composer 安装
composer require leodoc/symfony-client-bundle
然后执行
- 运行
`composer install`
以将依赖项添加到您的 vendor 目录
使用方法
两个使用 Symfony 控制器从包中获取示例
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Psr\Log\LoggerInterface;
use Symfony\Component\Routing\Annotation\Route;
use Leodoc\SymfonyClientBundle\Service\{Fusion, Template};
class TestController extends AbstractController
{
public function __construct(LoggerInterface $logger, Template $template, Fusion $fusion)
{
$this->logger = $logger;
$this->template = $template;
$this->fusion = $fusion;
}
/**
* Retrieve account's templates
* @Route("/template", methods={"GET"})
*/
public function getTemplates()
{
$templates = $this->template->getAll();
$response = new Response();
$response->setContent(json_encode($templates, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
/**
* Send an asynchronous request to create several PDFs using a CSV
* @Route("/fusion/csv", methods={"GET"})
*/
public function postFusionMassCsv()
{
$params["csv"] = "your_base64_csv";
$params["template_id"] = "your_template_id";
$notifications["email"] = ["subject" => "test api leodoc", "addresses" => ["mail@test.com"]];
$notifications["webcallback"] = ["urls" => ["https://webhook.site/some-id"]];
$fusion = $this->fusion->postMassCsv($params, $notifications);
$response = new Response();
$response->setContent(json_encode($fusion, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
}
?>
使用包服务的文档
不要犹豫,检查此包的服务,以读取每个方法的注释。
服务 | 方法 | 描述 |
---|---|---|
模板 | getAll | 检索账户的模板信息 |
下载 | getZip | 检索融合的 zip 文件 |
融合 | postOne | 发送一个同步请求以创建一个 PDF |
融合 | postEditable | 创建一个可编辑的融合 |
融合 | postMassCsv | 发送一个异步请求以使用 CSV 创建多个 PDF |
融合 | postMassJson | 发送一个异步请求以使用 JSON 创建多个 PDF |
融合 | get | 检索有关融合的信息 |
融合 | getAll | 检索账户的融合信息 |
融合 | delete | 删除一个融合 |
融合 | getDownload | 检索融合的下载 URL |
如果您需要帮助或有任何反馈,请通过 support[a]leodoc.net 联系我们。