Bonjour à tous,
J'essaie d'utiliser l'API DPAE de l'URSSAF sachant que j'utilise déjà l'API DSN sans problème.
La doc indique que la méthode est exactement la même pour l'URSSAF et pour Net-entreprise.
Le principe est de faire un POST d'un bloc d'identification pour obtenir un jeton qui est à fournir pour les autres opérations.
la seul différence entre l'urssaf et Net-entreprise pour les DSN c'est :
AuthHostName qui est défini à https://mon.urssaf.com/autehntifier_dpae/ pour l'Urssaf
et AuthHostName = @"https://services.net-entreprises.fr//authentifier/1.0/"; pour les DSN
Lors de la vérification d'authentification l'API peut renvoyer une erreur 422 si le compte n'est pas autorisé à utiliser le service.
Mon problème est avant. Je reçoit une Erreur 500.
Le sujet a été évoqué sur une discussion dans le groupe Delphi mais je n'ai pas trouvé d’élément de réponse pour mon pb.
https://www.developpez.net/forums/d2...ssaf-api-dpae/
J'ai utilisé Postman pour tester l'API j'obtiens une erreur 422 qui est tout à fait normal. (le compte urssaf n'est pas encore actif)
Type POST https://mon.urssaf.fr/authentifier_dpae/
dans le body : raw xml avec le <identifiants>.....<>
Si je fait la même chose dans une appli Winforms, j'ai une erreur 500.
Est-ce que vous avez une piste ?
Merci
Le code pour vérifier l'authentification :
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 string Jeton = ""; string Identification = "<identifiants>" + "<siret>le siret</siret>" + "<nom>le nom</nom>" + "<prenom>le prénom</prenom>" + "<motdepasse>mot de passe</motdepasse>" + "<service>25</service>" + "</identifiants>"; string AuthHostName = @"https://mon.urssaf.fr/authentifier_dpae/"; System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls12; HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("User-Agent", "Client-DSN (monappli/1.1; monappli)"); StringContent vHttpContent = new StringContent(Identification, Encoding.UTF8, "application/xml"); HttpResponseMessage response = null; try { response = client.PostAsync(AuthHostName, vHttpContent).Result; response.EnsureSuccessStatusCode(); string responseBody = response.Content.ReadAsStringAsync().Result; Jeton = responseBody; LogBox.AppendText("Authentification réussie" + System.Environment.NewLine); } catch (HttpRequestException ex) { Console.WriteLine("\nException !"); Console.WriteLine("Message :{0} ", ex.Message); LogBox.AppendText("Echec d'authentification :" + ex.Message + System.Environment.NewLine); LogBox.AppendText("Motif :" + response.Headers.WwwAuthenticate + System.Environment.NewLine); }






Répondre avec citation


Partager