União com PHP
Closed this issue · 2 comments
Olá, super top sua API!
Sou muito novo no uso de Apis e gostaria de uma luz sobre como usar ela!
Se você tivesse um exemplo de como inserir um arquivo para uma assinatura com back-end e o front, seria uma luz para minha mente
Agradeço muito!
Segue a imagem, no campo assinatura gostaria de adicionar a opção de fazer o upload de um documento e ele ser assinado com o meu token...
Primeiro eu criei uma função que chama cada parte do fluxo
Neste caso o meu documento se chama 'Termo de Compromisso'
private function integraComClickSign(TermoCompromisso $termo, string $path): void
{
$this->uploadDocumento($termo, $path);
$this->criaSignatario($termo);
$this->adicionaSignatarioDocumento($termo);
$this->notificaSignatario($termo);
}
Aqui um exemplo de upload de documento para clicksign.
O primeiro argumento é o caminho onde esta o seu documento para o Laravel encontrar e o segundo é o caminho que vai ficar no clicksign
O clicksing vai te devolver a chave deste documento, a qual eu aconselho guardar pois vc vai precisar nos outros passos
private function uploadDocumento(\App\TermoCompromisso $termo, string $caminho)
{
//Chama a URL
$response = (new Clicksign())->createDocument($caminho, 'path-clicksign/' . $caminho);
$termo->clicksign_key = $response->object()->document->key;
$termo->save();
//Verifica se tudo deu certo
if ($response->status() !== 201) {
Log::error('Erro no termo - ', $termo->toArray());
Log::error('Erro no $response - ', [$response->body()]);
return Action::danger('Alguma coisa deu errada com o termo');
}
}
Depois vc tem que criar o signatário com e-mail e nome. Clicksign vai te devolver a chave desse signatários.
(new Clicksign())->createSigner($this->representante->email, $this->representante->nome);
Então vc adiciona as chaves dos signatários ao documento (key) que você tem.
Dessa maneira
(new Clicksign())->signerToDocument($termo->clicksign_key, $termo->signer_key);
Espero ter ajudado a esclarecer @thiagoprogramando
Primeiro você tem que gravar o arquivo onde o Laravel possa encontrar.
Depois faz os passos acima no Back-End
Coloca um botão no front como "Enviar para Assinatura" (algo assim) dai disparar um evento ou um processo desse fluxo no back-end