Application de remplissage du formulaire avec API

Bonjour,

Je souhaite développer une petite application Python qui exploitera l’API pour le remplissage des formulaires Kizeo.

Est-ce réalisable avec API à remplir le formulaire?

Merci en avance
Marc

Bonjour Marc,

Il est possible via l’API de « push » des données via un programme (python ou autre) afin de préremplir un formulaire et l’envoyer à un utilisateur.

Attention, il y cependant quelques contraintes :

  • un enregistrement ne peut-être envoyé qu’à un seul et unique utilisateur
  • un enregistrement ne sera présent que sur un seul et unique périphérique (dans le cas ou l’utilisateur aurait kizeo sur un smartphone et une tablette)
  • une fois push, on ne peut pas mettre à jour les données d’un enregistrement

J’avais réalisé un PoC il y a quelques mois dans lequel je push les nouveaux enregistrements d’une table postgresql dans un formulaire Kizeo et je récupérais les données une fois le formulaire complété par le destinataire pour mettre à jour la table.

La documentation est ici : Data · Kizeo Forms Documentations

Cordialement,
Louis

1 Like

Bonjour Louis,

Merci pour votre réponse rapide. J’ai testé le code et tout fonctionne à merveille :grinning:.
Actuellement, j’utilise les modules json et requests dans mon code, et je peux répéter le processus pour créer plusieurs enregistrements. À la fin de ce code, je souhaite ajouter des photos uniques pour chaque enregistrement. Avez-vous des suggestions sur la manière de procéder ?

Cordialement
Marc

Ci-joint un extrait de la partie json du code.

submission_data = {

    "fields": {
        "nom_complet": {

            "value": "Hakob Hakobi",
            "type": "text",
            "subtype": "text",
            "hidden": "false",
            "time": {
                "Hakob Hakobi": ""
            }
        }
        ,
        "adresse_mail": {

            "value": "h.ffrf@gmail.fr",
            "type": "text",
            "subtype": "mail",
            "hidden": "false",
            "time": {
                "h.ffrf@gmail.fr": ""
            }
        }
        ,
        "numero_de_telephone": {

            "value": "0455698745",
            "type": "text",
            "subtype": "tel",
            "hidden": "false",
            "time": {
                "0455698745": ""
            }
        }
        ,
        "date_fin": {

            "value": "2023-11-23",
            "type": "datetime",
            "subtype": "date",
            "hidden": "false",
            "time": {
                "23\/11\/2023": ""
            }
        }
        ,
        "photo2": {

            "value": "c38423f942671pu574817_20231124003948_68",
            "type": "photo",
            "multiple": "false",
            "hidden": "false",
            "time": {
                "c38423f942671pu574817_20231124003948_68": "2023-11-24 00:39:48"
            }
        }
    }
}

payload = json.dumps(submission_data)

Je pense que le problème vient du fait qu’il est nécessaire de d’abord télécharger l’image dans le média, puis de remplir la valeur dans le JSON pour obtenir un résultat correct, comme illustré dans l’image ci-dessous :

image

Autrement, si je place directement dans photo2 => « value »: base64_image, j’obtiens ceci :

image

Ma question est donc : comment puis-je « Uploader » une image en format base64 ou autre via une API REST ?

Merci en avance
Marc

A ma connaissance, il n’est pas possible d’envoyer une image sur un enregistrement via l’API.
En tout cas, je n’ai rien vu du genre dans la documentation et dans le swagger.