eazieer/adobe-sign-v6-php

Adobe Sign V6 Rest API PHP 客户端

0.2.0 2017-08-23 02:33 UTC

This package is auto-updated.

Last update: 2024-09-13 02:53:53 UTC


README

本项目是从 Kevinem 的杰出作品 fork 过来的,其 Rest API V5 客户端可在以下链接找到:https://github.com/kevinem/adobe-sign-php

https://acrobat.adobe.com/us/en/sign.html

Latest Stable Version License Build Status

安装

要安装,请使用 composer

composer require eazieer/adobe-sign-v6-php (almost done !)

文档

https://secure.na1.echosign.com/public/docs/restapi/v6

示例用法

session_start();

$provider = new Eazieer\OAuth2\Client\AdobeSign([
    'clientId'          => 'your_client_id',
    'clientSecret'      => 'your_client_secret',
    'redirectUri'       => 'your_callback',
    'scope'             => [
          'scope1:type',
          'scope2:type'
    ]
]);

$adobeSign = new AdobeSign($provider);

if (!isset($_GET['code'])) {
    $authorizationUrl = $adobeSign->getAuthorizationUrl();
    $_SESSION['oauth2state'] = $provider->getState();
    header('Location: ' . $authorizationUrl);
} elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
    unset($_SESSION['oauth2state']);
    exit('Invalid state');
} else {
    $accessToken = $adobeSign->getAccessToken($_GET['code']);
    $adobeSign->setAccessToken($accessToken->getToken());
    $adobeSign->createAgreement([
            "fileInfos" => array([
                'transientDocumentId' => 'your_transient_document_id',
                ]),
            'name'              => 'your_document_name',
            'participantSetsInfo' => array([
                'memberInfos' => array([
                    'email' => 'member_email'
                ]),
                'order' => 1,
                'role'        => 'SIGNER',
            ]),
            'signatureType'     => 'ESIGN',
            'state'=> 'IN_PROCESS',
    ]);
}

生成用于上传临时文档的多部分流

$file_path = '/path/to/local/document';

$file_stream = Psr7\FnStream::decorate(Psr7\stream_for(file_get_contents($file_path)), [
    'getMetadata' => function() use ($file_path) {
        return $file_path;
    }
]);

$multipart_stream   = new Psr7\MultipartStream([
    [
        'name'     => 'File',
        'contents' => $file_stream
    ]
]);

$transient_document = $adobeSign->uploadTransientDocument($multipart_stream);

许可证

MIT 许可证 (MIT) 版权所有 (c) 2016 Kevin Em 版权所有 (c) 2019 EAZIEER

在此特此授予任何获得此软件及其相关文档文件副本(以下简称“软件”)的人免费使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许将软件提供给他人以供其使用,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论该责任是基于合同、侵权或其他法律依据,是否因软件或其使用或其他方式而产生。