Partage
  • Partager sur Facebook
  • Partager sur Twitter

API DPAE URSSAF

Problème de dépôt DPAE

Sujet résolu
30 septembre 2022 à 11:21:15

Bonjour,

Je suis en train de mettre en place le dépôt de DPAE à l'URSSAF par API en tant que concentrateur.
J'arrive à m'identifier et à obtenir un jeton d'authentification. Mais je n'arrive pas à effectuer un dépôt de test. J'obtiens l'erreur 401 Unauthorized, ce que je ne comprends pas car j'utilise bien le bon jeton (bearer token).
J'effectue mes tests sur Postman.

Ma requête est la suivante :


<?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>12345678912345</rxorg:FR_Organization.SIRET.Identifier>
                <rxorg:FR_Organization.Designation.Text>RAISON SOCIALE</rxorg:FR_Organization.Designation.Text>
                <rxorg:FR_Organization.SupplementaryDesignation.Text>RAISON SOCIALE SUITE</rxorg:FR_Organization.SupplementaryDesignation.Text>
                <rxorg:FR_Organization.APE.Code>8840B</rxorg:FR_Organization.APE.Code>
            </FR_EmployerIdentity>
            <FR_Employer.URSSAF.Code>294</FR_Employer.URSSAF.Code>
            <FR_EmployerAddress>
                <rxpadr:FR_PostalAddress.StreetDesignation.Text>ADRESSE 1</rxpadr:FR_PostalAddress.StreetDesignation.Text>
                <rxpadr:FR_PostalAddress.Additional.Text>ADRESSE 2</rxpadr:FR_PostalAddress.Additional.Text>
                <rxpadr:FR_PostalAddress.Town.Text>BREST</rxpadr:FR_PostalAddress.Town.Text>
                <rxpadr:FR_PostalAddress.Postal.Code>29000</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>Bertrand</rxpers:FR_PersonIdentity.Surname.Text>
                    <rxpers:FR_PersonIdentity.ChristianName.Text>Nicolas</rxpers:FR_PersonIdentity.ChristianName.Text>
                    <rxpers:FR_PersonIdentity.Sex.Code>1</rxpers:FR_PersonIdentity.Sex.Code>
                    <rxpers:FR_NNI>
                        <rxpers:FR_NNI.NIR.Identifier>1820175238221</rxpers:FR_NNI.NIR.Identifier>
                    </rxpers:FR_NNI>
                    <rxpers:FR_Birth>
                        <rxpers:FR_Birth.Date>1982-01-23</rxpers:FR_Birth.Date>
                        <rxpers:FR_Birth.Town.Text>PARIS</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>2021-12-10</FR_Contract.StartContract.Date>
                <FR_Contract.StartContract.Time>09:00:00</FR_Contract.StartContract.Time>
                <FR_Contract.EndContract.Date>2011-12-31</FR_Contract.EndContract.Date>
                <FR_Contract.Nature.Code>CDI</FR_Contract.Nature.Code>
                <FR_Contract.HealthService.Text>086</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_EmployeeGroup>
            <FR_Employee>
                <FR_EmployeeIdentity>
                    <rxpers:FR_PersonIdentity.Surname.Text>DUPONT</rxpers:FR_PersonIdentity.Surname.Text>
                    <rxpers:FR_PersonIdentity.ChristianName.Text>Pierre</rxpers:FR_PersonIdentity.ChristianName.Text>
                    <rxpers:FR_PersonIdentity.Sex.Code>1</rxpers:FR_PersonIdentity.Sex.Code>
                    <rxpers:FR_NNI>
                        <rxpers:FR_NNI.NIR.Identifier>1800475238221</rxpers:FR_NNI.NIR.Identifier>
                    </rxpers:FR_NNI>
                    <rxpers:FR_Birth>
                        <rxpers:FR_Birth.Date>1980-04-11</rxpers:FR_Birth.Date>
                        <rxpers:FR_Birth.Town.Text>PARIS</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>2021-12-10</FR_Contract.StartContract.Date>
                <FR_Contract.StartContract.Time>09:00:00</FR_Contract.StartContract.Time>

                <FR_Contract.EndContract.Date>2011-12-31</FR_Contract.EndContract.Date>

                <FR_Contract.Nature.Code>CDI</FR_Contract.Nature.Code>
                <FR_Contract.HealthService.Text>086</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>

Est-ce que quelqu'un aurait une idée d'où pourrait venir le problème ?

Merci beaucoup.

  • Partager sur Facebook
  • Partager sur Twitter
30 septembre 2022 à 15:18:50

ce que tu as mis n'est pas la requête, mais le fichier xml que tu veux envoyer.
Est-ce que tu tapes dans la bonne adresse de l'API à savoir l'API de prod (https://api.urssaf.fr) ?
  • Partager sur Facebook
  • Partager sur Twitter
3 octobre 2022 à 16:50:21

L'adresse à laquelle j'envoie la requête est comme indiqué dans la documentation : https://depot.dpae-edi.urssaf.fr:8443/deposer-dsn/1.0/ .
  • Partager sur Facebook
  • Partager sur Twitter
3 octobre 2022 à 18:05:14

Dans la FAQ (https://depot.dpae-edi.urssaf.fr/5493-API-DPAE-FAQ-Oct2021.pdf

Je suis un concentrateur, est-il nécessaire de s’inscrire à l’API DPAE ?
Réponse :
Un concentrateur doit s’inscrire à l’API DPAE même s’il est déjà inscrit à l’API DSN.
Il convient de transmettre les informations ci-après à l’adresse : api-dpae@acoss.fr avec comme objet : Inscription Concentrateur.
Les informations à transmettre sont :
• Siret du concentreur
• Nom de l’abonné
• Prénom de l’abonné
• Adresse courriel de l’abonné
Cet abonné concentrateur ne doit être inscrit sur le service en ligne de l’Urssaf avec les mêmes identifiants.
Rappel : le Siret concentrateur est utilisé dans le flux d’authentification pour obtenir le jeton. Le Siret du déclarant est ensuite utilisé dans les autres flux.

 Est-ce que ça c'est OK ?

Sinon est-ce que tu utilises la même entête que celle de leur exemple ? 

Il semblerai qu'il faille mettre Content-Type: application/xml (vu que c'est du xml)

et pas de Content-Encoding : gzip (si tu ne gzippes pas le xml) ou au contraire le forcer dans Postman (en lui passant le xml gzippé)

(ce sont toutes des suggestions issues de ce forum https://www.developpez.net/forums/d2051271-3/environnements-developpement/delphi/api-com-sdks/urssaf-api-dpae/ )

  • Partager sur Facebook
  • Partager sur Twitter
11 octobre 2022 à 10:11:27

Merci pour votre réponse.

J'ai résolu les problèmes, c'était sur deux points : mauvaise écriture du jeton dans le header et fichier xml non gzippé

- Le jeton d'authentification doit s'écrire dans les headers de la façon suivante : DSNLogin concentrateur={jeton},declarant={identifiants déclarant}

Identifiants déclarant : <siret>;<nom>;<prenom> encodé en base 64.

- Pour le body, dans Postman je passe en mode "binary" et je charge le fichier (texte ou xml) gzippé en amont.

  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2023 à 15:01:41

LaurentPicard, 

pouvez-vous nous partager une capture de votre header ? 

Merci 

  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2023 à 17:25:35

Bonjour Laurent Picard

désolé le précédent message est parti sans faire attention. 

Je rencontre le même problème que vous aviez rencontré. 

Est-ce que vous pouvez m'indiquer comment vous avez passé le jeton dans le header (une capture du header sur postman).

Pour le body je passe du contenu xml, le format du flux correspond à ce qui est dans la documentation. 

Enfin, Savez-vous à quoi correspond le champ <FR_Employer.URSSAF.Code>

D'avance merci. 

  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2023 à 17:36:35

JalilBelatoui2 a écrit:

Enfin, Savez-vous à quoi correspond le champ <FR_Employer.URSSAF.Code>


en décodant le nom du champ, je dirais le code urssaf de l'employeur :-°
  • Partager sur Facebook
  • Partager sur Twitter
23 novembre 2023 à 16:50:12 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


23 novembre 2023 à 16:57:53

Bonjour,

Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ici.

  • Partager sur Facebook
  • Partager sur Twitter