@firma-dev/sdk
import { FirmaClient } from "@firma-dev/sdk";
const firma = new FirmaClient({ apiKey: "YOUR_API_KEY" });
const response = await firma.jwtManagement.generateSigningRequestToken({
companies_workspaces_signing_requests_id: "123e4567-e89b-12d3-a456-426614174000"
});
console.log(response);curl --request POST \
--url https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companies_workspaces_signing_requests_id": "123e4567-e89b-12d3-a456-426614174000"
}
'import requests
url = "https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request"
payload = { "companies_workspaces_signing_requests_id": "123e4567-e89b-12d3-a456-426614174000" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companies_workspaces_signing_requests_id: '123e4567-e89b-12d3-a456-426614174000'
})
};
fetch('https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'companies_workspaces_signing_requests_id' => '123e4567-e89b-12d3-a456-426614174000'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request"
payload := strings.NewReader("{\n \"companies_workspaces_signing_requests_id\": \"123e4567-e89b-12d3-a456-426614174000\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companies_workspaces_signing_requests_id\": \"123e4567-e89b-12d3-a456-426614174000\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companies_workspaces_signing_requests_id\": \"123e4567-e89b-12d3-a456-426614174000\"\n}"
response = http.request(request)
puts response.read_body{
"jwt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"jwt_id": "jwt123-e89b-12d3-a456-426614174000",
"expires_at": "2024-03-27T10:00:00Z",
"signing_request_id": "123e4567-e89b-12d3-a456-426614174000"
}{
"error": "Validation Error",
"message": "Invalid input data",
"details": {
"name": "Name is required",
"email": "Invalid email format"
}
}{
"error": "Unauthorized",
"message": "Invalid API key"
}{
"error": "Not Found",
"message": "The requested resource was not found"
}{
"error": "Rate Limit Exceeded",
"message": "Too many requests. Please wait before retrying.",
"details": {
"retry_after": 45
}
}Gestión de JWT
Generar token JWT para solicitud de firma
Generar un token JWT para incrustar un editor de solicitud de firma. El JWT expira después de 7 días.
POST
/
jwt
/
generate-signing-request
@firma-dev/sdk
import { FirmaClient } from "@firma-dev/sdk";
const firma = new FirmaClient({ apiKey: "YOUR_API_KEY" });
const response = await firma.jwtManagement.generateSigningRequestToken({
companies_workspaces_signing_requests_id: "123e4567-e89b-12d3-a456-426614174000"
});
console.log(response);curl --request POST \
--url https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companies_workspaces_signing_requests_id": "123e4567-e89b-12d3-a456-426614174000"
}
'import requests
url = "https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request"
payload = { "companies_workspaces_signing_requests_id": "123e4567-e89b-12d3-a456-426614174000" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companies_workspaces_signing_requests_id: '123e4567-e89b-12d3-a456-426614174000'
})
};
fetch('https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'companies_workspaces_signing_requests_id' => '123e4567-e89b-12d3-a456-426614174000'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request"
payload := strings.NewReader("{\n \"companies_workspaces_signing_requests_id\": \"123e4567-e89b-12d3-a456-426614174000\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companies_workspaces_signing_requests_id\": \"123e4567-e89b-12d3-a456-426614174000\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.firma.dev/functions/v1/signing-request-api/jwt/generate-signing-request")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companies_workspaces_signing_requests_id\": \"123e4567-e89b-12d3-a456-426614174000\"\n}"
response = http.request(request)
puts response.read_body{
"jwt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"jwt_id": "jwt123-e89b-12d3-a456-426614174000",
"expires_at": "2024-03-27T10:00:00Z",
"signing_request_id": "123e4567-e89b-12d3-a456-426614174000"
}{
"error": "Validation Error",
"message": "Invalid input data",
"details": {
"name": "Name is required",
"email": "Invalid email format"
}
}{
"error": "Unauthorized",
"message": "Invalid API key"
}{
"error": "Not Found",
"message": "The requested resource was not found"
}{
"error": "Rate Limit Exceeded",
"message": "Too many requests. Please wait before retrying.",
"details": {
"retry_after": 45
}
}Autorizaciones
Clave API para autenticación. Usa tu clave API directamente sin ningún prefijo (por ejemplo, 'your-api-key'). El prefijo Bearer es opcional pero no obligatorio.
Cuerpo
application/json
ID de la solicitud de firma para la que se generará el JWT
Respuesta
JWT generado exitosamente
El token JWT generado
Marca de tiempo de expiración del JWT (7 días desde su creación)
ID de la solicitud de firma a la que corresponde este JWT
Identificador único de este JWT
Marca de tiempo de cuándo se creó el JWT
¿Esta página le ayudó?
⌘I