Impossible d'envoyer le fichier DPAE
Bonjour,
Cela fait plusieurs jours que j'essaie d'envoyer le fichier DPAE mais en vain.
Pour information, j'utilise le même SIRET qu'au niveau de l'enthentification.
J'arrive à récupérer le Token, mais au moment de l'envoi, j'ai les erreurs suivantes selon la taille du header content-length :
Sans cette en-tête : Erreur 415 Unsupported Media Type
: Erreur 413 Request Entity Too Large - B1 - 105 - 10 : Le format du fichier depot_mtom n'est pas reconnu
0 : Erreur 422 Unprocessable Entity - B1-105-10
La vrai taille du corps ou inférieur : Erreur 415 Unsupported Media
Valeur supérieur ou 4096 : Système reste bloqué en attendant la réponse du serveur --> Je pense c'est l'option qu'il faire faire
Voici ma requête utilisé dans l'outil Postman avec la valeur 4096 dans content-length comme dans l'exemple du guide d'implémentation :
POST /deposer-dsn/1.0/ HTTP/1.1
Host: DEPOT.DPAE-EDI.URSSAF.FR
Authorization: DSNLogin jeton=3I5w/Kp995jRlgyXJc4maNUJhEMk3+bcJHw4xUF8R2l5BuaaDzhcXkC6UDlFxBnUb/ywheXJM3mElzg/n54ha6g9Kj3gEZK2FQKO3NjJNOPlxjv77CEw0Ued01pNhnrNS1sNAQWfPzP1+e9OgboKnOhMj5V7RdeYYNU7Ctc4A1/P3nVo3HubwdrTsnQk4dv99LvCpKjYYEWkv/8cPJCmahojk3qsupzXmGbTq1OD2QlJpgdqAPjYsIXbiBrgrZFvSFf65285YUuza1CXCR1VD71jFziACvNNdewI47+Dtg4aPaQt4QIwVqMVEzHu2pLYhsqM6CmexD/Rflm/G5QjpZK7JEVLj11pc2nN00uhJ7M=
content-type: text/plain
Content-Encoding: gzip
content-length: 4096
<?xml version="1.0" encoding="ISO-8859-1"?>
<FR_DUE_Upload xsi:noNamespaceSchemaLocation="DUE_Upload.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rxphadr="http://www.repxml.org/PhoneAddress" xmlns:rxpers="http://www.repxml.org/Person_Identity" xmlns:rxpadr="http://www.repxml.org/PostalAddress" xmlns:rxorg="http://www.repxml.org/Organization" xmlns:rxdt="http://www.repxml.org/DataTypes" xmlns:cct="urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70">
<FR_DUE_Upload.Test.Indicator>1</FR_DUE_Upload.Test.Indicator>
<FR_DuesGroup>
<FR_Employer>
<FR_EmployerIdentity>
<rxorg:FR_Organization.SIRET.Identifier>55201530706397</rxorg:FR_Organization.SIRET.Identifier>
<rxorg:FR_Organization.Designation.Text>XXXX S.A.</rxorg:FR_Organization.Designation.Text>
<rxorg:FR_Organization.APE.Code>8430A</rxorg:FR_Organization.APE.Code>
</FR_EmployerIdentity>
<FR_Employer.URSSAF.Code>920</FR_Employer.URSSAF.Code>
<FR_EmployerAddress>
<rxpadr:FR_PostalAddress.StreetDesignation.Text>57 RUE HENRI BARBUSSE</rxpadr:FR_PostalAddress.StreetDesignation.Text>
<rxpadr:FR_PostalAddress.Town.Text>Paris</rxpadr:FR_PostalAddress.Town.Text>
<rxpadr:FR_PostalAddress.Postal.Code>75010</rxpadr:FR_PostalAddress.Postal.Code>
</FR_EmployerAddress>
<FR_EmployerContact>
<FR_PhoneNumber>
<rxphadr:FR_PhoneAddress.PhoneNumber.Text>0599999999</rxphadr:FR_PhoneAddress.PhoneNumber.Text>
</FR_PhoneNumber>
</FR_EmployerContact>
</FR_Employer>
<FR_EmployeeGroup>
<FR_Employee>
<FR_EmployeeIdentity>
<rxpers:FR_PersonIdentity.Surname.Text>TEST NOM DUE</rxpers:FR_PersonIdentity.Surname.Text>
<rxpers:FR_PersonIdentity.ChristianName.Text>TEST PRENOM DUE</rxpers:FR_PersonIdentity.ChristianName.Text>
<rxpers:FR_PersonIdentity.Sex.Code>M</rxpers:FR_PersonIdentity.Sex.Code>
<rxpers:FR_NNI>
<rxpers:FR_NNI.NIR.Identifier>18801753504</rxpers:FR_NNI.NIR.Identifier>
<rxpers:FR_NNI.NIRKey.Text>96</rxpers:FR_NNI.NIRKey.Text>
</rxpers:FR_NNI>
<rxpers:FR_Birth>
<rxpers:FR_Birth.Date>1988-01-08</rxpers:FR_Birth.Date>
<rxpers:FR_Birth.Town.Text>FRANCAISE</rxpers:FR_Birth.Town.Text>
</rxpers:FR_Birth>
</FR_EmployeeIdentity>
<FR_EmployeeComplement>
<FR_EmployeeComplement.Birth_Department.Code>75</FR_EmployeeComplement.Birth_Department.Code>
</FR_EmployeeComplement>
</FR_Employee>
<FR_Contract>
<FR_Contract.StartContract.Date>2020-10-01</FR_Contract.StartContract.Date>
<FR_Contract.StartContract.Time>09:00:00</FR_Contract.StartContract.Time>
<FR_Contract.Nature.Code>2</FR_Contract.Nature.Code>
<FR_Contract.HealthService.Text>MT175</FR_Contract.HealthService.Text>
<FR_Contract.TrialTime.Text>120</FR_Contract.TrialTime.Text>
</FR_Contract>
<FR_EmployeeGroup.Comment.Text>JE METS DU TEXTE ICI</FR_EmployeeGroup.Comment.Text>
</FR_EmployeeGroup>
</FR_DuesGroup>
</FR_DUE_Upload>
Je vous remercie d'avance pour votre aide précieuse.
Citation:
Envoyé par
moukrene
Je suis finalement parvenu à transmettre une DPAE au service DPAE EDI.
De mon coté, c'est la compression en gzip du contenu de ma requête qui manquait.
Mes headers :
Authorization: DSNLogin jeton = [jeton reçu du service d'authentification]
Content-Type: text/plain
Content-Encoding : gzip
Mon body est semblable au tien, mais :
<FR_DUE_Upload.Test.Indicator>1</FR_DUE_Upload.Test.Indicator> (requête test)
et les informations employeur et employés sont des données réelles, en particulier le n° SIRET est cohérent avec le n° transmis au service d'authentification.
A relire au sujet du retour 422 'unprocessable entity', peut-être ton souci est-il dû à tes données de test (n° SIRET à 99999999999999, j'imagine différent de celui utilisé pour l'auth) alors que tu valorises le flag de test à 120 (=PROD).
Login et jeton DPAE paramètres Postman
Pour le login et obtention du jeton :
Headers
Host:mon.urssaf.fr
Content-type:application/xml
et pour le Body en XML :
Code:
1 2 3 4 5 6 7
| <identifiants>
<siret>9999999999999</siret>
<nom>TEST</nom>
<prenom>ALBERT</prenom>
<motdepasse>XXXXXXXXX</motdepasse>
<service>25</service>
</identifiants> |
Citation:
Envoyé par
Plopalex
Bonjour,
J'essaye de d'intégrer l'API DPAE, je fais mes premiers tests sur postman pour commencer par m'authentifier, seulement chaque essai me retourne l'erreur 422.
J'ai lu la documentation de la DPAE et de la DSN sans succès.
Ma requête est exactement la même que celle ci, j'ai éliminé un problème sur les identifiants, ils ont été vérifiés sur le site de l'ursaaf. Je ne vois donc pas ce que ça peut être d'autre.
Pour information j'effactue la demande en déclarant donc service 25, lorsque je modifie le service à 98 (pour concentrateur) je retourne une erreur 401.
Je tourne en rond sur les quelques documentations que j'ai trouvé et sur ce forum(qui est le seul apparement à traiter de la DPAE).
Si quelqu'un à une idée.
Je vous remercie par avance.
Impossible d'envoyer le DPAE via l'API
Bonjour,
J'essaie d'envoyer une DPAE de test avec Postman sans succès.
Je reçois un code '422Unprocessable Entity' ,
Code:
1 2 3 4 5 6
| <envoi_anomalie>
<description>
<code>B1-105-10</code>
<message>Le format du fichier depot_mtom n'est pas reconnu.</message>
</description>
</envoi_anomalie> |
=> Sur le site http://net-entreprises.custhelp.com/...9v%E3%A8nement, cette erreur correspond au fait que l'indicateur du mode de traitement est mal renseigné.
Voici à quoi correspond ma requête envoyée:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| POST DEPOT.DPAE-EDI.URSSAF.FR/deposer-dsn/1.0
Authorization: DSNLogin jeton=monjeton
content-type: text/plain
Content-Encoding: gzip
<?xml version="1.0" encoding="ISO-8859-1"?>
<FR_DUE_Upload xsi:noNamespaceSchemaLocation="DUE_Upload.xsd" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rxphadr="http://www.repxml.org/PhoneAddress" xmlns:rxpers="http://www.repxml.org/Person_Identity" xmlns:rxpadr="http://www.repxml.org/PostalAddress" xmlns:rxorg="http://www.repxml.org/Organization" xmlns:rxdt="http://www.repxml.org/DataTypes" xmlns:cct="urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70">
<FR_DUE_Upload.Test.Indicator>1</FR_DUE_Upload.Test.Indicator>
<FR_DuesGroup>
<FR_Employer>
<FR_EmployerIdentity>
<rxorg:FR_Organization.SIRET.Identifier>55201530706397</rxorg:FR_Organization.SIRET.Identifier>
<rxorg:FR_Organization.Designation.Text>XXXX S.A.</rxorg:FR_Organization.Designation.Text>
<rxorg:FR_Organization.APE.Code>8430A</rxorg:FR_Organization.APE.Code>
</FR_EmployerIdentity>
<FR_Employer.URSSAF.Code>920</FR_Employer.URSSAF.Code>
<FR_EmployerAddress>
<rxpadr:FR_PostalAddress.StreetDesignation.Text>57 RUE HENRI BARBUSSE</rxpadr:FR_PostalAddress.StreetDesignation.Text>
<rxpadr:FR_PostalAddress.Town.Text>Paris</rxpadr:FR_PostalAddress.Town.Text>
<rxpadr:FR_PostalAddress.Postal.Code>75010</rxpadr:FR_PostalAddress.Postal.Code>
</FR_EmployerAddress>
<FR_EmployerContact>
<FR_PhoneNumber>
<rxphadr:FR_PhoneAddress.PhoneNumber.Text>0599999999</rxphadr:FR_PhoneAddress.PhoneNumber.Text>
</FR_PhoneNumber>
</FR_EmployerContact>
</FR_Employer>
<FR_EmployeeGroup>
<FR_Employee>
<FR_EmployeeIdentity>
<rxpers:FR_PersonIdentity.Surname.Text>TEST NOM DUE</rxpers:FR_PersonIdentity.Surname.Text>
<rxpers:FR_PersonIdentity.ChristianName.Text>TEST PRENOM DUE</rxpers:FR_PersonIdentity.ChristianName.Text>
<rxpers:FR_PersonIdentity.Sex.Code>M</rxpers:FR_PersonIdentity.Sex.Code>
<rxpers:FR_NNI>
<rxpers:FR_NNI.NIR.Identifier>18801753504</rxpers:FR_NNI.NIR.Identifier>
<rxpers:FR_NNI.NIRKey.Text>96</rxpers:FR_NNI.NIRKey.Text>
</rxpers:FR_NNI>
<rxpers:FR_Birth>
<rxpers:FR_Birth.Date>1988-01-08</rxpers:FR_Birth.Date>
<rxpers:FR_Birth.Town.Text>FRANCAISE</rxpers:FR_Birth.Town.Text>
</rxpers:FR_Birth>
</FR_EmployeeIdentity>
<FR_EmployeeComplement>
<FR_EmployeeComplement.Birth_Department.Code>75</FR_EmployeeComplement.Birth_Department.Code>
</FR_EmployeeComplement>
</FR_Employee>
<FR_Contract>
<FR_Contract.StartContract.Date>2020-10-01</FR_Contract.StartContract.Date>
<FR_Contract.StartContract.Time>09:00:00</FR_Contract.StartContract.Time>
<FR_Contract.Nature.Code>2</FR_Contract.Nature.Code>
<FR_Contract.HealthService.Text>MT175</FR_Contract.HealthService.Text>
<FR_Contract.TrialTime.Text>120</FR_Contract.TrialTime.Text>
</FR_Contract>
<FR_EmployeeGroup.Comment.Text>JE METS DU TEXTE ICI</FR_EmployeeGroup.Comment.Text>
</FR_EmployeeGroup>
</FR_DuesGroup>
</FR_DUE_Upload> |
Or, quand je remplace le corps de la requête par du contenu compressé (compression faite avec un outil gzi en ligne) comme c'est proposé sur ce fil de discussion, la requête ne passe pas non plus et je reçois en retour une erreur '404Not Found' (ressource non retrouvée).
Est-ce quelqu'un pour qui l'envoi d'une DPAE via l'API a fonctionné pourra poster un exemple de sa requête utilisée?
Merci d'avance pour votre aide
Dépôt DPAE API via Postman
J'ai finalement réussi à déclarer une DPAE via API depuis Postman.
1. Récupérer un jeton d'authentification via un POST sur https://mon.urssaf.fr/authentifier_dpae
Un seul header nécessaire : Content-Type = application/xml
Le body :
Code:
1 2 3 4 5 6 7
| <identifiants>
<siret>xxxxxxxxxx</siret>
<nom>xxxxxx</nom>
<prenom>xxxxxx</prenom>
<motdepasse>xxxxxxx</motdepasse>
<service>25</service>
</identifiants> |
Le SIRET, nom, prénom et mot de passe sont ceux du compte URSSAF du déclarant. Vous récupérez ainsi un jeton à utiliser pour les requêtes de dépôt.
2. Dépôt d'une DPAE via un POST sur https://depot.dpae-edi.urssaf.fr/deposer-dsn/1.0/
Headers :
- Authorization : DSNLogin jeton=jeton_récupérés_via_la_requête_précédente Attention à bien respecter les espaces.
- Content-Encoding : gzip Il faut forcer ce header qui n'est pas proposé par Postman
Body :
Construisez d'abord votre body XML à partir de celui proposé par la documentation de l'URSSAF. Pensez bien à spécifier que c'est un dépôt test en indiquant "1" (au lieu de 120 pour la prod) ici :
Code:
<FR_DUE_Upload.Test.Indicator>1</FR_DUE_Upload.Test.Indicator>
Enregistrez le dans un fichier .txt (via un notepad par exemple).
Convertissez le au format GZIP via un outil comme 7ZIP. Il faut "l'ajouter à l'archive" et sélectionner l'extension "GZIP".
Dans Postman, sélectionnez le format "binary" pour votre body et sélectionnez le fichier .gzip.
Il ne vous reste plus qu'à envoyer la requête, et vous devriez recevoir une 200.
En espérant avoir pu vous aider.