dub / dub-php
v0.6.7
2024-09-28 05:57 UTC
Requires
- php: ^8.1
- brick/date-time: ^0.7.0
- guzzlehttp/guzzle: ^7.0
- phpdocumentor/type-resolver: ^1.8
- speakeasy/serializer: ^3.40.0
Requires (Dev)
- laravel/pint: ^1.18.1
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^10
- rector/rector: ^0.18.13
- roave/security-advisories: dev-latest
README
摘要
Dub.co API:Dub 是公司创建营销活动、链接分享功能和推荐计划的联系管理基础设施。
目录
SDK 安装
SDK 依赖于 Composer 来管理其依赖项。
要安装 SDK 并将其添加到现有 composer.json 文件中
composer require "dub/dub-php"
SDK 示例用法
示例 1
declare(strict_types=1); require 'vendor/autoload.php'; use Dub; use Dub\Models\Operations; $security = 'DUB_API_KEY'; $sdk = Dub\Dub::builder()->setSecurity($security)->build(); $request = new Operations\CreateLinkRequestBody( url: 'https://google.com', tagIds: [ 'clux0rgak00011...', ], externalId: '123456', ); $response = $sdk->links->create( request: $request ); if ($response->linkSchema !== null) { // handle response }
示例 2
declare(strict_types=1); require 'vendor/autoload.php'; use Dub; use Dub\Models\Operations; $security = 'DUB_API_KEY'; $sdk = Dub\Dub::builder()->setSecurity($security)->build(); $request = new Operations\UpsertLinkRequestBody( url: 'https://google.com', tagIds: [ 'clux0rgak00011...', ], externalId: '123456', ); $response = $sdk->links->upsert( request: $request ); if ($response->linkSchema !== null) { // handle response }
可用资源和操作
可用方法
analytics
- retrieve - 获取链接、域名或认证工作区的分析
domains
events
- list - 获取事件列表
links
- create - 创建新链接
- list - 获取链接列表
- count - 获取链接数量
- get - 获取链接
- update - 更新链接
- delete - 删除链接
- createMany - 批量创建链接
- updateMany - 批量更新链接
- deleteMany - 批量删除链接
- upsert - Upsert 链接
metatags
- get - 获取 URL 的元标签
qrCodes
- get - 获取 QR 码
tags
track
工作空间
错误处理
在此 SDK 中处理错误应大致符合您的预期。所有操作都返回响应对象或抛出异常。
默认情况下,API 错误将引发 Errors\SDKException 异常,该异常具有以下属性
当为操作指定自定义错误响应时,SDK 也可能抛出其关联的异常。您可以在 SDK 文档中的相应 Errors 表中找到有关每个操作的可能的异常类型更多详细信息。例如,create 方法抛出以下异常
示例
declare(strict_types=1); require 'vendor/autoload.php'; use Dub; use Dub\Models\Operations; $security = 'DUB_API_KEY'; $sdk = Dub\Dub::builder()->setSecurity($security)->build(); try { $request = new Operations\CreateLinkRequestBody( url: 'https://google.com', tagIds: [ 'clux0rgak00011...', ], externalId: '123456', ); $response = $sdk->links->create( request: $request ); if ($response->linkSchema !== null) { // handle response } } catch (Errors\BadRequestThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\UnauthorizedThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\ForbiddenThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\NotFoundThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\ConflictThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\InviteExpiredThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\UnprocessableEntityThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\RateLimitExceededThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\InternalServerErrorThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\SDKException $e) { // handle default exception throw $e; }
服务器选择
服务器选择
按索引选择服务器
您可以通过在初始化 SDK 客户端实例时传递一个服务器索引到 server_idx: int 可选参数来全局覆盖默认服务器。然后,选定的服务器将作为默认服务器用于使用它的操作。此表列出了与可用服务器关联的索引
每个客户端按需覆盖服务器 URL
默认服务器也可以通过在初始化 SDK 客户端实例时传递一个 URL 到 server_url: str 可选参数来全局覆盖。例如
开发
成熟度
此 SDK 目前处于测试阶段,版本之间可能存在重大更改,而没有进行主要版本更新。因此,我们建议将使用限制在特定包版本上。这样,您就可以每次安装相同的版本,除非您有意寻找最新版本。
贡献
虽然我们重视对 SDK 的开源贡献,但此库是程序生成的。请随意打开一个 PR 或一个 Github 问题作为概念验证,我们将尽力将其包含在未来的版本中!