Intégrez la signature électronique dans vos applications en quelques minutes
Créez un compte et générez votre clé API depuis votre tableau de bord.
Note : Gardez votre clé API secrète et ne la partagez jamais publiquement.
Utilisez votre clé API pour vous authentifier et récupérer vos informations utilisateur :
curl -X GET https://api.giga-signature.com/api/v1/user \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Uploadez un document puis créez un processus de signature complet :
# 1. Upload du document
curl -X POST https://api.giga-signature.com/api/v1/documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-F "file=@contract.pdf" \
-F "name=Contrat de service"
# 2. Créer un processus de signature
curl -X POST https://api.giga-signature.com/api/v1/signature-processes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Signature contrat client",
"documents": [{"id": 123, "order": 1}],
"signers": [{
"name": "Jean Dupont",
"email": "jean@example.com",
"order": 1
}]
}'
L'API utilise l'authentification Bearer Token. Incluez votre clé API dans l'en-tête
Authorization
de chaque requête.
Authorization: Bearer YOUR_API_KEY
curl -X GET https://api.giga-signature.com/api/v1/user \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.giga-signature.com/api/v1/user', [
'headers' => [
'Authorization' => 'Bearer YOUR_API_KEY',
'Accept' => 'application/json',
],
]);
$user = json_decode($response->getBody(), true);
const response = await fetch('https://api.giga-signature.com/api/v1/user', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const user = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.get('https://api.giga-signature.com/api/v1/user', headers=headers)
user = response.json()
/api/v1/auth/login
Authentifie un utilisateur et retourne un token d'accès.
{
"email": "user@example.com",
"password": "your-password"
}
{
"data": {
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"token_type": "bearer",
"expires_in": 3600,
"user": {
"id": 1,
"name": "John Doe",
"email": "user@example.com"
}
}
}
curl -X POST https://api.giga-signature.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email": "user@example.com",
"password": "your-password"
}'
/api/v1/auth/logout
/api/v1/auth/refresh
Renouvelle un token d'accès expiré.
curl -X POST https://api.giga-signature.com/api/v1/auth/refresh \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
/api/v1/account
Récupère les informations du tenant, les quotas et l'utilisateur connecté.
{
"data": {
"tenant": {
"name": "ACME Corp",
"subscription_type": "premium",
"quotas": {
"documents_limit": 1000,
"documents_used": 245,
"signatures_limit": 5000,
"signatures_used": 823
}
},
"user": {
"id": 1,
"name": "Jean Dupont",
"email": "jean.dupont@acme.com",
"role": "tenant_admin"
}
}
}
curl -X GET https://api.giga-signature.com/api/v1/account \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
/api/v1/account/usage
Récupère les statistiques d'utilisation du tenant.
curl -X GET https://api.giga-signature.com/api/v1/account/usage \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
/api/v1/documents
Récupère la liste des documents du tenant.
curl -X GET https://api.giga-signature.com/api/v1/documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
/api/v1/documents
Téléverse un nouveau document PDF.
curl -X POST https://api.giga-signature.com/api/v1/documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-F "file=@/path/to/document.pdf" \
-F "name=Contrat de service"
/api/v1/documents/{id}
/api/v1/documents/{id}
/api/v1/signature-processes
Crée un nouveau processus de signature avec plusieurs documents et signataires. Support des workflows séquentiels ou parallèles.
{
"name": "Contrat de service 2025",
"description": "Contrat annuel de maintenance",
"documents": [
{
"id": 123,
"order": 1
},
{
"id": 124,
"order": 2
}
],
"signers": [
{
"name": "Jean Dupont",
"email": "jean.dupont@example.com",
"order": 1,
"type": "sequential"
},
{
"name": "Marie Martin",
"email": "marie.martin@example.com",
"order": 2,
"type": "sequential"
}
],
"options": {
"enable_otp": true,
"enable_notifications": true
}
}
curl -X POST https://api.giga-signature.com/api/v1/signature-processes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Contrat de vente 2024",
"documents": [{"id": 123, "order": 1}],
"signers": [{
"name": "Jean Dupont",
"email": "jean.dupont@example.com",
"order": 1,
"type": "sequential"
}],
"options": {
"enable_otp": true,
"enable_notifications": true
}
}'
/api/v1/signature-processes/{id}/send
Envoie le processus aux signataires.
curl -X POST https://api.giga-signature.com/api/v1/signature-processes/123/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
/api/v1/signature-processes/{id}/cancel
/api/v1/signature-processes/{id}/fields
/api/v1/signature-processes/{id}/download-signed-pdf
/api/v1/archives
/api/v1/archives/{id}/download
/api/v1/vault/documents
Récupère la liste des documents signés stockés dans le coffre-fort numérique.
search
- Recherche dans les noms et tagsstatus
- active, archived, expiring, expireddate_from
/ date_to
- Filtrage par datetags
- Filtrer par tags (séparés par virgules)per_page
- Nombre de résultats par page (défaut: 15)curl -X GET "https://api.giga-signature.com/api/v1/vault/documents?status=active&tags=contract,2025" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents?status=active&tags=contract,2025', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const data = await response.json();
console.log(data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents?status=active&tags=contract,2025');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
import requests
url = 'https://api.giga-signature.com/api/v1/vault/documents'
params = {
'status': 'active',
'tags': 'contract,2025'
}
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)
/api/v1/vault/documents/{id}
Récupère les informations détaillées d'un document spécifique dans le coffre-fort.
curl -X GET "https://api.giga-signature.com/api/v1/vault/documents/123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents/123', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const document = await response.json();
console.log(document);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents/123');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$document = json_decode($response, true);
print_r($document);
import requests
url = 'https://api.giga-signature.com/api/v1/vault/documents/123'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.get(url, headers=headers)
document = response.json()
print(document)
/api/v1/vault/documents/{id}/download
Télécharge directement le fichier PDF signé.
curl -X GET "https://api.giga-signature.com/api/v1/vault/documents/123/download" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o "document-signed.pdf"
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents/123/download', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
if (response.ok) {
const blob = await response.blob();
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'document-signed.pdf';
a.click();
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents/123/download');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY'
]);
$pdfContent = curl_exec($ch);
curl_close($ch);
file_put_contents('document-signed.pdf', $pdfContent);
import requests
url = 'https://api.giga-signature.com/api/v1/vault/documents/123/download'
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
with open('document-signed.pdf', 'wb') as f:
f.write(response.content)
/api/v1/vault/documents/{id}/package
Télécharge un package ZIP contenant le document signé, le certificat de signature et l'audit trail.
curl -X GET "https://api.giga-signature.com/api/v1/vault/documents/123/package" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o "document-package.zip"
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents/123/package', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
if (response.ok) {
const blob = await response.blob();
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'document-package.zip';
a.click();
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents/123/package');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY'
]);
$zipContent = curl_exec($ch);
curl_close($ch);
file_put_contents('document-package.zip', $zipContent);
import requests
url = 'https://api.giga-signature.com/api/v1/vault/documents/123/package'
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
with open('document-package.zip', 'wb') as f:
f.write(response.content)
/api/v1/vault/documents/{id}/archive
Archive un document du coffre-fort. Les documents archivés restent accessibles mais sont filtrés par défaut.
curl -X POST "https://api.giga-signature.com/api/v1/vault/documents/123/archive" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents/123/archive', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const result = await response.json();
console.log(result);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents/123/archive');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);
import requests
url = 'https://api.giga-signature.com/api/v1/vault/documents/123/archive'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.post(url, headers=headers)
result = response.json()
print(result)
/api/v1/vault/documents/{id}/unarchive
Restaure un document archivé dans le coffre-fort actif.
curl -X POST "https://api.giga-signature.com/api/v1/vault/documents/123/unarchive" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents/123/unarchive', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const result = await response.json();
console.log(result);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents/123/unarchive');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);
import requests
url = 'https://api.giga-signature.com/api/v1/vault/documents/123/unarchive'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.post(url, headers=headers)
result = response.json()
print(result)
/api/v1/vault/documents/{id}/tags
Met à jour les tags d'un document pour faciliter la recherche et l'organisation.
curl -X PUT "https://api.giga-signature.com/api/v1/vault/documents/123/tags" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tags": ["contract", "2025", "important", "client-abc"]
}'
const response = await fetch('https://api.giga-signature.com/api/v1/vault/documents/123/tags', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
tags: ['contract', '2025', 'important', 'client-abc']
})
});
const result = await response.json();
console.log(result);
$data = [
'tags' => ['contract', '2025', 'important', 'client-abc']
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/vault/documents/123/tags');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);
import requests
import json
url = 'https://api.giga-signature.com/api/v1/vault/documents/123/tags'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
data = {
'tags': ['contract', '2025', 'important', 'client-abc']
}
response = requests.put(url, headers=headers, data=json.dumps(data))
result = response.json()
print(result)
/api/v1/vault/statistics
Récupère des statistiques sur l'utilisation du coffre-fort numérique.
{
"success": true,
"data": {
"total_documents": 150,
"active_documents": 120,
"archived_documents": 30,
"expiring_soon": 5,
"total_size": 1073741824,
"total_size_formatted": "1 GB",
"documents_by_month": [
{
"month": "2025-01",
"count": 15
}
],
"top_tags": [
{
"tag": "contract",
"count": 45
}
]
}
}
/api/v1/templates
/api/v1/templates/{id}/duplicate
/api/v1/webhooks
Configure un webhook pour recevoir des notifications en temps réel.
document.uploaded
- Document téléversédocument.deleted
- Document supprimédocument.completed
- Document complétésignature.created
- Signature crééesignature.completed
- Signature complétéesignature.refused
- Signature refuséeprocess.completed
- Processus complété/api/v1/webhooks/{id}/logs
/api/v1/users
Récupère la liste paginée des utilisateurs du tenant.
search
- Recherche par nom ou emailrole
- Filtrer par rôle (tenant_admin, user, viewer)per_page
- Nombre de résultats par pagecurl -X GET "https://api.giga-signature.com/api/v1/users?search=john&role=user&per_page=20" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const params = new URLSearchParams({
search: 'john',
role: 'user',
per_page: 20
});
const response = await fetch(`https://api.giga-signature.com/api/v1/users?${params}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const users = await response.json();
console.log(users);
$params = http_build_query([
'search' => 'john',
'role' => 'user',
'per_page' => 20
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/users?' . $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$users = json_decode($response, true);
print_r($users);
import requests
url = 'https://api.giga-signature.com/api/v1/users'
params = {
'search': 'john',
'role': 'user',
'per_page': 20
}
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
users = response.json()
print(users)
/api/v1/users
Crée un nouvel utilisateur dans le tenant.
curl -X POST "https://api.giga-signature.com/api/v1/users" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Doe",
"email": "jane.doe@example.com",
"password": "SecurePass123!",
"role": "user",
"send_invitation": true
}'
const response = await fetch('https://api.giga-signature.com/api/v1/users', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
name: 'Jane Doe',
email: 'jane.doe@example.com',
password: 'SecurePass123!',
role: 'user',
send_invitation: true
})
});
const newUser = await response.json();
console.log(newUser);
$data = [
'name' => 'Jane Doe',
'email' => 'jane.doe@example.com',
'password' => 'SecurePass123!',
'role' => 'user',
'send_invitation' => true
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/users');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$newUser = json_decode($response, true);
print_r($newUser);
import requests
import json
url = 'https://api.giga-signature.com/api/v1/users'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
data = {
'name': 'Jane Doe',
'email': 'jane.doe@example.com',
'password': 'SecurePass123!',
'role': 'user',
'send_invitation': True
}
response = requests.post(url, headers=headers, data=json.dumps(data))
newUser = response.json()
print(newUser)
/api/v1/users/{id}
Récupère les informations détaillées d'un utilisateur spécifique.
curl -X GET "https://api.giga-signature.com/api/v1/users/456" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/users/456', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const user = await response.json();
console.log(user);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/users/456');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$user = json_decode($response, true);
print_r($user);
import requests
url = 'https://api.giga-signature.com/api/v1/users/456'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.get(url, headers=headers)
user = response.json()
print(user)
/api/v1/users/{id}
Met à jour les informations d'un utilisateur existant.
curl -X PUT "https://api.giga-signature.com/api/v1/users/456" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Smith",
"role": "tenant_admin"
}'
const response = await fetch('https://api.giga-signature.com/api/v1/users/456', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
name: 'Jane Smith',
role: 'tenant_admin'
})
});
const updatedUser = await response.json();
console.log(updatedUser);
$data = [
'name' => 'Jane Smith',
'role' => 'tenant_admin'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/users/456');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$updatedUser = json_decode($response, true);
print_r($updatedUser);
import requests
import json
url = 'https://api.giga-signature.com/api/v1/users/456'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
data = {
'name': 'Jane Smith',
'role': 'tenant_admin'
}
response = requests.put(url, headers=headers, data=json.dumps(data))
updatedUser = response.json()
print(updatedUser)
/api/v1/users/{id}
Supprime définitivement un utilisateur du tenant.
curl -X DELETE "https://api.giga-signature.com/api/v1/users/456" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/users/456', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
if (response.ok) {
console.log('User deleted successfully');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/users/456');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 204) {
echo "User deleted successfully";
}
import requests
url = 'https://api.giga-signature.com/api/v1/users/456'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.delete(url, headers=headers)
if response.status_code == 204:
print('User deleted successfully')
/api/v1/users/{id}/reset-password
Envoie un email de réinitialisation du mot de passe à l'utilisateur.
curl -X POST "https://api.giga-signature.com/api/v1/users/456/reset-password" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/users/456/reset-password', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const result = await response.json();
console.log(result.message);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/users/456/reset-password');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo $result['message'];
import requests
url = 'https://api.giga-signature.com/api/v1/users/456/reset-password'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.post(url, headers=headers)
result = response.json()
print(result['message'])
/api/v1/api-keys
Récupère la liste de toutes les clés API du tenant.
curl -X GET "https://api.giga-signature.com/api/v1/api-keys" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/api-keys', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
const apiKeys = await response.json();
console.log(apiKeys);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/api-keys');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$apiKeys = json_decode($response, true);
print_r($apiKeys);
import requests
url = 'https://api.giga-signature.com/api/v1/api-keys'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.get(url, headers=headers)
apiKeys = response.json()
print(apiKeys)
/api/v1/api-keys
Crée une nouvelle clé API pour accéder à l'API.
Important : La clé API complète n'est affichée qu'une seule fois lors de la création. Conservez-la en lieu sûr.
curl -X POST "https://api.giga-signature.com/api/v1/api-keys" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production API Key",
"expires_at": "2026-12-31T23:59:59Z"
}'
const response = await fetch('https://api.giga-signature.com/api/v1/api-keys', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
name: 'Production API Key',
expires_at: '2026-12-31T23:59:59Z'
})
});
const newApiKey = await response.json();
console.log('New API Key:', newApiKey.key); // Sauvegardez cette clé !
$data = [
'name' => 'Production API Key',
'expires_at' => '2026-12-31T23:59:59Z'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/api-keys');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$newApiKey = json_decode($response, true);
echo 'New API Key: ' . $newApiKey['key']; // Sauvegardez cette clé !
import requests
import json
url = 'https://api.giga-signature.com/api/v1/api-keys'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
data = {
'name': 'Production API Key',
'expires_at': '2026-12-31T23:59:59Z'
}
response = requests.post(url, headers=headers, data=json.dumps(data))
newApiKey = response.json()
print(f"New API Key: {newApiKey['key']}") # Sauvegardez cette clé !
/api/v1/api-keys/{id}
Supprime définitivement une clé API. Cette action est irréversible.
curl -X DELETE "https://api.giga-signature.com/api/v1/api-keys/789" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.giga-signature.com/api/v1/api-keys/789', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
});
if (response.ok) {
console.log('API key deleted successfully');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.giga-signature.com/api/v1/api-keys/789');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 204) {
echo "API key deleted successfully";
}
import requests
url = 'https://api.giga-signature.com/api/v1/api-keys/789'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
response = requests.delete(url, headers=headers)
if response.status_code == 204:
print('API key deleted successfully')
<?php
use GigaSignature\Client;
use GigaSignature\Models\SignatureProcess;
// Initialiser le client
$client = new Client('YOUR_API_KEY');
// 1. Uploader un document
$document = $client->documents->upload([
'file' => '/path/to/contract.pdf',
'name' => 'Contrat de service 2024'
]);
// 2. Créer un processus de signature multi-documents
$process = $client->processes->create([
'name' => 'Signature contrat client',
'documents' => [
['id' => $document->id, 'order' => 1]
],
'signers' => [
[
'name' => 'Jean Dupont',
'email' => 'jean@example.com',
'order' => 1,
'type' => 'sequential'
]
],
'options' => [
'enable_otp' => true,
'enable_notifications' => true
]
]);
// Configuration des zones de signature
$client->processes->defineFields($process->id, [
'fields' => [
[
'document_id' => $document->id,
'signer_id' => 1,
'type' => 'signature',
'page' => 5,
'x' => 100,
'y' => 200,
'width' => 200,
'height' => 80,
'required' => true
]
]
]);
// 4. Envoyer le processus aux signataires
$client->processes->send($process->id);
echo "Processus envoyé avec succès !";
L'API retourne des codes d'erreur HTTP standards avec des messages détaillés en JSON.
Code | Signification | Action recommandée |
---|---|---|
400 | Bad Request | Vérifiez les paramètres de la requête |
401 | Unauthorized | Vérifiez votre clé API |
403 | Forbidden | Permissions insuffisantes |
404 | Not Found | Ressource introuvable |
429 | Too Many Requests | Limite de taux dépassée, attendez avant de réessayer |
500 | Internal Server Error | Contactez le support si l'erreur persiste |
{
"error": {
"code": "validation_error",
"message": "Les données fournies sont invalides",
"errors": {
"email": [
"Le champ email est requis",
"Le format de l'email est invalide"
]
}
}
}
Pour Laravel, Symfony et PHP vanilla
composer require gigasignature/php-sdk
Pour Node.js et navigateurs
npm install @gigasignature/js-sdk
Pour Django, Flask et Python
pip install gigasignature
Ruby, Go, Java - Bientôt disponibles
D'autres SDKs sont en cours de développement. Restez informé en vous inscrivant à notre newsletter développeur.