Migrer une intégration Universign existante
WakaSign expose une couche de compatibilité Universign v1 (transactions + signers + webhooks).
Pré-requis communs
Tous les tutoriels partagent le même mécanisme d'authentification.
Chaque appel HTTP doit porter un header Authorization: Bearer <token> où <token> est un token dk_… généré dans l'app WakaSign (menu Clés API & Webhooks). Le token est lié à un workspace (team) — toutes les opérations s'effectuent dans son périmètre.
Base URL : https://app.wakasign.com/api
Étapes de migration
Identifier les routes Universign utilisées
Surface couverte : /v1/transactions (création, launch, cancel, relaunch), /v1/transactions/<id>/documents, /v1/transactions/<id>/signers, /v1/templates, /v1/certificates, /v1/webhooks.
Remplacer la base URL et le token
Universign : https://ws.universign.eu/sign/v1
WakaSign : https://app.wakasign.com/api/universign/v1
L'authentification HTTP Basic Universign devient un Bearer token dk_… — c'est la seule adaptation côté code client.
Tester un round-trip avec curl
# Créer une transaction (format Universign)
curl -X POST 'https://app.wakasign.com/api/universign/v1/transactions' \
-H 'Authorization: Bearer dk_xxx' \
-H 'Content-Type: application/json' \
-d '{
"name": "Contrat de prestation",
"language": "fr",
"signers": [
{ "firstname": "Jean", "lastname": "Dupont", "emailAddress": "client@example.com" }
]
}'# Lancer la transaction (équivalent du send)
curl -X POST 'https://app.wakasign.com/api/universign/v1/transactions/<ID>/launch' \
-H 'Authorization: Bearer dk_xxx'Brancher les webhooks Universign
curl -X POST 'https://app.wakasign.com/api/universign/v1/webhooks' \
-H 'Authorization: Bearer dk_xxx' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://app.example.com/webhooks/universign",
"events": ["transaction.completed"]
}'Le corps des webhooks suit la forme Universign — ton handler existant peut être réutilisé tel quel.
Vérifier avec le Swagger Universign