Skip to content

Commit 42d1b5f

Browse files
Changes by create-pull-request action (#37)
Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: qdequippe <3193300+qdequippe@users.noreply.github.com>
1 parent d376196 commit 42d1b5f

223 files changed

Lines changed: 2867 additions & 771 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

generated/Client.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
use Qdequippe\Yousign\Api\Endpoint\GetCustomExperiencesCustomExperienceId;
4242
use Qdequippe\Yousign\Api\Endpoint\GetElectronicSeal;
4343
use Qdequippe\Yousign\Api\Endpoint\GetElectronicSealAuditTrail;
44+
use Qdequippe\Yousign\Api\Endpoint\GetIdDocumentVerification;
4445
use Qdequippe\Yousign\Api\Endpoint\GetIdentityVerificationsIdentityVerificationId;
4546
use Qdequippe\Yousign\Api\Endpoint\GetInvitations;
4647
use Qdequippe\Yousign\Api\Endpoint\GetSignatureRequests;
@@ -122,6 +123,7 @@
122123
use Qdequippe\Yousign\Api\Model\CreateCustomExperience;
123124
use Qdequippe\Yousign\Api\Model\CreateDocumentFromMultipart;
124125
use Qdequippe\Yousign\Api\Model\CreateElectronicSealPayload;
126+
use Qdequippe\Yousign\Api\Model\CreateIdDocumentVerification;
125127
use Qdequippe\Yousign\Api\Model\CreateSignatureRequest;
126128
use Qdequippe\Yousign\Api\Model\CreateSignerConsentRequest;
127129
use Qdequippe\Yousign\Api\Model\CreateSignerDocumentRequest;
@@ -809,6 +811,45 @@ public function downloadElectronicSealAuditTrail(string $electronicSealId, strin
809811
return $this->executeEndpoint(new DownloadElectronicSealAuditTrail($electronicSealId, $accept), $fetch);
810812
}
811813

814+
/**
815+
* Verify a person’s identity by sending the file containing their ID document (ID card, passport, residence permit or driving license).
816+
*
817+
* @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE)
818+
*
819+
* @return Model\IdDocumentVerificationCreated|ResponseInterface|null
820+
*
821+
* @throws Exception\CreateIdDocumentVerificationBadRequestException
822+
* @throws Exception\CreateIdDocumentVerificationUnauthorizedException
823+
* @throws Exception\CreateIdDocumentVerificationForbiddenException
824+
* @throws Exception\CreateIdDocumentVerificationUnsupportedMediaTypeException
825+
* @throws Exception\CreateIdDocumentVerificationTooManyRequestsException
826+
* @throws Exception\CreateIdDocumentVerificationInternalServerErrorException
827+
*/
828+
public function createIdDocumentVerification(?CreateIdDocumentVerification $requestBody = null, string $fetch = self::FETCH_OBJECT)
829+
{
830+
return $this->executeEndpoint(new Endpoint\CreateIdDocumentVerification($requestBody), $fetch);
831+
}
832+
833+
/**
834+
* Get the detailed results of an ID document verification, including the status of the verification, the reasons in case of rejection and the data extracted from the ID document.
835+
*
836+
* @param string $idDocumentVerificationId The ID document verification ID
837+
* @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE)
838+
*
839+
* @return Model\IdDocumentVerification|ResponseInterface|null
840+
*
841+
* @throws Exception\GetIdDocumentVerificationBadRequestException
842+
* @throws Exception\GetIdDocumentVerificationUnauthorizedException
843+
* @throws Exception\GetIdDocumentVerificationForbiddenException
844+
* @throws Exception\GetIdDocumentVerificationNotFoundException
845+
* @throws Exception\GetIdDocumentVerificationTooManyRequestsException
846+
* @throws Exception\GetIdDocumentVerificationInternalServerErrorException
847+
*/
848+
public function getIdDocumentVerification(string $idDocumentVerificationId, string $fetch = self::FETCH_OBJECT)
849+
{
850+
return $this->executeEndpoint(new GetIdDocumentVerification($idDocumentVerificationId), $fetch);
851+
}
852+
812853
/**
813854
* Returns the list of all Signatures Requests in your organization. You can limit the number of items returned by using filters and pagination.
814855
*
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Endpoint;
4+
5+
use Http\Message\MultipartStream\MultipartStreamBuilder;
6+
use Psr\Http\Message\ResponseInterface;
7+
use Qdequippe\Yousign\Api\Exception\CreateIdDocumentVerificationBadRequestException;
8+
use Qdequippe\Yousign\Api\Exception\CreateIdDocumentVerificationForbiddenException;
9+
use Qdequippe\Yousign\Api\Exception\CreateIdDocumentVerificationInternalServerErrorException;
10+
use Qdequippe\Yousign\Api\Exception\CreateIdDocumentVerificationTooManyRequestsException;
11+
use Qdequippe\Yousign\Api\Exception\CreateIdDocumentVerificationUnauthorizedException;
12+
use Qdequippe\Yousign\Api\Exception\CreateIdDocumentVerificationUnsupportedMediaTypeException;
13+
use Qdequippe\Yousign\Api\Model\BadRequestResponse;
14+
use Qdequippe\Yousign\Api\Model\ForbiddenResponse;
15+
use Qdequippe\Yousign\Api\Model\IdDocumentVerificationCreated;
16+
use Qdequippe\Yousign\Api\Model\InternalServerError;
17+
use Qdequippe\Yousign\Api\Model\TooManyRequestsResponse;
18+
use Qdequippe\Yousign\Api\Model\UnauthorizedResponse;
19+
use Qdequippe\Yousign\Api\Model\UnsupportedMediaTypeResponse;
20+
use Qdequippe\Yousign\Api\Runtime\Client\BaseEndpoint;
21+
use Qdequippe\Yousign\Api\Runtime\Client\Endpoint;
22+
use Qdequippe\Yousign\Api\Runtime\Client\EndpointTrait;
23+
use Symfony\Component\Serializer\SerializerInterface;
24+
25+
class CreateIdDocumentVerification extends BaseEndpoint implements Endpoint
26+
{
27+
use EndpointTrait;
28+
29+
/**
30+
* Verify a person’s identity by sending the file containing their ID document (ID card, passport, residence permit or driving license).
31+
*/
32+
public function __construct(?\Qdequippe\Yousign\Api\Model\CreateIdDocumentVerification $requestBody = null)
33+
{
34+
$this->body = $requestBody;
35+
}
36+
37+
public function getMethod(): string
38+
{
39+
return 'POST';
40+
}
41+
42+
public function getUri(): string
43+
{
44+
return '/id_document_verifications';
45+
}
46+
47+
public function getBody(SerializerInterface $serializer, $streamFactory = null): array
48+
{
49+
if ($this->body instanceof \Qdequippe\Yousign\Api\Model\CreateIdDocumentVerification) {
50+
$bodyBuilder = new MultipartStreamBuilder($streamFactory);
51+
$formParameters = $serializer->normalize($this->body, 'json');
52+
foreach ($formParameters as $key => $value) {
53+
$value = \is_int($value) ? (string) $value : $value;
54+
$bodyBuilder->addResource($key, $value);
55+
}
56+
57+
return [['Content-Type' => ['multipart/form-data; boundary="'.($bodyBuilder->getBoundary().'"')]], $bodyBuilder->build()];
58+
}
59+
60+
return [[], null];
61+
}
62+
63+
public function getExtraHeaders(): array
64+
{
65+
return ['Accept' => ['application/json']];
66+
}
67+
68+
/**
69+
* @return IdDocumentVerificationCreated|null
70+
*
71+
* @throws CreateIdDocumentVerificationBadRequestException
72+
* @throws CreateIdDocumentVerificationUnauthorizedException
73+
* @throws CreateIdDocumentVerificationForbiddenException
74+
* @throws CreateIdDocumentVerificationUnsupportedMediaTypeException
75+
* @throws CreateIdDocumentVerificationTooManyRequestsException
76+
* @throws CreateIdDocumentVerificationInternalServerErrorException
77+
*/
78+
protected function transformResponseBody(ResponseInterface $response, SerializerInterface $serializer, ?string $contentType = null)
79+
{
80+
$status = $response->getStatusCode();
81+
$body = (string) $response->getBody();
82+
if (null !== $contentType && (201 === $status && false !== mb_strpos($contentType, 'application/json'))) {
83+
return $serializer->deserialize($body, IdDocumentVerificationCreated::class, 'json');
84+
}
85+
if (null !== $contentType && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) {
86+
throw new CreateIdDocumentVerificationBadRequestException($serializer->deserialize($body, BadRequestResponse::class, 'json'), $response);
87+
}
88+
if (null !== $contentType && (401 === $status && false !== mb_strpos($contentType, 'application/json'))) {
89+
throw new CreateIdDocumentVerificationUnauthorizedException($serializer->deserialize($body, UnauthorizedResponse::class, 'json'), $response);
90+
}
91+
if (null !== $contentType && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) {
92+
throw new CreateIdDocumentVerificationForbiddenException($serializer->deserialize($body, ForbiddenResponse::class, 'json'), $response);
93+
}
94+
if (null !== $contentType && (415 === $status && false !== mb_strpos($contentType, 'application/json'))) {
95+
throw new CreateIdDocumentVerificationUnsupportedMediaTypeException($serializer->deserialize($body, UnsupportedMediaTypeResponse::class, 'json'), $response);
96+
}
97+
if (null !== $contentType && (429 === $status && false !== mb_strpos($contentType, 'application/json'))) {
98+
throw new CreateIdDocumentVerificationTooManyRequestsException($serializer->deserialize($body, TooManyRequestsResponse::class, 'json'), $response);
99+
}
100+
if (null !== $contentType && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) {
101+
throw new CreateIdDocumentVerificationInternalServerErrorException($serializer->deserialize($body, InternalServerError::class, 'json'), $response);
102+
}
103+
104+
return null;
105+
}
106+
107+
public function getAuthenticationScopes(): array
108+
{
109+
return ['bearerAuth'];
110+
}
111+
}
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Endpoint;
4+
5+
use Psr\Http\Message\ResponseInterface;
6+
use Qdequippe\Yousign\Api\Exception\GetIdDocumentVerificationBadRequestException;
7+
use Qdequippe\Yousign\Api\Exception\GetIdDocumentVerificationForbiddenException;
8+
use Qdequippe\Yousign\Api\Exception\GetIdDocumentVerificationInternalServerErrorException;
9+
use Qdequippe\Yousign\Api\Exception\GetIdDocumentVerificationNotFoundException;
10+
use Qdequippe\Yousign\Api\Exception\GetIdDocumentVerificationTooManyRequestsException;
11+
use Qdequippe\Yousign\Api\Exception\GetIdDocumentVerificationUnauthorizedException;
12+
use Qdequippe\Yousign\Api\Model\BadRequestResponse;
13+
use Qdequippe\Yousign\Api\Model\ForbiddenResponse;
14+
use Qdequippe\Yousign\Api\Model\IdDocumentVerification;
15+
use Qdequippe\Yousign\Api\Model\InternalServerError;
16+
use Qdequippe\Yousign\Api\Model\NotFoundResponse;
17+
use Qdequippe\Yousign\Api\Model\TooManyRequestsResponse;
18+
use Qdequippe\Yousign\Api\Model\UnauthorizedResponse;
19+
use Qdequippe\Yousign\Api\Runtime\Client\BaseEndpoint;
20+
use Qdequippe\Yousign\Api\Runtime\Client\Endpoint;
21+
use Qdequippe\Yousign\Api\Runtime\Client\EndpointTrait;
22+
use Symfony\Component\Serializer\SerializerInterface;
23+
24+
class GetIdDocumentVerification extends BaseEndpoint implements Endpoint
25+
{
26+
use EndpointTrait;
27+
28+
/**
29+
* Get the detailed results of an ID document verification, including the status of the verification, the reasons in case of rejection and the data extracted from the ID document.
30+
*
31+
* @param string $idDocumentVerificationId The ID document verification ID
32+
*/
33+
public function __construct(protected string $idDocumentVerificationId)
34+
{
35+
}
36+
37+
public function getMethod(): string
38+
{
39+
return 'GET';
40+
}
41+
42+
public function getUri(): string
43+
{
44+
return str_replace(['{idDocumentVerificationId}'], [$this->idDocumentVerificationId], '/id_document_verifications/{idDocumentVerificationId}');
45+
}
46+
47+
public function getBody(SerializerInterface $serializer, $streamFactory = null): array
48+
{
49+
return [[], null];
50+
}
51+
52+
public function getExtraHeaders(): array
53+
{
54+
return ['Accept' => ['application/json']];
55+
}
56+
57+
/**
58+
* @return IdDocumentVerification|null
59+
*
60+
* @throws GetIdDocumentVerificationBadRequestException
61+
* @throws GetIdDocumentVerificationUnauthorizedException
62+
* @throws GetIdDocumentVerificationForbiddenException
63+
* @throws GetIdDocumentVerificationNotFoundException
64+
* @throws GetIdDocumentVerificationTooManyRequestsException
65+
* @throws GetIdDocumentVerificationInternalServerErrorException
66+
*/
67+
protected function transformResponseBody(ResponseInterface $response, SerializerInterface $serializer, ?string $contentType = null)
68+
{
69+
$status = $response->getStatusCode();
70+
$body = (string) $response->getBody();
71+
if (null !== $contentType && (200 === $status && false !== mb_strpos($contentType, 'application/json'))) {
72+
return $serializer->deserialize($body, IdDocumentVerification::class, 'json');
73+
}
74+
if (null !== $contentType && (400 === $status && false !== mb_strpos($contentType, 'application/json'))) {
75+
throw new GetIdDocumentVerificationBadRequestException($serializer->deserialize($body, BadRequestResponse::class, 'json'), $response);
76+
}
77+
if (null !== $contentType && (401 === $status && false !== mb_strpos($contentType, 'application/json'))) {
78+
throw new GetIdDocumentVerificationUnauthorizedException($serializer->deserialize($body, UnauthorizedResponse::class, 'json'), $response);
79+
}
80+
if (null !== $contentType && (403 === $status && false !== mb_strpos($contentType, 'application/json'))) {
81+
throw new GetIdDocumentVerificationForbiddenException($serializer->deserialize($body, ForbiddenResponse::class, 'json'), $response);
82+
}
83+
if (null !== $contentType && (404 === $status && false !== mb_strpos($contentType, 'application/json'))) {
84+
throw new GetIdDocumentVerificationNotFoundException($serializer->deserialize($body, NotFoundResponse::class, 'json'), $response);
85+
}
86+
if (null !== $contentType && (429 === $status && false !== mb_strpos($contentType, 'application/json'))) {
87+
throw new GetIdDocumentVerificationTooManyRequestsException($serializer->deserialize($body, TooManyRequestsResponse::class, 'json'), $response);
88+
}
89+
if (null !== $contentType && (500 === $status && false !== mb_strpos($contentType, 'application/json'))) {
90+
throw new GetIdDocumentVerificationInternalServerErrorException($serializer->deserialize($body, InternalServerError::class, 'json'), $response);
91+
}
92+
93+
return null;
94+
}
95+
96+
public function getAuthenticationScopes(): array
97+
{
98+
return ['bearerAuth'];
99+
}
100+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Exception;
4+
5+
use Psr\Http\Message\ResponseInterface;
6+
use Qdequippe\Yousign\Api\Model\BadRequestResponse;
7+
8+
class CreateIdDocumentVerificationBadRequestException extends BadRequestException
9+
{
10+
public function __construct(private readonly BadRequestResponse $badRequestResponse, private readonly ResponseInterface $response)
11+
{
12+
parent::__construct('Bad request');
13+
}
14+
15+
public function getBadRequestResponse(): BadRequestResponse
16+
{
17+
return $this->badRequestResponse;
18+
}
19+
20+
public function getResponse(): ResponseInterface
21+
{
22+
return $this->response;
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Exception;
4+
5+
use Psr\Http\Message\ResponseInterface;
6+
use Qdequippe\Yousign\Api\Model\ForbiddenResponse;
7+
8+
class CreateIdDocumentVerificationForbiddenException extends ForbiddenException
9+
{
10+
public function __construct(private readonly ForbiddenResponse $forbiddenResponse, private readonly ResponseInterface $response)
11+
{
12+
parent::__construct('Access forbidden');
13+
}
14+
15+
public function getForbiddenResponse(): ForbiddenResponse
16+
{
17+
return $this->forbiddenResponse;
18+
}
19+
20+
public function getResponse(): ResponseInterface
21+
{
22+
return $this->response;
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Exception;
4+
5+
use Psr\Http\Message\ResponseInterface;
6+
use Qdequippe\Yousign\Api\Model\InternalServerError;
7+
8+
class CreateIdDocumentVerificationInternalServerErrorException extends InternalServerErrorException
9+
{
10+
public function __construct(private readonly InternalServerError $internalServerError, private readonly ResponseInterface $response)
11+
{
12+
parent::__construct('Internal Server Error');
13+
}
14+
15+
public function getInternalServerError(): InternalServerError
16+
{
17+
return $this->internalServerError;
18+
}
19+
20+
public function getResponse(): ResponseInterface
21+
{
22+
return $this->response;
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Exception;
4+
5+
use Psr\Http\Message\ResponseInterface;
6+
use Qdequippe\Yousign\Api\Model\TooManyRequestsResponse;
7+
8+
class CreateIdDocumentVerificationTooManyRequestsException extends TooManyRequestsException
9+
{
10+
public function __construct(private readonly TooManyRequestsResponse $tooManyRequestsResponse, private readonly ResponseInterface $response)
11+
{
12+
parent::__construct('Too Many Requests, please try again later.');
13+
}
14+
15+
public function getTooManyRequestsResponse(): TooManyRequestsResponse
16+
{
17+
return $this->tooManyRequestsResponse;
18+
}
19+
20+
public function getResponse(): ResponseInterface
21+
{
22+
return $this->response;
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Qdequippe\Yousign\Api\Exception;
4+
5+
use Psr\Http\Message\ResponseInterface;
6+
use Qdequippe\Yousign\Api\Model\UnauthorizedResponse;
7+
8+
class CreateIdDocumentVerificationUnauthorizedException extends UnauthorizedException
9+
{
10+
public function __construct(private readonly UnauthorizedResponse $unauthorizedResponse, private readonly ResponseInterface $response)
11+
{
12+
parent::__construct('Access unauthorized');
13+
}
14+
15+
public function getUnauthorizedResponse(): UnauthorizedResponse
16+
{
17+
return $this->unauthorizedResponse;
18+
}
19+
20+
public function getResponse(): ResponseInterface
21+
{
22+
return $this->response;
23+
}
24+
}

0 commit comments

Comments
 (0)