[{"data":1,"prerenderedAt":2094},["ShallowReactive",2],{"page:\u002Fintegration\u002Fnotifications":3},{"id":4,"title":5,"body":6,"description":2085,"download":2086,"extension":2087,"meta":2088,"navigation":1628,"path":2089,"section":2090,"seo":2091,"sourceTitle":2086,"sourceUpdatedAt":2086,"sourceUrl":2086,"stem":2092,"version":2086,"__hash__":2093},"docs\u002Fintegration\u002Fnotifications.md","Notifications de fin de traitement",{"type":7,"value":8,"toc":2070},"minimark",[9,24,29,37,73,83,87,94,100,105,111,114,117,121,128,142,149,159,163,173,233,265,292,296,311,1216,1233,1237,1375,1389,1393,1405,1409,1412,1469,1478,1490,1494,1501,1950,1962,1968,1979,1983,2000,2019,2023,2035,2054,2066],[10,11,12,13,17,18,23],"p",{},"Votre logiciel métier peut recevoir le résultat d’une demande par un ",[14,15,16],"code",{},"POST"," JSON envoyé par Raydocs à une URL de votre choix. Il peut aussi suivre la demande par ",[19,20,22],"a",{"href":21},"\u002Fintegration\u002Fconsulter-le-statut","polling",". Les deux modes donnent accès au résultat métier complet et aux liens de téléchargement de ses pièces.",[25,26,28],"h2",{"id":27},"activer-la-notification-pour-une-demande","Activer la notification pour une demande",[10,30,31,32,36],{},"La notification est configurée sur le ",[33,34,35],"strong",{},"workflow d’intégration publié"," fourni par Raydocs. Elle reste facultative pour chaque demande : seul l’envoi d’une URL de réception l’active pour cette demande.",[10,38,39,40,44,45,48,49,52,53,56,57,60,61,64,65,68,69,72],{},"Lors de l’",[19,41,43],{"href":42},"\u002Fintegration\u002Fenvoyer-les-documents#avec-notification-facultative","envoi des documents",", ajoutez le champ ",[33,46,47],{},"texte"," ",[14,50,51],{},"notification_url",", au singulier, dans le même ",[14,54,55],{},"multipart\u002Fform-data"," que les fichiers ",[14,58,59],{},"files[]",". Il n’est pas obligatoire. S’il est absent, vide ou composé uniquement d’espaces, Raydocs n’effectue ",[33,62,63],{},"aucun appel de notification"," ; le suivi par ",[14,66,67],{},"\u002Fstatus"," et ",[14,70,71],{},"\u002Foutput"," reste utilisable.",[10,74,75,76,78,79,82],{},"Seul le workflow parent envoie la notification. Les sous-workflows ne reçoivent pas ",[14,77,51],{}," : le logiciel métier suit une demande avec un seul ",[14,80,81],{},"run_id",", celui du parent.",[25,84,86],{"id":85},"préparer-lurl-de-réception","Préparer l’URL de réception",[10,88,89,90,93],{},"La destination doit être une ",[33,91,92],{},"URL HTTPS publique sur le port 443",". Les adresses internes ou privées et les redirections sont refusées : fournissez directement l’URL finale du récepteur.",[10,95,96],{},[97,98],"span",{"id":99},"sécuriser-le-retour-vers-lerp",[101,102,104],"h3",{"id":103},"sécuriser-le-retour-vers-le-logiciel-métier","Sécuriser le retour vers le logiciel métier",[10,106,107,110],{},[33,108,109],{},"Bonne pratique : fournissez une URL unique par demande, signée et temporaire."," Votre endpoint de notification est accessible depuis Internet : son URL ne doit pas permettre à un tiers de soumettre librement un résultat à votre logiciel métier.",[10,112,113],{},"Le logiciel métier génère cette URL avant l’envoi des documents et la rattache à la demande. Il peut signer l’identifiant de la demande et une date d’expiration avec un secret conservé côté serveur. À chaque réception, il vérifie la signature, l’échéance et la correspondance avec la demande avant d’accepter le résultat. Un simple identifiant de dossier dans l’URL ne protège pas cet accès.",[10,115,116],{},"Exemple fictif, dont les paramètres et le mécanisme de signature sont définis par votre logiciel métier :",[118,119],"variable-code",{"code":120},"https:\u002F\u002Flogiciel-metier.example.com\u002Fraydocs\u002Fnotifications?job=12345&expires={EXPIRATION_NOTIFICATION}&signature={SIGNATURE_NOTIFICATION}",[10,122,123,124,127],{},"Choisissez une durée de validité couvrant le traitement et les tentatives de livraison, avec une marge adaptée. ",[33,125,126],{},"Cette durée est définie par le logiciel métier et est indépendante des dix minutes de validité des liens de téléchargement Raydocs."," Le logiciel métier refuse les appels dont la signature est invalide ou l’URL expirée. Si le traitement dépasse cette échéance, récupérez le résultat par polling.",[10,129,130,131,134,135,141],{},"Une URL unique par demande ne signifie pas un lien consommable une seule fois : pendant sa validité, acceptez les nouvelles tentatives légitimes avec un ",[14,132,133],{},"2xx",", tout en ",[19,136,138,139],{"href":137},"\u002Fintegration\u002Fnotifications#recevoir-et-d%C3%A9dupliquer","dédupliquant le traitement par ",[14,140,81],{},".",[10,143,144,145,148],{},"Raydocs conserve les paramètres de cette URL et ",[33,146,147],{},"ne transmet aucun token API Raydocs au destinataire",". Traitez l’URL signée comme un secret d’accès : toute personne qui la possède pourrait appeler ce récepteur pendant sa validité. Évitez de l’exposer dans les journaux ou dans une interface publique.",[10,150,151,152,154,155,158],{},"Il existe deux signatures distinctes : celle de ",[14,153,51],{}," est produite et vérifiée par votre logiciel métier ; celle des ",[14,156,157],{},"download_url"," est produite par Raydocs pour autoriser le téléchargement des fichiers. La signature de l’URL du logiciel métier ne constitue pas une signature Raydocs du corps JSON.",[25,160,162],{"id":161},"enveloppe-reçue","Enveloppe reçue",[10,164,165,166,168,169,172],{},"Raydocs envoie un ",[14,167,16],{}," avec ",[14,170,171],{},"Content-Type: application\u002Fjson"," :",[174,175,176,189],"table",{},[177,178,179],"thead",{},[180,181,182,186],"tr",{},[183,184,185],"th",{},"Champ",[183,187,188],{},"Signification",[190,191,192,206,223],"tbody",{},[180,193,194,199],{},[195,196,197],"td",{},[14,198,81],{},[195,200,201,202,205],{},"Identifiant du run parent, égal à l’",[14,203,204],{},"id"," retourné lors de l’envoi des documents. À conserver pour le suivi et la déduplication.",[180,207,208,213],{},[195,209,210],{},[14,211,212],{},"status",[195,214,215,218,219,222],{},[14,216,217],{},"success"," pour un traitement réussi, ",[14,220,221],{},"failed"," pour un échec.",[180,224,225,230],{},[195,226,227],{},[14,228,229],{},"output",[195,231,232],{},"Résultat métier complet en succès, ou objet contenant le statut et l’erreur publique en échec.",[10,234,235,236,240,241,244,245,244,248,251,252,254,255,264],{},"Les ",[19,237,239],{"href":238},"\u002Fintegration\u002Fmetadonnees","métadonnées de suivi"," ne sont pas ajoutées automatiquement au callback : l’enveloppe ne contient ni ",[14,242,243],{},"client_id",", ni ",[14,246,247],{},"metadata",[14,249,250],{},"event_id",". Conservez le lien entre votre client et le ",[14,253,81],{}," parent lors de l’envoi. Le statut ",[33,256,257,259,260,263],{},[14,258,217],{}," dans la notification correspond à ",[14,261,262],{},"completed"," dans l’API de suivi",". Il indique la réussite du traitement Raydocs ; le téléchargement et l’import dans le logiciel métier doivent encore être vérifiés.",[10,266,267,268,270,271,275,276,278,279,281,282,68,284,286,287,291],{},"Cette enveloppe et ",[14,269,51],{}," appartiennent à la convention de transport Raydocs. Le ",[19,272,274],{"href":273},"\u002Fformat\u002Fv1-2\u002Fspecification\u002Fintroduction","standard CDJ Connect"," décrit le contenu métier de ",[14,277,229],{},", sans imposer ce protocole à tous les échanges. Ne placez pas ",[14,280,81],{},", ",[14,283,212],{},[14,285,229],{}," dans le schéma métier. Sur l’endpoint ",[19,288,290],{"href":289},"\u002Fintegration\u002Frecuperer-le-resultat","GET \u002Foutput",", la réponse reste directement le JSON métier, sans cette enveloppe.",[25,293,295],{"id":294},"exemple-de-succès","Exemple de succès",[10,297,298,299,301,302,305,306,310],{},"Exemple fictif : ",[14,300,229],{}," contient ici un ",[33,303,304],{},"lot JSON CDJ Connect 1.2 complet",", enrichi des champs de téléchargement Raydocs. Les identifiants, dates et URL sont illustratifs ; le lien ne permet pas de télécharger un fichier réel. Les ",[19,307,309],{"href":308},"\u002Fformat\u002Fv1-2\u002Fexemples\u002Flots-json","lots ZIP téléchargeables"," restent disponibles pour tester un import avec des pièces fictives.",[312,313,318],"pre",{"className":314,"code":315,"language":316,"meta":317,"style":317},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","{\n  \"run_id\": \"dc817ceb-bcf4-4ae4-8a1c-596b885ed036\",\n  \"status\": \"success\",\n  \"output\": {\n    \"version_format\": \"1.2\",\n    \"en_tete\": {\n      \"id_lot\": \"LOT-20260520-0001\",\n      \"date_lot\": \"2026-05-20T10:30:00+02:00\",\n      \"environnement\": \"recette\",\n      \"sens_transmission\": \"EMETTEUR_VERS_ERP\",\n      \"type_flux\": \"IMPORT_DOSSIERS\",\n      \"emetteur\": {\n        \"type\": \"PRESTATAIRE\",\n        \"code\": \"RAYDOCS\",\n        \"nom\": \"Raydocs\"\n      },\n      \"destinataire\": {\n        \"type\": \"ERP\",\n        \"code\": \"ETUDE_DUPONT\",\n        \"nom\": \"SCP Dupont\",\n        \"logiciel\": \"LOGICIEL_METIER\"\n      }\n    },\n    \"service_destinataire\": {\n      \"code\": \"SVC-CONTENTIEUX\",\n      \"libelle\": \"Contentieux\"\n    },\n    \"dossiers\": [\n      {\n        \"reference_client\": \"CLI-12345\",\n        \"reference_dossier_destinataire\": null,\n        \"references_externes\": [],\n        \"nature_dossier\": \"INJONCTION_DE_PAYER\",\n        \"libelle_nature_dossier\": \"Injonction de payer\",\n        \"code_nature_dossier_externe\": null,\n        \"source_code_nature_dossier\": null,\n        \"evenements\": [\n          {\n            \"code_evenement\": \"OUVERTURE_DOSSIER\",\n            \"date_effet\": \"2026-05-20\",\n            \"libelle\": \"Ouverture dossier\"\n          }\n        ],\n        \"pieces_jointes\": [\n          {\n            \"reference_piece\": \"DECISION-01\",\n            \"nom\": \"Décision judiciaire fictive\",\n            \"chemin\": \"pieces\u002Fdecision.pdf\",\n            \"type\": \"PDF\",\n            \"file_id\": \"5ef9bd1f-25d5-4ff2-a2c4-a31039aae174\",\n            \"download_url\": \"https:\u002F\u002Fapi.raydocs.com\u002Fexemple\u002Fdownload?expires=1779267000&signature=SIGNATURE_FICTIVE\",\n            \"download_url_expires_at\": \"2026-05-20T08:50:00Z\"\n          }\n        ]\n      }\n    ]\n  }\n}\n","json","",[14,319,320,328,357,376,390,413,427,450,471,492,513,534,548,571,591,611,617,631,651,671,691,710,716,722,736,756,775,780,795,801,822,839,854,875,896,912,928,942,948,970,991,1009,1015,1021,1035,1040,1061,1081,1102,1122,1143,1163,1182,1187,1193,1198,1204,1210],{"__ignoreMap":317},[97,321,324],{"class":322,"line":323},"line",1,[97,325,327],{"class":326},"sP7_E","{\n",[97,329,331,335,338,341,344,348,352,354],{"class":322,"line":330},2,[97,332,334],{"class":333},"s39Yj","  \"",[97,336,81],{"class":337},"sseR_",[97,339,340],{"class":333},"\"",[97,342,343],{"class":326},":",[97,345,347],{"class":346},"sjJ54"," \"",[97,349,351],{"class":350},"s_sjI","dc817ceb-bcf4-4ae4-8a1c-596b885ed036",[97,353,340],{"class":346},[97,355,356],{"class":326},",\n",[97,358,360,362,364,366,368,370,372,374],{"class":322,"line":359},3,[97,361,334],{"class":333},[97,363,212],{"class":337},[97,365,340],{"class":333},[97,367,343],{"class":326},[97,369,347],{"class":346},[97,371,217],{"class":350},[97,373,340],{"class":346},[97,375,356],{"class":326},[97,377,379,381,383,385,387],{"class":322,"line":378},4,[97,380,334],{"class":333},[97,382,229],{"class":337},[97,384,340],{"class":333},[97,386,343],{"class":326},[97,388,389],{"class":326}," {\n",[97,391,393,396,400,402,404,406,409,411],{"class":322,"line":392},5,[97,394,395],{"class":333},"    \"",[97,397,399],{"class":398},"sZMiF","version_format",[97,401,340],{"class":333},[97,403,343],{"class":326},[97,405,347],{"class":346},[97,407,408],{"class":350},"1.2",[97,410,340],{"class":346},[97,412,356],{"class":326},[97,414,416,418,421,423,425],{"class":322,"line":415},6,[97,417,395],{"class":333},[97,419,420],{"class":398},"en_tete",[97,422,340],{"class":333},[97,424,343],{"class":326},[97,426,389],{"class":326},[97,428,430,433,437,439,441,443,446,448],{"class":322,"line":429},7,[97,431,432],{"class":333},"      \"",[97,434,436],{"class":435},"srdBf","id_lot",[97,438,340],{"class":333},[97,440,343],{"class":326},[97,442,347],{"class":346},[97,444,445],{"class":350},"LOT-20260520-0001",[97,447,340],{"class":346},[97,449,356],{"class":326},[97,451,453,455,458,460,462,464,467,469],{"class":322,"line":452},8,[97,454,432],{"class":333},[97,456,457],{"class":435},"date_lot",[97,459,340],{"class":333},[97,461,343],{"class":326},[97,463,347],{"class":346},[97,465,466],{"class":350},"2026-05-20T10:30:00+02:00",[97,468,340],{"class":346},[97,470,356],{"class":326},[97,472,474,476,479,481,483,485,488,490],{"class":322,"line":473},9,[97,475,432],{"class":333},[97,477,478],{"class":435},"environnement",[97,480,340],{"class":333},[97,482,343],{"class":326},[97,484,347],{"class":346},[97,486,487],{"class":350},"recette",[97,489,340],{"class":346},[97,491,356],{"class":326},[97,493,495,497,500,502,504,506,509,511],{"class":322,"line":494},10,[97,496,432],{"class":333},[97,498,499],{"class":435},"sens_transmission",[97,501,340],{"class":333},[97,503,343],{"class":326},[97,505,347],{"class":346},[97,507,508],{"class":350},"EMETTEUR_VERS_ERP",[97,510,340],{"class":346},[97,512,356],{"class":326},[97,514,516,518,521,523,525,527,530,532],{"class":322,"line":515},11,[97,517,432],{"class":333},[97,519,520],{"class":435},"type_flux",[97,522,340],{"class":333},[97,524,343],{"class":326},[97,526,347],{"class":346},[97,528,529],{"class":350},"IMPORT_DOSSIERS",[97,531,340],{"class":346},[97,533,356],{"class":326},[97,535,537,539,542,544,546],{"class":322,"line":536},12,[97,538,432],{"class":333},[97,540,541],{"class":435},"emetteur",[97,543,340],{"class":333},[97,545,343],{"class":326},[97,547,389],{"class":326},[97,549,551,554,558,560,562,564,567,569],{"class":322,"line":550},13,[97,552,553],{"class":333},"        \"",[97,555,557],{"class":556},"swQdS","type",[97,559,340],{"class":333},[97,561,343],{"class":326},[97,563,347],{"class":346},[97,565,566],{"class":350},"PRESTATAIRE",[97,568,340],{"class":346},[97,570,356],{"class":326},[97,572,574,576,578,580,582,584,587,589],{"class":322,"line":573},14,[97,575,553],{"class":333},[97,577,14],{"class":556},[97,579,340],{"class":333},[97,581,343],{"class":326},[97,583,347],{"class":346},[97,585,586],{"class":350},"RAYDOCS",[97,588,340],{"class":346},[97,590,356],{"class":326},[97,592,594,596,599,601,603,605,608],{"class":322,"line":593},15,[97,595,553],{"class":333},[97,597,598],{"class":556},"nom",[97,600,340],{"class":333},[97,602,343],{"class":326},[97,604,347],{"class":346},[97,606,607],{"class":350},"Raydocs",[97,609,610],{"class":346},"\"\n",[97,612,614],{"class":322,"line":613},16,[97,615,616],{"class":326},"      },\n",[97,618,620,622,625,627,629],{"class":322,"line":619},17,[97,621,432],{"class":333},[97,623,624],{"class":435},"destinataire",[97,626,340],{"class":333},[97,628,343],{"class":326},[97,630,389],{"class":326},[97,632,634,636,638,640,642,644,647,649],{"class":322,"line":633},18,[97,635,553],{"class":333},[97,637,557],{"class":556},[97,639,340],{"class":333},[97,641,343],{"class":326},[97,643,347],{"class":346},[97,645,646],{"class":350},"ERP",[97,648,340],{"class":346},[97,650,356],{"class":326},[97,652,654,656,658,660,662,664,667,669],{"class":322,"line":653},19,[97,655,553],{"class":333},[97,657,14],{"class":556},[97,659,340],{"class":333},[97,661,343],{"class":326},[97,663,347],{"class":346},[97,665,666],{"class":350},"ETUDE_DUPONT",[97,668,340],{"class":346},[97,670,356],{"class":326},[97,672,674,676,678,680,682,684,687,689],{"class":322,"line":673},20,[97,675,553],{"class":333},[97,677,598],{"class":556},[97,679,340],{"class":333},[97,681,343],{"class":326},[97,683,347],{"class":346},[97,685,686],{"class":350},"SCP Dupont",[97,688,340],{"class":346},[97,690,356],{"class":326},[97,692,694,696,699,701,703,705,708],{"class":322,"line":693},21,[97,695,553],{"class":333},[97,697,698],{"class":556},"logiciel",[97,700,340],{"class":333},[97,702,343],{"class":326},[97,704,347],{"class":346},[97,706,707],{"class":350},"LOGICIEL_METIER",[97,709,610],{"class":346},[97,711,713],{"class":322,"line":712},22,[97,714,715],{"class":326},"      }\n",[97,717,719],{"class":322,"line":718},23,[97,720,721],{"class":326},"    },\n",[97,723,725,727,730,732,734],{"class":322,"line":724},24,[97,726,395],{"class":333},[97,728,729],{"class":398},"service_destinataire",[97,731,340],{"class":333},[97,733,343],{"class":326},[97,735,389],{"class":326},[97,737,739,741,743,745,747,749,752,754],{"class":322,"line":738},25,[97,740,432],{"class":333},[97,742,14],{"class":435},[97,744,340],{"class":333},[97,746,343],{"class":326},[97,748,347],{"class":346},[97,750,751],{"class":350},"SVC-CONTENTIEUX",[97,753,340],{"class":346},[97,755,356],{"class":326},[97,757,759,761,764,766,768,770,773],{"class":322,"line":758},26,[97,760,432],{"class":333},[97,762,763],{"class":435},"libelle",[97,765,340],{"class":333},[97,767,343],{"class":326},[97,769,347],{"class":346},[97,771,772],{"class":350},"Contentieux",[97,774,610],{"class":346},[97,776,778],{"class":322,"line":777},27,[97,779,721],{"class":326},[97,781,783,785,788,790,792],{"class":322,"line":782},28,[97,784,395],{"class":333},[97,786,787],{"class":398},"dossiers",[97,789,340],{"class":333},[97,791,343],{"class":326},[97,793,794],{"class":326}," [\n",[97,796,798],{"class":322,"line":797},29,[97,799,800],{"class":326},"      {\n",[97,802,804,806,809,811,813,815,818,820],{"class":322,"line":803},30,[97,805,553],{"class":333},[97,807,808],{"class":435},"reference_client",[97,810,340],{"class":333},[97,812,343],{"class":326},[97,814,347],{"class":346},[97,816,817],{"class":350},"CLI-12345",[97,819,340],{"class":346},[97,821,356],{"class":326},[97,823,825,827,830,832,834,837],{"class":322,"line":824},31,[97,826,553],{"class":333},[97,828,829],{"class":435},"reference_dossier_destinataire",[97,831,340],{"class":333},[97,833,343],{"class":326},[97,835,836],{"class":333}," null",[97,838,356],{"class":326},[97,840,842,844,847,849,851],{"class":322,"line":841},32,[97,843,553],{"class":333},[97,845,846],{"class":435},"references_externes",[97,848,340],{"class":333},[97,850,343],{"class":326},[97,852,853],{"class":326}," [],\n",[97,855,857,859,862,864,866,868,871,873],{"class":322,"line":856},33,[97,858,553],{"class":333},[97,860,861],{"class":435},"nature_dossier",[97,863,340],{"class":333},[97,865,343],{"class":326},[97,867,347],{"class":346},[97,869,870],{"class":350},"INJONCTION_DE_PAYER",[97,872,340],{"class":346},[97,874,356],{"class":326},[97,876,878,880,883,885,887,889,892,894],{"class":322,"line":877},34,[97,879,553],{"class":333},[97,881,882],{"class":435},"libelle_nature_dossier",[97,884,340],{"class":333},[97,886,343],{"class":326},[97,888,347],{"class":346},[97,890,891],{"class":350},"Injonction de payer",[97,893,340],{"class":346},[97,895,356],{"class":326},[97,897,899,901,904,906,908,910],{"class":322,"line":898},35,[97,900,553],{"class":333},[97,902,903],{"class":435},"code_nature_dossier_externe",[97,905,340],{"class":333},[97,907,343],{"class":326},[97,909,836],{"class":333},[97,911,356],{"class":326},[97,913,915,917,920,922,924,926],{"class":322,"line":914},36,[97,916,553],{"class":333},[97,918,919],{"class":435},"source_code_nature_dossier",[97,921,340],{"class":333},[97,923,343],{"class":326},[97,925,836],{"class":333},[97,927,356],{"class":326},[97,929,931,933,936,938,940],{"class":322,"line":930},37,[97,932,553],{"class":333},[97,934,935],{"class":435},"evenements",[97,937,340],{"class":333},[97,939,343],{"class":326},[97,941,794],{"class":326},[97,943,945],{"class":322,"line":944},38,[97,946,947],{"class":326},"          {\n",[97,949,951,954,957,959,961,963,966,968],{"class":322,"line":950},39,[97,952,953],{"class":333},"            \"",[97,955,956],{"class":556},"code_evenement",[97,958,340],{"class":333},[97,960,343],{"class":326},[97,962,347],{"class":346},[97,964,965],{"class":350},"OUVERTURE_DOSSIER",[97,967,340],{"class":346},[97,969,356],{"class":326},[97,971,973,975,978,980,982,984,987,989],{"class":322,"line":972},40,[97,974,953],{"class":333},[97,976,977],{"class":556},"date_effet",[97,979,340],{"class":333},[97,981,343],{"class":326},[97,983,347],{"class":346},[97,985,986],{"class":350},"2026-05-20",[97,988,340],{"class":346},[97,990,356],{"class":326},[97,992,994,996,998,1000,1002,1004,1007],{"class":322,"line":993},41,[97,995,953],{"class":333},[97,997,763],{"class":556},[97,999,340],{"class":333},[97,1001,343],{"class":326},[97,1003,347],{"class":346},[97,1005,1006],{"class":350},"Ouverture dossier",[97,1008,610],{"class":346},[97,1010,1012],{"class":322,"line":1011},42,[97,1013,1014],{"class":326},"          }\n",[97,1016,1018],{"class":322,"line":1017},43,[97,1019,1020],{"class":326},"        ],\n",[97,1022,1024,1026,1029,1031,1033],{"class":322,"line":1023},44,[97,1025,553],{"class":333},[97,1027,1028],{"class":435},"pieces_jointes",[97,1030,340],{"class":333},[97,1032,343],{"class":326},[97,1034,794],{"class":326},[97,1036,1038],{"class":322,"line":1037},45,[97,1039,947],{"class":326},[97,1041,1043,1045,1048,1050,1052,1054,1057,1059],{"class":322,"line":1042},46,[97,1044,953],{"class":333},[97,1046,1047],{"class":556},"reference_piece",[97,1049,340],{"class":333},[97,1051,343],{"class":326},[97,1053,347],{"class":346},[97,1055,1056],{"class":350},"DECISION-01",[97,1058,340],{"class":346},[97,1060,356],{"class":326},[97,1062,1064,1066,1068,1070,1072,1074,1077,1079],{"class":322,"line":1063},47,[97,1065,953],{"class":333},[97,1067,598],{"class":556},[97,1069,340],{"class":333},[97,1071,343],{"class":326},[97,1073,347],{"class":346},[97,1075,1076],{"class":350},"Décision judiciaire fictive",[97,1078,340],{"class":346},[97,1080,356],{"class":326},[97,1082,1084,1086,1089,1091,1093,1095,1098,1100],{"class":322,"line":1083},48,[97,1085,953],{"class":333},[97,1087,1088],{"class":556},"chemin",[97,1090,340],{"class":333},[97,1092,343],{"class":326},[97,1094,347],{"class":346},[97,1096,1097],{"class":350},"pieces\u002Fdecision.pdf",[97,1099,340],{"class":346},[97,1101,356],{"class":326},[97,1103,1105,1107,1109,1111,1113,1115,1118,1120],{"class":322,"line":1104},49,[97,1106,953],{"class":333},[97,1108,557],{"class":556},[97,1110,340],{"class":333},[97,1112,343],{"class":326},[97,1114,347],{"class":346},[97,1116,1117],{"class":350},"PDF",[97,1119,340],{"class":346},[97,1121,356],{"class":326},[97,1123,1125,1127,1130,1132,1134,1136,1139,1141],{"class":322,"line":1124},50,[97,1126,953],{"class":333},[97,1128,1129],{"class":556},"file_id",[97,1131,340],{"class":333},[97,1133,343],{"class":326},[97,1135,347],{"class":346},[97,1137,1138],{"class":350},"5ef9bd1f-25d5-4ff2-a2c4-a31039aae174",[97,1140,340],{"class":346},[97,1142,356],{"class":326},[97,1144,1146,1148,1150,1152,1154,1156,1159,1161],{"class":322,"line":1145},51,[97,1147,953],{"class":333},[97,1149,157],{"class":556},[97,1151,340],{"class":333},[97,1153,343],{"class":326},[97,1155,347],{"class":346},[97,1157,1158],{"class":350},"https:\u002F\u002Fapi.raydocs.com\u002Fexemple\u002Fdownload?expires=1779267000&signature=SIGNATURE_FICTIVE",[97,1160,340],{"class":346},[97,1162,356],{"class":326},[97,1164,1166,1168,1171,1173,1175,1177,1180],{"class":322,"line":1165},52,[97,1167,953],{"class":333},[97,1169,1170],{"class":556},"download_url_expires_at",[97,1172,340],{"class":333},[97,1174,343],{"class":326},[97,1176,347],{"class":346},[97,1178,1179],{"class":350},"2026-05-20T08:50:00Z",[97,1181,610],{"class":346},[97,1183,1185],{"class":322,"line":1184},53,[97,1186,1014],{"class":326},[97,1188,1190],{"class":322,"line":1189},54,[97,1191,1192],{"class":326},"        ]\n",[97,1194,1196],{"class":322,"line":1195},55,[97,1197,715],{"class":326},[97,1199,1201],{"class":322,"line":1200},56,[97,1202,1203],{"class":326},"    ]\n",[97,1205,1207],{"class":322,"line":1206},57,[97,1208,1209],{"class":326},"  }\n",[97,1211,1213],{"class":322,"line":1212},58,[97,1214,1215],{"class":326},"}\n",[10,1217,1218,1219,1221,1222,281,1224,68,1226,1228,1229,1232],{},"Raydocs conserve le résultat métier complet dans ",[14,1220,229],{},". En succès, les pièces exposent ",[14,1223,1129],{},[14,1225,157],{},[14,1227,1170],{},". Les URL sont signées ",[33,1230,1231],{},"juste avant chaque tentative d’envoi",", sans que Raydocs télécharge les octets des fichiers pour les générer. Deux livraisons du même résultat peuvent donc contenir des liens différents.",[25,1234,1236],{"id":1235},"exemple-déchec","Exemple d’échec",[312,1238,1240],{"className":314,"code":1239,"language":316,"meta":317,"style":317},"{\n  \"run_id\": \"dc817ceb-bcf4-4ae4-8a1c-596b885ed036\",\n  \"status\": \"failed\",\n  \"output\": {\n    \"status\": \"failed\",\n    \"error\": {\n      \"code\": \"CHILD_WORKFLOW_FAILED\",\n      \"message\": \"Le sous-workflow n'a pas pu finaliser le dossier.\"\n    }\n  }\n}\n",[14,1241,1242,1246,1264,1282,1294,1312,1325,1344,1362,1367,1371],{"__ignoreMap":317},[97,1243,1244],{"class":322,"line":323},[97,1245,327],{"class":326},[97,1247,1248,1250,1252,1254,1256,1258,1260,1262],{"class":322,"line":330},[97,1249,334],{"class":333},[97,1251,81],{"class":337},[97,1253,340],{"class":333},[97,1255,343],{"class":326},[97,1257,347],{"class":346},[97,1259,351],{"class":350},[97,1261,340],{"class":346},[97,1263,356],{"class":326},[97,1265,1266,1268,1270,1272,1274,1276,1278,1280],{"class":322,"line":359},[97,1267,334],{"class":333},[97,1269,212],{"class":337},[97,1271,340],{"class":333},[97,1273,343],{"class":326},[97,1275,347],{"class":346},[97,1277,221],{"class":350},[97,1279,340],{"class":346},[97,1281,356],{"class":326},[97,1283,1284,1286,1288,1290,1292],{"class":322,"line":378},[97,1285,334],{"class":333},[97,1287,229],{"class":337},[97,1289,340],{"class":333},[97,1291,343],{"class":326},[97,1293,389],{"class":326},[97,1295,1296,1298,1300,1302,1304,1306,1308,1310],{"class":322,"line":392},[97,1297,395],{"class":333},[97,1299,212],{"class":398},[97,1301,340],{"class":333},[97,1303,343],{"class":326},[97,1305,347],{"class":346},[97,1307,221],{"class":350},[97,1309,340],{"class":346},[97,1311,356],{"class":326},[97,1313,1314,1316,1319,1321,1323],{"class":322,"line":415},[97,1315,395],{"class":333},[97,1317,1318],{"class":398},"error",[97,1320,340],{"class":333},[97,1322,343],{"class":326},[97,1324,389],{"class":326},[97,1326,1327,1329,1331,1333,1335,1337,1340,1342],{"class":322,"line":429},[97,1328,432],{"class":333},[97,1330,14],{"class":435},[97,1332,340],{"class":333},[97,1334,343],{"class":326},[97,1336,347],{"class":346},[97,1338,1339],{"class":350},"CHILD_WORKFLOW_FAILED",[97,1341,340],{"class":346},[97,1343,356],{"class":326},[97,1345,1346,1348,1351,1353,1355,1357,1360],{"class":322,"line":452},[97,1347,432],{"class":333},[97,1349,1350],{"class":435},"message",[97,1352,340],{"class":333},[97,1354,343],{"class":326},[97,1356,347],{"class":346},[97,1358,1359],{"class":350},"Le sous-workflow n'a pas pu finaliser le dossier.",[97,1361,610],{"class":346},[97,1363,1364],{"class":322,"line":473},[97,1365,1366],{"class":326},"    }\n",[97,1368,1369],{"class":322,"line":494},[97,1370,1209],{"class":326},[97,1372,1373],{"class":322,"line":515},[97,1374,1215],{"class":326},[10,1376,1377,1378,1381,1382,1384,1385,141],{},"Le code et le message correspondent à l’erreur publique du run. Les erreurs publiques remontées par un sous-workflow sont notifiées au niveau parent. Les diagnostics techniques internes sont masqués par le code ",[14,1379,1380],{},"WORKFLOW_RUN_FAILED"," et un message générique. Un échec ne fournit pas de lot métier à importer ; conservez le ",[14,1383,81],{}," et l’erreur pour le diagnostic. Voir les ",[19,1386,1388],{"href":1387},"\u002Fintegration\u002Fbonnes-pratiques#erreurs-metier","erreurs métier",[25,1390,1392],{"id":1391},"recevoir-et-dédupliquer","Recevoir et dédupliquer",[10,1394,1395,1396,1400,1401,1404],{},"Répondez rapidement avec un statut HTTP ",[33,1397,1398],{},[14,1399,133],{},", puis traitez le résultat. Aucun format n’est imposé au corps de cet accusé de réception ; une réponse ",[14,1402,1403],{},"204"," sans corps convient. Le récepteur doit d’abord enregistrer durablement la notification, pour éviter de perdre une demande après l’avoir acquittée.",[101,1406,1408],{"id":1407},"nouvelles-tentatives","Nouvelles tentatives",[10,1410,1411],{},"Lorsque la notification est configurée, Raydocs prévoit les tentatives de livraison suivantes :",[174,1413,1414,1424],{},[177,1415,1416],{},[180,1417,1418,1421],{},[183,1419,1420],{},"Paramètre",[183,1422,1423],{},"Valeur",[190,1425,1426,1437,1447,1457],{},[180,1427,1428,1431],{},[195,1429,1430],{},"Nombre maximal d’envois",[195,1432,1433,1436],{},[33,1434,1435],{},"3 tentatives au total",", soit l’envoi initial et jusqu’à 2 nouvelles tentatives.",[180,1438,1439,1442],{},[195,1440,1441],{},"Timeout par tentative",[195,1443,1444,141],{},[33,1445,1446],{},"15 secondes",[180,1448,1449,1452],{},[195,1450,1451],{},"Attente entre deux tentatives",[195,1453,1454,141],{},[33,1455,1456],{},"1 seconde",[180,1458,1459,1462],{},[195,1460,1461],{},"Accusé de réception attendu",[195,1463,1464,1465,141],{},"Un statut HTTP ",[33,1466,1467],{},[14,1468,133],{},[10,1470,1471,1472,1474,1475,1477],{},"Une réponse perdue ou trop lente peut conduire à recevoir plusieurs fois le même résultat. Dédupliquez sur ",[14,1473,81],{},", y compris si le résultat a aussi été récupéré par polling. Une notification déjà enregistrée doit également recevoir un ",[14,1476,133],{},". Les liens de téléchargement sont signés à nouveau juste avant chaque tentative.",[10,1479,1480,1481,1489],{},"Après un échec de livraison, le résultat et l’erreur d’origine restent disponibles : ",[19,1482,1484,1485,68,1487],{"href":1483},"\u002Fintegration\u002Fnotifications#reprendre-si-aucune-notification-narrive","reprenez via ",[14,1486,67],{},[14,1488,71],{},", sans relancer le traitement.",[101,1491,1493],{"id":1492},"exemple-de-récepteur","Exemple de récepteur",[10,1495,1496,1497,1500],{},"Exemple de réception en ",[33,1498,1499],{},"pseudocode JavaScript",", à adapter à votre serveur et à votre base de données. Les fonctions de signature, de validation et de stockage ci-dessous sont des fonctions de votre application, pas des API Raydocs :",[312,1502,1506],{"className":1503,"code":1504,"language":1505,"meta":317,"style":317},"language-javascript shiki shiki-themes material-theme-lighter github-light github-dark","async function recevoirNotification(req, res) {\n  \u002F\u002F Vérifie la signature et sa validité ; retrouve la demande du logiciel métier liée à l’URL.\n  const demande = await verifierUrlSigneeNotification(req.url);\n  if (!demande) return res.status(403).end();\n\n  const notification = req.body;\n  \u002F\u002F Vérifie run_id, status, output et la correspondance avec la demande.\n  if (!validerNotification(notification, demande)) {\n    return res.status(400).end();\n  }\n\n  try {\n    await base.transaction(async (tx) => {\n      \u002F\u002F Contrainte UNIQUE(run_id) en base, pas un Set en mémoire.\n      \u002F\u002F En cas de doublon : conserve le travail déjà en cours ou terminé.\n      \u002F\u002F Si encore en attente, peut rafraîchir ses liens depuis cette livraison.\n      await tx.enregistrerReceptionSiAbsente({\n        run_id: notification.run_id,\n        demande_id: demande.id,\n        status: notification.status,\n        output: notification.output,\n        etat: \"a_traiter\"\n      });\n    });\n  } catch {\n    \u002F\u002F Rien n’est acquitté sans stockage durable : autorise une nouvelle tentative.\n    return res.status(503).end();\n  }\n\n  return res.status(204).end();\n}\n","javascript",[14,1507,1508,1539,1545,1581,1624,1630,1649,1654,1679,1705,1709,1713,1720,1749,1754,1759,1764,1781,1796,1811,1826,1841,1855,1864,1873,1883,1888,1913,1917,1921,1946],{"__ignoreMap":317},[97,1509,1510,1514,1517,1521,1524,1528,1531,1534,1537],{"class":322,"line":323},[97,1511,1513],{"class":1512},"sbsja","async",[97,1515,1516],{"class":1512}," function",[97,1518,1520],{"class":1519},"sGLFI"," recevoirNotification",[97,1522,1523],{"class":326},"(",[97,1525,1527],{"class":1526},"s99_P","req",[97,1529,1530],{"class":326},",",[97,1532,1533],{"class":1526}," res",[97,1535,1536],{"class":326},")",[97,1538,389],{"class":326},[97,1540,1541],{"class":322,"line":330},[97,1542,1544],{"class":1543},"sutJx","  \u002F\u002F Vérifie la signature et sa validité ; retrouve la demande du logiciel métier liée à l’URL.\n",[97,1546,1547,1550,1554,1558,1562,1565,1568,1571,1573,1576,1578],{"class":322,"line":359},[97,1548,1549],{"class":1512},"  const",[97,1551,1553],{"class":1552},"s_hVV"," demande",[97,1555,1557],{"class":1556},"smGrS"," =",[97,1559,1561],{"class":1560},"sVHd0"," await",[97,1563,1564],{"class":1519}," verifierUrlSigneeNotification",[97,1566,1523],{"class":1567},"skxfh",[97,1569,1527],{"class":1570},"su5hD",[97,1572,141],{"class":326},[97,1574,1575],{"class":1570},"url",[97,1577,1536],{"class":1567},[97,1579,1580],{"class":326},";\n",[97,1582,1583,1586,1589,1592,1595,1598,1601,1603,1605,1607,1609,1612,1614,1616,1619,1622],{"class":322,"line":378},[97,1584,1585],{"class":1560},"  if",[97,1587,1588],{"class":1567}," (",[97,1590,1591],{"class":1556},"!",[97,1593,1594],{"class":1570},"demande",[97,1596,1597],{"class":1567},") ",[97,1599,1600],{"class":1560},"return",[97,1602,1533],{"class":1570},[97,1604,141],{"class":326},[97,1606,212],{"class":1519},[97,1608,1523],{"class":1567},[97,1610,1611],{"class":435},"403",[97,1613,1536],{"class":1567},[97,1615,141],{"class":326},[97,1617,1618],{"class":1519},"end",[97,1620,1621],{"class":1567},"()",[97,1623,1580],{"class":326},[97,1625,1626],{"class":322,"line":392},[97,1627,1629],{"emptyLinePlaceholder":1628},true,"\n",[97,1631,1632,1634,1637,1639,1642,1644,1647],{"class":322,"line":415},[97,1633,1549],{"class":1512},[97,1635,1636],{"class":1552}," notification",[97,1638,1557],{"class":1556},[97,1640,1641],{"class":1570}," req",[97,1643,141],{"class":326},[97,1645,1646],{"class":1570},"body",[97,1648,1580],{"class":326},[97,1650,1651],{"class":322,"line":429},[97,1652,1653],{"class":1543},"  \u002F\u002F Vérifie run_id, status, output et la correspondance avec la demande.\n",[97,1655,1656,1658,1660,1662,1665,1667,1670,1672,1674,1677],{"class":322,"line":452},[97,1657,1585],{"class":1560},[97,1659,1588],{"class":1567},[97,1661,1591],{"class":1556},[97,1663,1664],{"class":1519},"validerNotification",[97,1666,1523],{"class":1567},[97,1668,1669],{"class":1570},"notification",[97,1671,1530],{"class":326},[97,1673,1553],{"class":1570},[97,1675,1676],{"class":1567},")) ",[97,1678,327],{"class":326},[97,1680,1681,1684,1686,1688,1690,1692,1695,1697,1699,1701,1703],{"class":322,"line":473},[97,1682,1683],{"class":1560},"    return",[97,1685,1533],{"class":1570},[97,1687,141],{"class":326},[97,1689,212],{"class":1519},[97,1691,1523],{"class":1567},[97,1693,1694],{"class":435},"400",[97,1696,1536],{"class":1567},[97,1698,141],{"class":326},[97,1700,1618],{"class":1519},[97,1702,1621],{"class":1567},[97,1704,1580],{"class":326},[97,1706,1707],{"class":322,"line":494},[97,1708,1209],{"class":326},[97,1710,1711],{"class":322,"line":515},[97,1712,1629],{"emptyLinePlaceholder":1628},[97,1714,1715,1718],{"class":322,"line":536},[97,1716,1717],{"class":1560},"  try",[97,1719,389],{"class":326},[97,1721,1722,1725,1728,1730,1733,1735,1737,1739,1742,1744,1747],{"class":322,"line":550},[97,1723,1724],{"class":1560},"    await",[97,1726,1727],{"class":1570}," base",[97,1729,141],{"class":326},[97,1731,1732],{"class":1519},"transaction",[97,1734,1523],{"class":1567},[97,1736,1513],{"class":1512},[97,1738,1588],{"class":326},[97,1740,1741],{"class":1526},"tx",[97,1743,1536],{"class":326},[97,1745,1746],{"class":1512}," =>",[97,1748,389],{"class":326},[97,1750,1751],{"class":322,"line":573},[97,1752,1753],{"class":1543},"      \u002F\u002F Contrainte UNIQUE(run_id) en base, pas un Set en mémoire.\n",[97,1755,1756],{"class":322,"line":593},[97,1757,1758],{"class":1543},"      \u002F\u002F En cas de doublon : conserve le travail déjà en cours ou terminé.\n",[97,1760,1761],{"class":322,"line":613},[97,1762,1763],{"class":1543},"      \u002F\u002F Si encore en attente, peut rafraîchir ses liens depuis cette livraison.\n",[97,1765,1766,1769,1772,1774,1777,1779],{"class":322,"line":619},[97,1767,1768],{"class":1560},"      await",[97,1770,1771],{"class":1570}," tx",[97,1773,141],{"class":326},[97,1775,1776],{"class":1519},"enregistrerReceptionSiAbsente",[97,1778,1523],{"class":1567},[97,1780,327],{"class":326},[97,1782,1783,1786,1788,1790,1792,1794],{"class":322,"line":633},[97,1784,1785],{"class":1567},"        run_id",[97,1787,343],{"class":326},[97,1789,1636],{"class":1570},[97,1791,141],{"class":326},[97,1793,81],{"class":1570},[97,1795,356],{"class":326},[97,1797,1798,1801,1803,1805,1807,1809],{"class":322,"line":653},[97,1799,1800],{"class":1567},"        demande_id",[97,1802,343],{"class":326},[97,1804,1553],{"class":1570},[97,1806,141],{"class":326},[97,1808,204],{"class":1570},[97,1810,356],{"class":326},[97,1812,1813,1816,1818,1820,1822,1824],{"class":322,"line":673},[97,1814,1815],{"class":1567},"        status",[97,1817,343],{"class":326},[97,1819,1636],{"class":1570},[97,1821,141],{"class":326},[97,1823,212],{"class":1570},[97,1825,356],{"class":326},[97,1827,1828,1831,1833,1835,1837,1839],{"class":322,"line":693},[97,1829,1830],{"class":1567},"        output",[97,1832,343],{"class":326},[97,1834,1636],{"class":1570},[97,1836,141],{"class":326},[97,1838,229],{"class":1570},[97,1840,356],{"class":326},[97,1842,1843,1846,1848,1850,1853],{"class":322,"line":712},[97,1844,1845],{"class":1567},"        etat",[97,1847,343],{"class":326},[97,1849,347],{"class":346},[97,1851,1852],{"class":350},"a_traiter",[97,1854,610],{"class":346},[97,1856,1857,1860,1862],{"class":322,"line":718},[97,1858,1859],{"class":326},"      }",[97,1861,1536],{"class":1567},[97,1863,1580],{"class":326},[97,1865,1866,1869,1871],{"class":322,"line":724},[97,1867,1868],{"class":326},"    }",[97,1870,1536],{"class":1567},[97,1872,1580],{"class":326},[97,1874,1875,1878,1881],{"class":322,"line":738},[97,1876,1877],{"class":326},"  }",[97,1879,1880],{"class":1560}," catch",[97,1882,389],{"class":326},[97,1884,1885],{"class":322,"line":758},[97,1886,1887],{"class":1543},"    \u002F\u002F Rien n’est acquitté sans stockage durable : autorise une nouvelle tentative.\n",[97,1889,1890,1892,1894,1896,1898,1900,1903,1905,1907,1909,1911],{"class":322,"line":777},[97,1891,1683],{"class":1560},[97,1893,1533],{"class":1570},[97,1895,141],{"class":326},[97,1897,212],{"class":1519},[97,1899,1523],{"class":1567},[97,1901,1902],{"class":435},"503",[97,1904,1536],{"class":1567},[97,1906,141],{"class":326},[97,1908,1618],{"class":1519},[97,1910,1621],{"class":1567},[97,1912,1580],{"class":326},[97,1914,1915],{"class":322,"line":782},[97,1916,1209],{"class":326},[97,1918,1919],{"class":322,"line":797},[97,1920,1629],{"emptyLinePlaceholder":1628},[97,1922,1923,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944],{"class":322,"line":803},[97,1924,1925],{"class":1560},"  return",[97,1927,1533],{"class":1570},[97,1929,141],{"class":326},[97,1931,212],{"class":1519},[97,1933,1523],{"class":1567},[97,1935,1403],{"class":435},[97,1937,1536],{"class":1567},[97,1939,141],{"class":326},[97,1941,1618],{"class":1519},[97,1943,1621],{"class":1567},[97,1945,1580],{"class":326},[97,1947,1948],{"class":322,"line":824},[97,1949,1215],{"class":326},[10,1951,1952,1953,1955,1956,1958,1959,1961],{},"Un worker reprend ensuite les réceptions ",[14,1954,1852],{}," depuis cette base durable. Il réserve chaque travail de façon atomique, télécharge rapidement les pièces et effectue l’import de façon idempotente avec ",[14,1957,81],{},". Il marque le résultat comme traité seulement après réussite ; un échec doit rester reprenable, y compris après un redémarrage. Un résultat ",[14,1960,221],{}," sert à enregistrer l’erreur, sans import de dossier.",[10,1963,1964,1965,1967],{},"La contrainte unique empêche les réceptions simultanées de créer deux travaux. Elle ne suffit pas, à elle seule, à empêcher un double import après une interruption du worker : l’opération d’import doit elle aussi reconnaître le ",[14,1966,81],{}," déjà appliqué. Utilisez le même registre pour les résultats récupérés par polling.",[10,1969,1970,1971,1974,1975,1978],{},"Créez la demande et son URL signée avant l’envoi des fichiers, puis associez le ",[14,1972,1973],{},"RUN_ID"," retourné au ",[14,1976,1977],{},"202",". Si un callback arrive avant l’enregistrement de cette réponse, conservez-le en attente de rapprochement avec la demande ; ne rejetez pas définitivement ce résultat et ne l’importez pas avant vérification de la correspondance.",[25,1980,1982],{"id":1981},"télécharger-les-pièces-et-renouveler-un-lien","Télécharger les pièces et renouveler un lien",[10,1984,1985,1986,68,1989,1995,1996,1999],{},"Dès réception d’un succès, parcourez ",[14,1987,1988],{},"output.dossiers[].pieces_jointes[]",[19,1990,1992,1993],{"href":1991},"\u002Fintegration\u002Frecuperer-le-resultat#t%C3%A9l%C3%A9charger-directement-les-fichiers","téléchargez directement chaque pièce avec ",[14,1994,157],{},", sans token API Raydocs. Ces liens sont valides ",[33,1997,1998],{},"10 minutes"," après leur génération. Les redirections de téléchargement peuvent être suivies ; le refus des redirections concerne la destination de notification.",[10,2001,2002,2003,68,2005,2007,2008,2010,2011,2015,2016,2018],{},"Conservez ",[14,2004,81],{},[14,2006,1129],{}," comme références durables, ainsi que la référence métier ",[14,2009,1047],{},". Si un lien expire, ",[19,2012,2014],{"href":2013},"\u002Fintegration\u002Fobtenir-un-lien","demandez un nouveau lien via \u002Ffile",", ou relisez ",[19,2017,71],{"href":289},", sans relancer le traitement. Le renouvellement ne prolonge pas la conservation du fichier et ne restaure pas un fichier supprimé.",[25,2020,2022],{"id":2021},"reprendre-si-aucune-notification-narrive","Reprendre si aucune notification n’arrive",[10,2024,2025,2026,2028,2029,2031,2032,2034],{},"Une livraison échouée ne remplace ni le JSON métier ni l’erreur initiale. Avec le ",[14,2027,1973],{}," conservé, consultez ",[19,2030,67],{"href":21},", puis ",[19,2033,71],{"href":289}," pour récupérer le résultat ou l’erreur. Prévoyez cette reprise même lorsque la notification est activée ; aucune durée maximale de traitement n’est garantie par les délais de livraison ci-dessus.",[10,2036,2037,2038,2041,2042,2045,2046,2049,2050,2053],{},"Une requête rejetée ",[33,2039,2040],{},"avant la création d’un run",", par exemple HTTP ",[14,2043,2044],{},"422",", n’a pas de callback. Corrigez la requête d’envoi. Aucune notification n’est garantie pour une ",[33,2047,2048],{},"annulation manuelle"," : le statut ",[14,2051,2052],{},"cancelled"," se constate via l’API de suivi.",[10,2055,2056,2057,2061,2062,141],{},"Retrouvez le ",[19,2058,2060],{"href":2059},"\u002Fintegration\u002Fintroduction","parcours d’intégration complet"," et les ",[19,2063,2065],{"href":2064},"\u002Fintegration\u002Fbonnes-pratiques","bonnes pratiques de reprise",[2067,2068,2069],"style",{},"html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sseR_, html code.shiki .sseR_{--shiki-light:#9C3EDA;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .swQdS, html code.shiki .swQdS{--shiki-light:#E53935;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":317,"searchDepth":330,"depth":330,"links":2071},[2072,2073,2076,2077,2078,2079,2083,2084],{"id":27,"depth":330,"text":28},{"id":85,"depth":330,"text":86,"children":2074},[2075],{"id":103,"depth":359,"text":104},{"id":161,"depth":330,"text":162},{"id":294,"depth":330,"text":295},{"id":1235,"depth":330,"text":1236},{"id":1391,"depth":330,"text":1392,"children":2080},[2081,2082],{"id":1407,"depth":359,"text":1408},{"id":1492,"depth":359,"text":1493},{"id":1981,"depth":330,"text":1982},{"id":2021,"depth":330,"text":2022},"Recevoir le résultat par webhook, télécharger les pièces et reprendre en cas de livraison manquée.",null,"md",{},"\u002Fintegration\u002Fnotifications","Intégration au logiciel métier",{"title":5,"description":2085},"integration\u002Fnotifications","loyibdXyMrj4eGdQYG6a914FbhzV9cpxNr22vVOAE1w",1791469624792]