Exemple de requête réalisant une signature Helios sur un document
Création de la requête provisionnée
L’application demandeuse initie une demande de signature :
POST /api/requests HTTP/1.1Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5Content-Type: application/jsonContent-Length: 269{"profiles" : {"default" : {"signatureType" : "helios","signatureLevel" : "b","signerLocationCity" : "Troyes","signerLocationPostalCode" : "10000","signerLocationCountry" : "France","signerRoles" : "Finance"}}}
Un objet demande est renvoyé :
{"clientId" : "01","created" : 1787667778991,"id" : "req_01_Pc7iJXX1HuADdDN8ZSkEnSkm","params" : {"bypassViewer" : "false"},"profiles" : {"default" : {"forceScrollDocument" : "false","signatureLevel" : "b","signatureType" : "helios","signerLocationCity" : "Troyes","signerLocationCountry" : "France","signerLocationPostalCode" : "10000","signerRoles" : "Finance"}},"status" : "created","updated" : 1787667778991}
Téléversement du document à signer
L’application demandeuse téléverse le contenu du document (un fichier PES Helios au format XML, incluant une pièce jointe PDF encodée en base64) :
POST /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/profiles/default/documents HTTP/1.1Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5Content-Type: text/xml<?xml version="1.0" encoding="UTF-8"?><n:PES_Aller xmlns:n="http://www.minefi.gouv.fr/cp/helios/pes_v2/Rev0/aller" ...><Enveloppe><Parametres><Version V="2"/><TypFic V="PESALR2"/><NomFic V="PESALR2M14_EMET_REC20090318102027.xml"/></Parametres>...</Enveloppe>...<PES_PJ><PJ><Contenu><Fichier MIMEType="pdf">[contenu du PDF encodé en base64, tronqué]</Fichier></Contenu><IdUnique V="PJDEP200002009MX3501N20090318102443"/><NomPJ V="MX-3501N_20090318_102443.pdf"/><TypePJ V="003"/><Description V="P.J. au mandat n 220 : MISSION SPS"/></PJ></PES_PJ></n:PES_Aller>
Un objet document est renvoyé :
{"created" : 1787667779009,"displayedParts" : [ {"contentType" : "text/xml","filename" : "Document","hash" : "mn/7ykoyW2byuPsOPJH97JL9hG8pIf7f8f9z/ZZXy1A=","name" : "data","policyUri" : "https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf","profileId" : "default","size" : 22376} ],"id" : "doc_8xTuaXy8LZ6tMjv1hVgC5frs","parts" : [ {"contentType" : "text/xml","filename" : "Document","hash" : "mn/7ykoyW2byuPsOPJH97JL9hG8pIf7f8f9z/ZZXy1A=","name" : "data","policyUri" : "https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf","profileId" : "default","size" : 22376} ],"profileId" : "default","requestId" : "req_01_Pc7iJXX1HuADdDN8ZSkEnSkm","workflowIdx" : 0}
Lancement de la requête provisionnée
L’application demandeuse passe le statut de la demande de signature à started :
POST /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/start HTTP/1.1Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
L’URL de la page de consentement est renvoyée :
{"consentPageUrl" : "https://evidence-manager.lex-persona.com/?requestToken=eyJhbGciOiJIUzI1NiJ9...#requestId=req_01_Pc7iJXX1HuADdDN8ZSkEnSkm"}
Récupération des documents signés et des preuves
L’application demandeuse liste les documents signés :
GET /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/signedDocuments HTTP/1.1Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
Une liste d’objets document est renvoyée (le document signé, lié au document d’origine par linkedDocumentId) :
[ {"created" : 1787667779468,"displayedParts" : [ {"contentType" : "text/xml","filename" : "Document","hash" : "O9o2CSbzJR1UKiActnF+nJIhxC/fPO3QY2MqL5z0B5Q=","isOriginal" : false,"name" : "data","policyUri" : "https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf","profileId" : "default","size" : 32843} ],"id" : "doc_DSmSHwZh2wY8xf7M6EyL7xDn","linkedDocumentId" : "doc_8xTuaXy8LZ6tMjv1hVgC5frs","parts" : [ {"contentType" : "text/xml","filename" : "Document","hash" : "u/aPqFmitziAiMh/9fhg0Wij4lbcpjtvY1iZVGw3RnA=","isOriginal" : false,"name" : "data","policyUri" : "https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf","profileId" : "default","size" : 32843} ],"profileId" : "default","requestId" : "req_01_Pc7iJXX1HuADdDN8ZSkEnSkm","workflowIdx" : 0} ]
L’application demandeuse télécharge le document signé, qui contient le PES original ainsi qu’une signature XAdES scellant le document (élément ds:Signature, avec sa politique de signature Helios, sa chaîne de certificats et son horodatage) :
GET /api/requests/req_01_Pc7iJXX1HuADdDN8ZSkEnSkm/signedDocuments/doc_DSmSHwZh2wY8xf7M6EyL7xDn HTTP/1.1Authorization: ApiKey 5xVpCQPEYdncwHXwCDf5sqyfN9GPrio5
<?xml version="1.0" encoding="UTF-8"?><n:PES_Aller xmlns:n="http://www.minefi.gouv.fr/cp/helios/pes_v2/Rev0/aller" ...><Enveloppe><Parametres><Version V="2"/><TypFic V="PESALR2"/><NomFic V="PESALR2M14_EMET_REC20090318102027.xml"/></Parametres>...</Enveloppe>...<PES_PJ><PJ><Contenu><Fichier MIMEType="pdf">[contenu du PDF encodé en base64, tronqué]</Fichier></Contenu><IdUnique V="PJDEP200002009MX3501N20090318102443"/><NomPJ V="MX-3501N_20090318_102443.pdf"/><TypePJ V="003"/><Description V="P.J. au mandat n 220 : MISSION SPS"/></PJ></PES_PJ><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="id-12ba34e1cf4a951c1c3f50e977dc2ebd"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference Id="r-id-12ba34e1cf4a951c1c3f50e977dc2ebd-1" URI="#IDF2009-03-18T10-20-33.40"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>MztJpkmvCp6+aHpE26154lOaopQ7/SRK+O2AT6zms6k=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903/v1.2.2#SignedProperties" URI="#xades-id-12ba34e1cf4a951c1c3f50e977dc2ebd"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>vJUqs3XPsYPc3ecF0iOB9JK6DOa9fzMX3P8O+0htFtw=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="value-id-12ba34e1cf4a951c1c3f50e977dc2ebd">MQpvqFjaT9N/KKXpGxxTAOvNGAH3+ETn8zLBnWfMXADlo0/RiM7qsAXLUI55dBraYzbtZel0jlxoGiegN8tImtaCj8JLuJFv5aQdkavTdJJj9r9Ac1j1FM4u...</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIGVjCCBD6gAwIBAgIIJ/TRdsPRnnUwDQYJKoZIhvcNAQELBQAwgYMxKzApBgNVBAMMIlN1bm55c3RhbXAgTGVnYWwgUGVyc29ucyBDQSAoVEVTVCkxFzAV...</ds:X509Certificate><ds:X509Certificate>MIIHADCCBOigAwIBAgIIXZTNpYsvZKAwDQYJKoZIhvcNAQENBQAwdjEeMBwGA1UEAwwVU3VubnlzdGFtcCBSb290IENBIEcyMRcwFQYDVQQLDA4wMDAyIDQ4...</ds:X509Certificate><ds:X509Certificate>MIIF5DCCA8ygAwIBAgIIds3Y5/Vg0IYwDQYJKoZIhvcNAQELBQAwdjEeMBwGA1UEAwwVU3VubnlzdGFtcCBSb290IENBIEcyMRcwFQYDVQQLDA4wMDAyIDQ4...</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xad:QualifyingProperties xmlns:xad="http://uri.etsi.org/01903/v1.2.2#" Target="#id-12ba34e1cf4a951c1c3f50e977dc2ebd"><xad:SignedProperties Id="xades-id-12ba34e1cf4a951c1c3f50e977dc2ebd"><xad:SignedSignatureProperties><xad:SigningTime>2026-09-15T10:27:38Z</xad:SigningTime><xad:SigningCertificate><xad:Cert><xad:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>7y96RSVU3QZjQB18ap56T8Qp9CfzutdvoI+yjAEhNU0=</ds:DigestValue></xad:CertDigest><xad:IssuerSerial><ds:X509IssuerName>C=FR,O=LEX PERSONA,2.5.4.97=#0c0f4e545246522d343830363232323537,OU=0002 480622257,CN=Sunnystamp Legal Persons CA (TEST)</ds:X509IssuerName><ds:X509SerialNumber>2879156369818230389</ds:X509SerialNumber></xad:IssuerSerial></xad:Cert></xad:SigningCertificate><xad:SignaturePolicyIdentifier><xad:SignaturePolicyId><xad:SigPolicyId><xad:Identifier Qualifier="OIDAsURN">urn:oid:1.2.250.1.131.1.5.18.21.1.7</xad:Identifier></xad:SigPolicyId><xad:SigPolicyHash><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>GbP1WjbTrHp6h9zlsz5RN7AqkJbnDNDOAQzgm1qzIJ4=</ds:DigestValue></xad:SigPolicyHash><xad:SigPolicyQualifiers><xad:SigPolicyQualifier><xad:SPURI>https://www.collectivites-locales.gouv.fr/files/files/2.%20G%C3%A9rer%20les%20finances%20publiques%20locales/6.%20La%20d%C3%A9mat%C3%A9rialisation%20des%20comptes%20locaux%20et%20l%27open%20data/D%C3%A9mat%20comptable/Le%20PES/ps_helios_dgfip.pdf</xad:SPURI></xad:SigPolicyQualifier></xad:SigPolicyQualifiers></xad:SignaturePolicyId></xad:SignaturePolicyIdentifier><xad:SignatureProductionPlace><xad:City>Troyes</xad:City><xad:PostalCode>10000</xad:PostalCode><xad:CountryName>France</xad:CountryName></xad:SignatureProductionPlace><xad:SignerRole><xad:ClaimedRoles><xad:ClaimedRole>Finance</xad:ClaimedRole></xad:ClaimedRoles></xad:SignerRole></xad:SignedSignatureProperties><xad:SignedDataObjectProperties><xad:DataObjectFormat ObjectReference="#r-id-12ba34e1cf4a951c1c3f50e977dc2ebd-1"><xad:MimeType>text/xml</xad:MimeType></xad:DataObjectFormat></xad:SignedDataObjectProperties></xad:SignedProperties></xad:QualifyingProperties></ds:Object></ds:Signature></n:PES_Aller>

