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

EDI, CMS, Outils, Scripts et API PHP Discussion :

API GANDI créer des adresses mail


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut API GANDI créer des adresses mail
    Bonjour, Bonsoir à tout le monde ^^ ! Voici mon premier poste (hors présentation) sur le forum et j'aurai besoin de votre aide ...

    Contexte : je suis actuellement en stage dans une entreprise qui m'as demandé de concevoir une page web qui permettrait de crée des adresses mail grâce à l'API de gandi , ça fait déjà une bonne semaine que je bosse dessus mais je bloque sur la partie back du site & notamment face à l'API gandi.

    Sur la doc de l'API il y a des exemples mais pas de réelle mise en contexte du code, je me pose donc quelques de questions :

    - Quelle langage je dois utiliser pour reliée ma page web qui est elle en HTML & CSS à l'api Gandi ?
    - Comment reliée les information du formulaire en HTML directement avec l'API de façon à crée la bonne boîte ?

    Voici la doc pour ceux qui chercherai à m'aider : https://api.gandi.net/docs/email/

    Si quelqu'un à déjà taffé sur cette API ^^ je serai pas contre de l'aide !

    (désoler pour les fautes d'orthographe) et merci pour ceux qui m'aideront dans le futur ^^ !

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 285
    Par défaut
    Ça fonctionne en REST.

    En gros, tu dois envoyer une requête HTTP dans un format précis attendu par l'API.

    J'espère que ça t'apportera un début d'aide. Je n'utilise pas, je peux pas vraiment t'aider plus que ça.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    merci du message , je pense qu'il va me falloir un peu plus d'information, mais au moins tu me guide un peu c'est cool merci ^^ !

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    pour faire la requête HTTP, vous devrez passer par du code côté serveur comme PHP ou NodeJS par exemple.
    vous avez déjà cela en place ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    Non justement , je ne sais pas comment le faire , vous avez un tutoriel ou un petit truc du genre ? , question de pouvoir me documenter ...

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    ah je n'avais pas vu que vous étiez déjà dans le forum PHP, je croyais que étiez en train de réfléchir à quelle technologie utiliser.

    en PHP vous pouvez faire des requêtes HTTP et avoir des entêtes personnalisés avec la bibliothèque curl par exemple :
    https://www.php.net/manual/fr/function.curl-init.php
    https://www.php.net/manual/fr/function.curl-setopt.php (avec CURLOPT_HTTPHEADER pour les entêtes)

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    ok donc je dois crée un fichier php/curl ça j'ai compris & sur la documentation gandi, il y a les requêtes pour celui-ci mais maintenant nouvelle question, comment je fais pour quand je passe d'un formulaire sur une page web en HTML à mon fichier php qui va faire une requête http pour crée ma boite mail ?

    merci en tout pas les précédente réponse ça m'aide déjà pas mal pour m'orienté ! ^^ !

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    Je continue mes recherches pour réaliser ce que je souhaite , je suis toujours ouvert à l'aide. (j'ai écrit ma partie en PHP, mais j'ai pas l'impression quelle fonctionne : )

    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
    <?php
     
    $curl = curl_init();
     
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.gandi.net/v5/email/mailboxes/domaine",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "{\"login\":\"alice\",\"mailbox_type\":\"standard\",\"password\":\"a*6@Xk86cPR2kcZ@qPAi\",\"aliases\":[\"bob\",\"bob*\"]}",
      CURLOPT_HTTPHEADER => array(
        "authorization: clé api ^^",
        "content-type: application/json"
      ),
    ));
     
    $response = curl_exec($curl);
    $err = curl_error($curl);
     
    curl_close($curl);
     
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
     
    ?>

  9. #9
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    votre code à l'air correct, vous n'obtenez rien dans $response ?

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    Je lance ma page web et je valide mon formulaire de ma page html puis ça me renvoie directement sur ma page php mais sans rien... (je suis sûr il y a un truc que je ne fais pas correctement)

    Nom : screen.png
Affichages : 315
Taille : 42,0 Ko

  11. #11
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    vous avez besoin d'un serveur HTTP qui va exécuter le script PHP.
    soit vous demandez un accès à serveur déjà existant dans l'entreprise ou alors vous pouvez installer un serveur sur votre ordinateur avec easyphp ou wampserver par exemple
    https://www.wampserver.com/
    https://www.easyphp.org/

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    Merci beaucoup ! ça m'avance énormément ^^ , J'ai réussit à relié correctement ma page web html & ma page php et ma page php fait bien une requête http ! C'est génial !

    cependant , j'ai un petit message d'erreur "cURL Error #:SSL certificate problem: self signed certificate in certificate chain"

    Nom : screen.png
Affichages : 281
Taille : 42,0 Ko

    Avez vous encore une solution ou une idée face à cette erreur ?
    encore merci !

  13. #13
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Curl t'indique qu'il n'est pas en mesure de valider un certificats ssl car il est autosigné.
    Pour faire simple si tu étais sur un navigateur , tu aurais un petit cadenas rouge dans l'adresse ou une grosse alerte te disant que le site n'est pas sûre.

    Venant de gandi c'est assez étrange. C'est donc plutôt que ton installation n'a pas de CA Root à jour permettant à curl de vérfier correctement le certificat.
    Ce ficheir ce trouve ici : https://curl.se/docs/caextract.html

    il peut être configuré directement dans la config de php , dans php.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl.cainfo = chemin/vers/cacert.pem
    Ca peut également être passé au runtime :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt ($ch, CURLOPT_CAINFO, "chemin/vers/cacert.pem");
    Il est possible avec curl de ne pas faire les vérifications de certificats mais ce n'est généralement pas recommandé pour des raisons évidentes de sécurité
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    bonsoir, j'ai modifier mon fichier php.ini comme indiquer donc avec "curl.cainfo = Users\stagi\Desktop\php\cacert.pem" , cependant rien ne change ^^, j'ai toujours la même erreur. D'autres idées ?

  15. #15
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    avec windows, essayez les chemins sous ces formes :
    curl.cainfo = c:/Users/stagi/Desktop/php/cacert.pem
    curl.cainfo = c:\\Users\\stagi\\Desktop\\php\\cacert.pem

  16. #16
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    d'accord ! je vais tester ça demain & je te le redis ^^ !

  17. #17
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    Bonjour, Après avoir essayé différentes combinaisons de chemin mais je reste toujours sur cette erreur. .

  18. #18
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    si vous avez déjà essayé ce que grunk a indiqué, je n'ai pas d'autre idée pour régler rapidement se souci. la solution non rapide serait d'installer un autre serveur avec une autre version de PHP mais vous pourrez faire cela plus tard.

    pour le moment, ce que je ferai à votre place c'est de rajouter des options à l'appel du curl pour qu'il ne vérifie plus le certificat SSL. ces options devront uniquement être dans le code de test et ne pas rester en production sinon il y a un risque que dans le futur, un site malveillant récupère la clé API et il aura alors les droits d'accès liés à cette clé.

    pour désactivé la vérification, essayez les options CURLOPT_SSL_VERIFYSTATUS ou CURLOPT_SSL_VERIFYPEER peut-être.

  19. #19
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2021
    Messages : 16
    Par défaut
    Alors c'est très bizarre mais j'ai mis le "CURLOPT_SSL_VERYSTATUS" mais j'ai toujours le droit à mon erreur de certificat

    j'ai essayer de mettre la ligne un peu partout mais rien n'y change :

    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
    <?php
     
    $curl = curl_init();
     
    curl_setopt_array($curl, array(
      CURLOPT_SSL_VERIFYSTATUS => false,
      CURLOPT_URL => "https://api.gandi.net/v5/email/mailboxes/domaine",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "{\"login\":\"alice\",\"mailbox_type\":\"standard\",\"password\":\"a*6@Xk86cPR2kcZ@qPAi\",\"aliases\":[\"bob\",\"bob*\"]}",
      CURLOPT_HTTPHEADER => array(
        "authorization: api",
        "content-type: application/json"
      ),
    ));
     
    $response = curl_exec($curl);
    $err = curl_error($curl);
     
    curl_close($curl);
     
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
     
    ?>

  20. #20
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 694
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 694
    Par défaut
    pour séparer les informations confidentielles, vous pouvez les mettre dans un fichier conf.php à part comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    const DOMAINE = "abcde1234.fr";
    const API_KEY = "abcde123";
    et ensuite vous les utilisez comme cela, regardez aussi la ligne qui définie la clé, elle n'est pas correcte dans votre code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    require "conf.php";
    ...
      CURLOPT_URL => "https://api.gandi.net/v5/email/mailboxes/" . DOMAINE,
    ...
    		"Authorization: Apikey " . API_KEY,
    pour en revenir au souci SSL, avez-vous aussi essayé avec CURLOPT_SSL_VERIFYPEER ou avec les 2 options ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Besoin d'aide API twitter / php
    Par daloi dans le forum Langage
    Réponses: 0
    Dernier message: 01/04/2018, 19h31
  2. besoin d'aide API version
    Par stoner2008 dans le forum Android
    Réponses: 1
    Dernier message: 25/11/2011, 00h19
  3. [Web Service] API Facebook besoin d'aide
    Par tonymx15 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/06/2011, 09h58
  4. besoin d'aide API IGN (sur Google sites)
    Par zebulon57 dans le forum IGN API Géoportail
    Réponses: 1
    Dernier message: 11/05/2011, 17h41
  5. oulala .. j'ai besoin d'aide en WIN API.. et autre
    Par nanettemontp dans le forum Windows
    Réponses: 25
    Dernier message: 17/09/2007, 13h44

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