IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

URSSAF API DPAE


Sujet :

API, COM et SDKs Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut URSSAF API DPAE
    Bonjour,

    je cherche a mettre en place une implémentation de l'API DPAE
    j'arrive a m'authentifier https://mon.urssaf.fr/authentifier_dpae et recevoir un jeton

    quand j'essaie de faire un dépôt comme décrit dans page 5 du document https://www.dpae-edi.urssaf.fr/5492-...ementation.pdf voir ci-dessous
    j'obtient l'erreur 422 : 'Unprocessable Entity'

    merci par avance de votre aide
    POST /deposer-dsn/1.0/ HTTP/1.1
    Host: depot.dpae-edi.urssaf.fr
    Authorization:
    Content-Type: text/plain
    Content-Encoding : gzip
    Content-Length: 4096
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <FR_DUE_Upload xmlns:cct="urn:oasis:names:tc:ubl:corecomponentTypes:1.0:0.70"
    xmlns:rxdt="http://www.repxml.org/DataTypes"
    xmlns:rxorg="http://www.repxml.org/Organization"
    xmlns:rxpadr="http://www.repxml.org/PostalAddress"
    xmlns:rxpers="http://www.repxml.org/Person_Identity"
    xmlns:rxphadr="http://www.repxml.org/PhoneAddress"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
     <FR_DUE_Upload.Test.Indicator>120</FR_DUE_Upload.Test.Indicator>
     <FR_DuesGroup>
     <FR_Employer>
     <FR_EmployerIdentity>
     
    <rxorg:FR_Organization.SIRET.Identifier>99999999999999</rxorg:FR_Organization.SIRE
    T.Identifier>
     
     <rxorg:FR_Organization.APE.Code>8110Z</rxorg:FR_Organization.APE.Code>
     </FR_EmployerIdentity>
     <FR_Employer.URSSAF.Code>257</FR_Employer.URSSAF.Code>
     <FR_EmployerAddress>
     <rxpadr:FR_PostalAddress.StreetDesignation.Text>44 rue DES
    TEST</rxpadr:FR_PostalAddress.StreetDesignation.Text>
     
    <rxpadr:FR_PostalAddress.Town.Text>CAEN</rxpadr:FR_PostalAddress.Town.Text>
     
    <rxpadr:FR_PostalAddress.Postal.Code>14000</rxpadr:FR_PostalAddress.Postal.Code>
     </FR_EmployerAddress>
     <FR_EmployerContact><FR_PhoneNumber>
     
    <rxphadr:FR_PhoneAddress.PhoneNumber.Text>0000000000</rxphadr:FR_PhoneAddress.Phon
    eNumber.Text>
     </FR_PhoneNumber>
     </FR_EmployerContact>
     </FR_Employer>
    <FR_EmployeeGroup>
     <FR_Employee>
     <FR_EmployeeIdentity>
     
    <rxpers:FR_PersonIdentity.Surname.Text>TEST</rxpers:FR_PersonIdentity.Surname.Text
    >
     
    <rxpers:FR_PersonIdentity.ChristianName.Text>Alain</rxpers:FR_PersonIdentity.Chris
    tianName.Text>
     
    <rxpers:FR_PersonIdentity.Sex.Code>1</rxpers:FR_PersonIdentity.Sex.Code>
     <rxpers:FR_NNI>
    <rxpers:FR_NNI.NIR.Identifier>1000000000000</rxpers:FR_NNI.NIR.Identifier>
    <rxpers:FR_NNI.NIRKey.Text>99</rxpers:FR_NNI.NIRKey.Text>
     </rxpers:FR_NNI>
     <rxpers:FR_Birth>
     <rxpers:FR_Birth.Date>1970-01-01</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_Depar
    tment.Code>
     </FR_EmployeeComplement>
     </FR_Employee>
     <FR_Contract>
     <FR_Contract.StartContract.Date>2015-07-
    17</FR_Contract.StartContract.Date>
     
    <FR_Contract.StartContract.Time>12:30:00</FR_Contract.StartContract.Time>
     <FR_Contract.EndContract.Date>2015-09-
    15</FR_Contract.EndContract.Date>
     <FR_Contract.Nature.Code>CDI</FR_Contract.Nature.Code>
     
    <FR_Contract.HealthService.Text>387</FR_Contract.HealthService.Text>
     </FR_Contract>
     </FR_EmployeeGroup>
     </FR_DuesGroup>
     </FR_DUE_Upload>

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour et bienvenue,

    rien qu'en mettant les balise de codes on voit qu'il y a deux choses distinctes, ce qu'il faut mettre dans les propriétés du composant utilisé pour faire le POST
    et le contenu à envoyer (un fichier XML).
    Tout cela me fait penser au RESTDebugger

    j'ai ensuite un doute faut-il le compresser avant comme semble l'indiquer Content-Encoding : gzip ou est-ce que c'est le composant qui le fait ?



    Cela dit je ne suis pas un spécialiste de ce genre de chose
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre confirmé Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Points : 477
    Points
    477
    Par défaut
    D'après cette doc : https://developer.mozilla.org/fr/doc...TTP/Status/422

    ton envoi est bien formé, mais c'est le serveur de l'Urssaf qui ne peut gérer ta demande. Je ne suis pas étonnée si tu me dis que tu envoies directement sur un environnement de production et pas un environnement de test.
    Est-ce que tu as la possibilité de discuter avec le service qui s'occupe du SI DPAE à l'Urssaf ? Je pense qu'ils peuvent te mettre un environnement de test à disposition. Voire même quelques scripts de démo.

    Tu as déjà fait des tests avec un autre outil comme le suggère SergioMaster ? RestDebugger ou des addon de navigateur ?

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    sans avoir creusé, le premier truc qui me saute aux yeux c'est Content-Type: text/plain alors que tu envoies du XML...bon la doc semble indiquer que c'est ce qu'il faut mettre, mais ça me surprend.

    pour ce qui est du content-encoding, il est indiqué GZIP alors que le contenu n'est pas compressé !

    le content-length de 4096 correspond-il à quelque chose de réel ? cette valeur en puissance de 2 est surprenante également.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci de votre retour, voici le code qui fonctionne pour l'authentification mais il génère 422 pour le dépôt, au niveau de l’URSSAF je n'ai pas de réponse, il répondent qu'au compte goûte
    le content est compressé et d’après la documentation il faut mettre le Content-Type: text/plain
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    unit Unit2;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls
        , System.Net.HttpClient;
     
    type
      TForm2 = class(TForm)
        Authentification: TButton;
        Envoyer: TButton;
        Memo_Token: TMemo;
        procedure AuthentificationClick(Sender: TObject);
        procedure EnvoyerClick(Sender: TObject);
      private
        F_Token,
          F_Http_Query,
          F_Http_Body,
          F_Content_Type,
          F_Content_Encoding,
          f_motdepasse: String;
        F_Query_Get_Stream: TStringStream;
        F_HttpClient: THttpClient;
        F_HttpResponse: IHttpResponse;
        function Do_Execute_Query_Post: String;
        procedure Prepare_Query_Get_Stream(aParametre: String);
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    uses System.ZLib;
    {$R *.dfm}
     
     
    procedure TForm2.AuthentificationClick(Sender: TObject);
    begin
      f_motdepasse := '6AQ3UKQH';
      F_Http_Query := 'https://mon.urssaf.fr/authentifier_dpae';
     
      F_Content_Type := 'application/xml';
      F_Http_Body := '<identifiants>'
        + '<siret>0000000000</siret>'
        + '<nom>nom</nom>'
        + '<prenom>prenom</prenom>'
        + '<motdepasse>motdepasse</motdepasse>'
        + '<service>25</service>'
        + '</identifiants>';
      Do_Execute_Query_Post;
      F_Token := F_HttpResponse.ContentAsString();
      Memo_Token.Text :=
        'StatusCode=' + inttostr(F_HttpResponse.StatusCode) + #13
        + 'StatusText=' + F_HttpResponse.StatusText + #13
        + 'Content=' + F_HttpResponse.ContentAsString() + #13
    end;
     
    procedure TForm2.Prepare_Query_Get_Stream(aParametre: String);
    var
      s: string;
      function ZCompressString(aText: string): string;
      var
        strInput: TStringStream;
      begin
        F_Query_Get_Stream := TStringStream.Create;
        strInput := TStringStream.Create(aText);
        strInput.Seek(0, TSeekOrigin.soBeginning);
        ZCompressStream(strInput, F_Query_Get_Stream);
      end;
     
    begin
      FreeAndnil(F_Query_Get_Stream);
      F_Query_Get_Stream := nil;
      if aParametre <> '' then
      begin
        if F_Content_Encoding = '' then
        begin
          F_Query_Get_Stream := TStringStream.Create(aParametre, TEncoding.UTF8);
        end
        else
        begin
          ZCompressString(aParametre);
        end;
      end;
    end;
     
    function TForm2.Do_Execute_Query_Post: String;
    var
      F_HttpClient: THttpClient;
    begin
      try
        F_HttpClient := THttpClient.Create;
     
        F_HttpClient.ContentType := F_Content_Type;
        if F_Content_Encoding <> '' then
        begin
          F_HttpClient.AcceptEncoding := F_Content_Encoding;
          F_HttpClient.CustomHeaders['Content-Encoding'] := F_Content_Encoding;
        end;
     
        if F_Token <> '' then
          F_HttpClient.CustomHeaders['Authorization'] := 'DSNLogin jeton=' + F_Token + #13;
     
        Prepare_Query_Get_Stream(F_Http_Body);
     
        F_HttpResponse := F_HttpClient.Post(F_Http_Query, F_Query_Get_Stream);
        result := F_HttpResponse.ContentAsString();
        FreeAndnil(F_Query_Get_Stream);
      finally
        F_HttpClient.DisposeOf;
      end;
     
    end;
     
    procedure TForm2.EnvoyerClick(Sender: TObject);
      function GET_DUE: String;
      begin
       result :=
          ' <?xml version="1.0" encoding="UTF-8"?> '
          + ' <FR_DUE_Upload xmlns:cct="urn:oasis:names:tc:ubl:corecomponentTypes:1.0:0.70" '
          + '                      xmlns:rxdt="http://www.repxml.org/DataTypes" xmlns:rxorg="http://www.repxml.org/Organization" xmlns:rxpadr="http://www.repxml.org/PostalAddress" xmlns:rxpers="http://www.repxml.org/Person_Identity"  '
          + '  xmlns:rxphadr="http://www.repxml.org/PhoneAddress" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> '
          + '    <FR_DUE_Upload.Test.Indicator>120</FR_DUE_Upload.Test.Indicator> '
          + '    <FR_DuesGroup> '
          + '       <FR_Employer> '
          + '          <FR_EmployerIdentity> '
          + '             <rxorg:FR_Organization.SIRET.Identifier>99999999999999</rxorg:FR_Organization.SIRET.Identifier> '
          + '             <rxorg:FR_Organization.APE.Code>8110Z</rxorg:FR_Organization.APE.Code> '
          + '          </FR_EmployerIdentity> '
          + '          <FR_Employer.URSSAF.Code>257</FR_Employer.URSSAF.Code> '
          + '          <FR_EmployerAddress> '
          + '             <rxpadr:FR_PostalAddress.StreetDesignation.Text>44 rue DES TEST</rxpadr:FR_PostalAddress.StreetDesignation.Text> '
          + '             <rxpadr:FR_PostalAddress.Town.Text>CAEN</rxpadr:FR_PostalAddress.Town.Text> '
          + '             <rxpadr:FR_PostalAddress.Postal.Code>14000</rxpadr:FR_PostalAddress.Postal.Code> '
          + '          </FR_EmployerAddress> '
          + '          <FR_EmployerContact> '
          + '             <FR_PhoneNumber> '
          + '                <rxphadr:FR_PhoneAddress.PhoneNumber.Text>0000000000</rxphadr:FR_PhoneAddress.PhoneNumber.Text> '
          + '             </FR_PhoneNumber> '
          + '          </FR_EmployerContact> '
          + '       </FR_Employer> '
          + '       <FR_EmployeeGroup> '
          + '          <FR_Employee> '
          + '             <FR_EmployeeIdentity> '
          + '                <rxpers:FR_PersonIdentity.Surname.Text>TEST</rxpers:FR_PersonIdentity.Surname.Text> '
          + '                <rxpers:FR_PersonIdentity.ChristianName.Text>Alain</rxpers:FR_PersonIdentity.ChristianName.Text> '
          + '                <rxpers:FR_PersonIdentity.Sex.Code>1</rxpers:FR_PersonIdentity.Sex.Code> '
          + '                <rxpers:FR_NNI> '
          + '                   <rxpers:FR_NNI.NIR.Identifier>1000000000000</rxpers:FR_NNI.NIR.Identifier> '
          + '                   <rxpers:FR_NNI.NIRKey.Text>11</rxpers:FR_NNI.NIRKey.Text> '
          + '                </rxpers:FR_NNI> '
          + '                <rxpers:FR_Birth> '
          + '                   <rxpers:FR_Birth.Date>1970-01-01</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>2020-08-17</FR_Contract.StartContract.Date> '
          + '             <FR_Contract.StartContract.Time>12:30:00</FR_Contract.StartContract.Time> '
          + '             <FR_Contract.EndContract.Date>2020-09-15</FR_Contract.EndContract.Date> '
          + '             <FR_Contract.Nature.Code>CDI</FR_Contract.Nature.Code> '
          + '             <FR_Contract.HealthService.Text>387</FR_Contract.HealthService.Text> '
          + '          </FR_Contract> '
          + '       </FR_EmployeeGroup> '
          + '    </FR_DuesGroup> '
          + ' </FR_DUE_Upload> ';
      end;
     
    begin
     
      F_Http_Body := GET_DUE;
     
      F_Content_Type := 'text/plain'; // 'application/xml';
      F_Content_Encoding := 'gzip';
      F_Http_Query := 'https://depot.dpae-edi.urssaf.fr/deposer-dsn/1.0';
     
      Do_Execute_Query_Post;
     
      Memo_Token.Text :=
        'StatusCode=' + inttostr(F_HttpResponse.StatusCode) + #13#10
        + 'StatusText=' + F_HttpResponse.StatusText + #13#10
        + 'Content=' + F_HttpResponse.ContentAsString() + #13#10
     
    end;
     
    end.

  6. #6
    Membre confirmé Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Points : 477
    Points
    477
    Par défaut
    J'ai vu ça sur ta doc : Les concentrateurs doivent préciser le port 8443 dans l’url des services de dépôt,
    consultation et téléchargement (pas pour le service d’authentification)


    Est-ce que tu as précisé le port ? Je ne l'ai pas trouvé dans ton code.

    J'ai aussi lu ça :
    L’exemple ne tient pas compte des diverses transformations appliquées au message (gzip, chunk, ssl…).
    Donc l'exemple fourni n'est peut-être pas bon. Tu as essayé sans compression ?

    Je pensais aussi au 's' du https, mais apparemment il n'y a pas d'erreur à ce niveau. Je pense que le serveur t'aurais envoyé balader avec une autre erreur.

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Moi je fais la procédure en tant que déclarant direct, donc je n'ai pas besoin du port,

    sachant que l'authentification fonctionne et le dépôt fonctionne, seulement le serveur ne le traite pas

    j'envoi la déclaration ou j'envoi rien c'est la même chose pour le serveur (j'ai fait le test avec un body vide)

    il me manque surement quelque chose, mais je ne sais pas où.

  8. #8
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    j'ai tellement pris l'habitude de travailler avec Indy que je n'ai pas exploré les possibilités de THTTPClient mais j'ose espérer qu'il prend en charge la compression...et qu'il n'utilise pas un TStringStream pour stocker le flux compressé

    quoi qu'il en soit, sur ce genre de situation je fini toujours par créer une page PHP (mais on peut le faire sous Delphi) qui affiche la requête qu'on lui envoie afin de m'assurer que la requête est bien envoyée telle que prévu.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    bonjour dev_detif,

    es-tu finalement parvenu à t'interfacer avec le service de dépôt de DPAE?

    j'ai en gros les mêmes soucis, suis parvenu à m'authentifier et recevoir le jeton sans trop de problèmes, mais j’enchaîne les erreurs 400 bad request en envoyant au petit bonheur du contenu au service de dépot de DPAE, occupation assez ingrate.
    la doc fournie par l'URSSAF est pauvre et incohérente, je n'ai pas trop de pistes.

    attention, je vois dans ton 1er post que tu valorises le champs FR_DUE_Upload.Test.Indicator à 120, tu leur transmets donc des données à traiter en PROD.
    tu devrais passer cette valeur à 1 pour indiquer que tes envois sont des tests... du moins d'après leur piètre documentation....

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    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).

  11. #11
    Candidat au Club
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci moukrene,

    j'ai laissé tombé, j'avais fait des tests avec
    <FR_DUE_Upload.Test.Indicator>1</FR_DUE_Upload.Test.Indicator> en mode test
    <FR_DUE_Upload.Test.Indicator>120</FR_DUE_Upload.Test.Indicator> en mode production
    mes données sont valide, puisque j'ai pu m'authentifier

    Je pense que j'ai un problème sur la compression.

    si tu peux partager ton code je serais preneur.

    Excellente journée à tous.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Désolé de faire une remonté de ce sujet, mais il n'y a rien à part ce topic qui ressort concernant des soucis d'implémentation de l'API DPAE donc l'historique de cette discussion est tout ce que j'ai.

    J'essaye actuellement de mettre en place cette API (en PHP, pas en Delphi, mais qu'importe car même avec Postman je ne m'en sors pas). J'ai fait plusieurs demandes sur les sites de l'Urssaf / net-entreprise mais je n'ai eu aucun support jusqu'à maintenant.

    J'arrive à recevoir un token d'authentification sans souci, mais le dépôt de dossier ne fonctionne pas j'obtiens soit une 401, soit une 400.

    J'utilise l'enveloppe de base (celle de la doc / du premier post de ce sujet), en mode démo (1) et avec le SIRET qui a servi à la connexion. J'ai tenté plusieurs choses :

    • un body raw non gzip avec ou sans headers Content-Encoding/Accept-Encoding gzip
    • un body raw gzip avec ou sans headers Content-Encoding/Accept-Encoding gzip
    • un body via fichier non gzip avec ou sans headers Content-Encoding/Accept-Encoding gzip
    • un body via fichier gzip avec ou sans headers Content-Encoding/Accept-Encoding gzip


    Pour encoder mon body, j'utilise la fonction gzencode de PHP.
    À chaque fois, si j'ai les headers j'ai une 401 et si je n'ai pas les headers j'ai une 400.



    Merci d'avance à ceux qui sauront m'aider / m'aiguiller !

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Développeur 4D
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur 4D

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 29
    Points
    29
    Par défaut L'authentification
    Citation Envoyé par Dev_detif Voir le message
    f_motdepasse := '6AQ3UKQH';
    F_Http_Query := 'https://mon.urssaf.fr/authentifier_dpae';

    F_Content_Type := 'application/xml';
    F_Http_Body := '<identifiants>'
    + '<siret>0000000000</siret>'
    + '<nom>nom</nom>'
    + '<prenom>prenom</prenom>'
    + '<motdepasse>motdepasse</motdepasse>'
    + '<service>25</service>'
    + '</identifiants>';
    Bonjour,

    Serait il possible d'avoir plus d'info sur l'authentification.

    Dans ton code, tu fournis il y a une variable f_motdepasse : pour quoi, de où sort elle ?

    Pour tester, je n'utilise que mes identifiants perso URSSAF: un siret (qui n'est pas celui de ma société), nom, prénom, mdp (comme pour me connecter au site et payer ma dîme)

    Ma requête retourne sans cesse une erreur 422

    Merci

  14. #14
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut 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" 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>

    Je vous remercie d'avance pour votre aide précieuse.


    Citation Envoyé par moukrene Voir le message
    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).

  15. #15
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Réponse
    Bonjour,

    Voici ma requête utilisée pour m'authentifier afin de récupérer le Token :

    POST /authentifier_dpae/ HTTP/1.1
    Host: mon.urssaf.fr
    content-type: application/xml

    <identifiants>
    <siret>SIRET</siret>
    <nom>NOM</nom>
    <prenom>PRENOM</prenom>
    <motdepasse>MOT_DE_PASSE</motdepasse>
    <service>25</service>
    </identifiants>

    Il faut juste utiliser les identifiants de connexions du site de l'URSSAF.
    J'espère que cela pourra vous aider.
    De mon coté, je n'arrive pas encore à déposer le fichier.

    Cordialement,

    Citation Envoyé par soubsoub Voir le message
    Bonjour,

    Serait il possible d'avoir plus d'info sur l'authentification.

    Dans ton code, tu fournis il y a une variable f_motdepasse : pour quoi, de où sort elle ?

    Pour tester, je n'utilise que mes identifiants perso URSSAF: un siret (qui n'est pas celui de ma société), nom, prénom, mdp (comme pour me connecter au site et payer ma dîme)

    Ma requête retourne sans cesse une erreur 422

    Merci

  16. #16
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    C'est bon pour moi, j'arrive à envoyer la DPAE.
    Il faut vraiment compresser le contenu du corps de l'enquête.
    Il ne faut pas ajouter le header content-length dans la requête au contraire de ce qui est indiqué dans la documentation.
    De mon côté, l'envoi d'un fichier plat me retourne tout le temps l'erreur 422, il y a que le format XML qui fonctionne.

    Pour compresser le contenu sous SAP, il faut utiliser la méthode :
    DATA : lo_client_depot TYPE REF TO if_http_client,
    CALL METHOD lo_client_depot->set_compression
    EXCEPTIONS
    compression_not_possible = 1.

    Bon courage.


    Citation Envoyé par HBIBIYA Voir le message
    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" 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>

    Je vous remercie d'avance pour votre aide précieuse.

  17. #17
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Code HTTP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Content-Encoding: gzip
    content-length: 4096
    En même temps, si l'entête indique du gzip, le corps doit contenir un stream gzip et non un texte en clair.
    C'est comme dire que l'on envoie un fichier avec un BOM UTF8 alors que le contenu est de l'ANSI Windows1252, forcément, la lecture sera faussée.

    c'est le même problème que celui tu text/plain soulevé par Paul TOTH alors que le contenu decompressé est du XML donc

    Code HTTP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Content-Type:     text/html
    Content-Encoding:     gzip
     
    eNqVVl1zojAUfd+Z/Q+M74agpSpj7VhLt+xW2gGc6ZuTQrZmRhImxNXur98QUAGBdnkiueec+5HcC9PbQ7zV/mCeEkZvegaAPQ3TkEWEvt/0HP+5Px6bk77Ru519/zZ98Nb3K3u9SrYMRdohJRZlLopxmqAQ++EGx+iJhUgorTMSHNKop0lHNE3JTW8jRGLp+n6/B/shYPxdH0Bo6K/Lp1yiT2gqEA1xwbH4IdmgiFeYHCfSqNgvG0bxPIo4TtMSRebUypA2RtdOhKkg4qNE6nLDZFTbCz/S1MZ45u+Ikr+qHmdCJNrw90ig4CPBJ/UwlNgdpxZDKUktmpXaEqG1e9taC8bxgsWJzJ0KxbLk6VkQjGDv4qxAgFMBHBoReTqMz4yp3mkv+Duc/uBslxRrO5bgD8xry2MZs21VD0say7kD3/HsAOS430QKmOYAGuYQjuD1cDKa6l+ktTq4xyl5p/l7gA9i9iofzQdz0KZ9wWjVnr/YYMEiPBtfDeG8Te+Ekjp6S3FK22Dl+f78IadMBrDCqRirvOL65dFmtzULpHIzgS84xuIiP3OkeStbe7Rdz9Hu5t7dyvftLJv/UunwG7B9AXpBnKTt0mdgh1q+ykswMqEB2/XK0Fr1S+Uq7S4YFSgUxa4aH+4ufjteMDVsrKPl5OUMy4OH5qR4VGhfIxXx1XzqzcHprT2HG9qydlVwtS2zcajCU6PvaAO+nC5yquTBBbYfaO7zUpODQeX0BU6X+GIj74EgiLpVFy+e/bmXBnJnIviQ34BlV+RHUEXJdZ2LDeA6XnnyGOMxNEbm0IRXZf0GZJPSL/yRZzC5bmCfrNmRd4R1R7jYNGwB+d3AM2MyHveh0YfjskgJ0EA8d+KDN3cXc8e3L8mVdtUbwtFbLl1pO/tQbXEsba0GoPTW9zhBXKiNovcr+p/ia/FUHeuX3ZK1Gz8Pg+NSzj8pe1qpAg7gAPYNKIushLqgnWIBifEMTiwov9awS0oBa1IuEjuO81wHVXLZVGM9YrQVGx/zPyQsmmkZGEVtu1A1nYATtM3Cyq3GoBZ/zV6UvFbjygyT4cbq9BThp60t7cCXo0EL7NfA1pyFUzm1Bk7tXE+TUa//wVR/eWb/AIahygE=

    bon au dessus c'est en base64 en plus, si le gzip est brut c'est donc pas lisible avec plein de caractère non imprimable mais ça donne une idée de ce qui est censé être
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    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.

    Citation Envoyé par HBIBIYA Voir le message
    Bonjour,

    Voici ma requête utilisée pour m'authentifier afin de récupérer le Token :

    POST /authentifier_dpae/ HTTP/1.1
    Host: mon.urssaf.fr
    content-type: application/xml

    <identifiants>
    <siret>SIRET</siret>
    <nom>NOM</nom>
    <prenom>PRENOM</prenom>
    <motdepasse>MOT_DE_PASSE</motdepasse>
    <service>25</service>
    </identifiants>

    Il faut juste utiliser les identifiants de connexions du site de l'URSSAF.
    J'espère que cela pourra vous aider.
    De mon coté, je n'arrive pas encore à déposer le fichier.

    Cordialement,
    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.

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut API DPAE de l'URSSAF
    Bonjour,

    Je dois aussi intégrer à une application l'API de l'URSSAF pour faire une DPAE, je fais également mes premiers tests avec Postman, je réussi à m'authentifier pour obtenir un jeton. Mais impossible à déposer un fichier (XML) en utilisant :

    https://depot.dpae-edi.urssaf.fr:8443/deposer-dsn/1.0/

    Après maintes essais (surtout en supprimant dans le header le Content-length) je bloque sur l'erreur "422Unprocessable Entity" avec le message suivant (j'ai modifié le N° de SIRET)

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <gipmds:rapport xmlns:gipmds="http://www.gip-mds.fr/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="ARE" profil="DSN" version="p02v01">
        <envoi>
            <envoi_identification>
                <declarant>
                    <siret>---------------------</siret>
                    <nom>SEVE</nom>
                    <prenom>LUC</prenom>
                </declarant>
                <idflux>WSuowmWBFAeC66RI-JcCmGU</idflux>
                <identifiant>MtoM</identifiant>
                <point_de_depot>01</point_de_depot>
                <essai_reel/>
                <emetteur_siret>43374065100057</emetteur_siret>
                <date_reception>2020-11-16</date_reception>
                <heure_reception>10:57:03</heure_reception>
            </envoi_identification>
            <envoi_bilan>
                <envoi_etat>KO</envoi_etat>
            </envoi_bilan>
            <envoi_anomalie>
                <description>
                    <code>B1-105-10</code>
                    <message>Le format du fichier depot_mtom n'est pas reconnu.</message>
                </description>
            </envoi_anomalie>
        </envoi>
    </gipmds:rapport>

    J'ai copié le fichier XML dans le "Body" en respectant la syntaxe indiquée dans la doc de l'URSSAF (très peu détaillée)

    Sur le forum il est parlé de compression de fichier :

    Il faut vraiment compresser le contenu du corps de l'enquête.
    Il ne faut pas ajouter le header content-length dans la requête au contraire de ce qui est indiqué dans la documentation.
    De mon côté, l'envoi d'un fichier plat me retourne tout le temps l'erreur 422, il y a que le format XML qui fonctionne.


    Quelqu'un a t'il déjà réussi à faire un dépôt de test avec postman ou autre ?

    Merci pour vos réponses

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut 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 xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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 Voir le message
    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.

Discussions similaires

  1. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  2. JEG : jAPI : Une API pour C++Builder
    Par JEG dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/11/2003, 13h50
  3. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo