IDpack API - ReferenceIDpack API - Référence
L’API IDpack repose sur REST. Notre API utilise des URL orientées ressources prévisibles, accepte les corps de requête encodés en formulaire, retourne des réponses codées en JSON, et utilise les codes de réponse HTTP, l’authentification et les verbes standards. Ci-dessous, vous trouverez la liste des actions et propriétés disponibles. Chaque Payload doit avoir la structure de données minimale. Toutes les propriétés supplémentaires de l’API doivent être ajoutées à l'objet API. La propriété de l'objet API api_queries_remaining indique le nombre de requêtes restantes dans votre compte. Pour économiser de l’espace, dans les exemples ci-dessous, l’objet de réponse de l’API affichera « API OBJECT » puisqu’ils possèdent tous la même structure. Notre bibliothèque cliente gratuite et open source : https://github.com/idpackcloud/idc-php
URL DE BASE
https://api.idpack.cloud
EXEMPLE DE PAYLOAD
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "api": { "api_authorization": "basic", "api_action": "THE ACTION", "api_primary_key": { "YOUR PRIMARY KEY": "YOUR RECORD ID" }, "api_output_format": "json", "api_version": "3.2.40" } }

Authentification

L’API IDC utilise Basic Auth et les clés API pour authentifier les requêtes. Vous pouvez visualiser et gérer vos clés API dans le tableau de bord IDC. Vos clés API disposent de nombreux privilèges, veuillez donc les garder en sécurité ! Ne partagez jamais vos clés API secrètes dans des zones accessibles au public telles que GitHub, du code côté client, etc. Chaque utilisateur possède une clé secrète différente, et vous ne devez jamais la partager. IDC ne demandera jamais votre clé secrète par courriel, clavardage ou téléphone. Toutes les requêtes API doivent être faites via HTTPS. Les appels faits en HTTP simple échoueront. Les demandes API sans authentification échoueront aussi. Vous aurez besoin d’un nom d’utilisateur, mot de passe, clé secrète utilisateur et clé secrète de projet pour vous connecter à l’API IDC.
CONNEXION À L’API
require_once 'idc.class.php'; $idc = new IDpack( 'username', 'password', 'user_secret_key', 'project_secret_key' );

get_record

OBTENEZ une structure de données (JSON ou XML) d’une fiche de projet. Une Photo en Base64 et/ou un Aperçu badge peuvent être inclus dans la structure de données. Propriétés
PropriétésValeurOptionnelle
api_authorizationbasic
api_actionget_record
api_primary_key["YOUR PRIMARY KEY", "ID NUMBER"]
api_output_formatjson ou xml
api_photo_id1

api_photo_id_formatwebp, jpeg ou png

api_badge_preview1

api_badge_preview_formatwebp, jpeg, png ou pdf

api_badge_preview_numberIndiquez l’Aperçu badge #: 0, 1 ou 2, par défaut 0

api_get_key1

api_version3.2.40
"api_Photo_ID": 1, "api_photo_id_format": "webp",
Ajoutez ces deux lignes à l’objet API pour obtenir la Photo en Base64 avec la structure de données de réponse.
"api_Badge_Preview": 1, "api_badge_preview_format": "webp",
Ajoutez ces deux lignes à l’objet API pour obtenir l’Aperçu badge en Base64 avec la structure de données de réponse.
"api_badge_preview_number": 2
La propriété api_badge_preview_number permet de sélectionner le mode Duplex (0), Face avant (1), ou Face arrière (2) du badge. Ajoutez cette ligne à l’objet API pour obtenir l’Aperçu de badge – Dos.
"api_get_key": 1
La propriété api_get_key (valeur par défaut : 0). La mettre à 1 ajoutera le idc_key de la fiche et le idc_project dans la réponse.
PHP public function get_record
$response = $idc->get_record(['idc_id_number' => '10000']); echo $response;
POST https://api.idpack.cloud/producer
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "api": { "api_authorization": "basic", "api_action": "get_record", "api_primary_key": { "idc_id_number": "10000" }, "api_output_format": "json", "api_version": "3.2.40" } }
RÉPONSE
{ "status": "success", "message": null, "code": 200, "data": { "record": { "idc_id_number": "10000", PLUS DE CHAMPS … } }, "api": { API OBJECT } }

get_all_records

OBTENEZ une structure de données (JSON ou XML) de toutes les fiches d’un projet. Il n’est pas permis d’inclure la Photo en Base64 et/ou l’Aperçu badge dans cette vue. La sortie serait trop volumineuse. La propriété records_count indique le nombre de fiches retournées par l’API. Vous pouvez ensuite boucler sur les objets pour obtenir toutes les fiches. Propriétés
PropriétésValeurOptionnelle
api_authorizationbasic
api_actionget_all_records
api_output_formatjson, xml
api_get_keys1

api_version3.2.40
"api_get_keys": 1
La propriété api_get_keys (valeur par défaut : 0). La mettre à 1 ajoutera le idc_key de la fiche (ou des fiches) ainsi que le idc_project dans la réponse.
POST https://api.idpack.cloud/producer
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "api": { "api_authorization": "basic", "api_action": "get_all_records", "api_output_format": "json", "api_version": "3.2.40" } }
RÉPONSE
{ "status": "success", "message": null, "code": 200, "data": { "records_count": 223, "records": { "record_1": { "idc_id_number": "10000", PLUS DE CHAMPS … }, "record_2": { "idc_id_number": "10001", PLUS DE CHAMPS … }, PLUS D’ENREGISTREMENTS … } }, "api": { API OBJECT } }

get_photo_id

OBTENEZ une Photo de 240x300 pixels (portrait) ou 300x300 pixels (carré) (WebP, PNG ou JPEG) en format Base64 à partir d’une fiche de projet. Rapport d’aspect de la Photo ID La Photo ID rectangulaire respecte le rapport d’aspect 4:5. Il s’agit du format le plus courant pour les photos imprimées, incluant entre autres les tailles 4x5”, 8x10”, 16x20” et 11x14”. Une Photo Carrée ou Arrondie respecte le rapport d’aspect 1:1. Ce rapport signifie que la largeur et la hauteur de l’image sont identiques, formant un carré. Ce ratio est standard pour les photos d’impression, les sites Web, les écrans mobiles et les plateformes de médias sociaux. Qu’est-ce que Base64 ? Comme tous les schémas d’encodage binaire-vers-texte, Base64 est conçu pour transporter des données binaires via des canaux qui ne prennent en charge de manière fiable que du contenu texte. Ainsi, Base64 est très utilisé sur le Web, notamment pour intégrer des fichiers image ou autres ressources binaires dans des contenus textuels comme les fichiers PDF.
< img src="data:image/webp;base64,UklGRqAAHIAAA…" width="240" height="300" >
Exemple Base64 HTML La propriété photo_id_count indique le nombre de Photo ID retournées par l’API. Vous pouvez ensuite boucler pour obtenir toutes les Photo ID. Le paramètre api_output_format Base64 retournera la Photo ID sans structure de données. Vous pouvez ainsi insérer une Photo ID directement dans une interface utilisateur (UI) sans gérer de JSON ou XML. S’il n’y a pas de Photo ID, la valeur retournée sera false.
data:image/webp;Base64,UklGRqwWAABXRUJQVlA4WAoAAAAgAAAA7wAAKwEA…
Réponse (Base64)Propriétés
PropriétésValeurOptionnelle
api_authorizationbasic 
api_actionget_photo_id 
api_primary_key["YOUR PRIMARY KEY", "ID NUMBER"] 
api_output_formatjson, xml ou base64 
api_photo_id_formatwebp, jpeg ou png 
api_version3.2.40 
POST https://api.idpack.cloud/producer
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "api": { "api_authorization": "basic", "api_action": "get_photo_id", "api_primary_key": { "idc_id_number": "10000" }, "api_output_format": "json", "api_photo_id_format": "webp", "api_version": "3.2.40" } }
RÉPONSE
{ "status": "success", "message": null, "code": 200, "data": { "photo_id_count": 1, "photo_id_1": { "imagedata": "data:image\/webp;Base64,UklGRqAAHIAAA...", "width": 240, "height": 300, "imageformat": "webp", "status": "success", "message": null, "code": 200 } }, "api": { API OBJECT } }

get_badge_preview

OBTENEZ un Aperçu de badge de 1013x639 pixels (paysage) ou 639x1013 pixels (portrait) (WebP, PNG, JPEG ou PDF) en Base64 à partir d’une fiche de projet. Dimension CR80 Le format CR80 est la taille de carte la plus courante et la plus utilisée dans le monde. Les dimensions sont de 3,375″ x 2,125″ (85,6 mm x 54 mm) avec un rayon de coin de .09″ (2,29 mm). Sortie WebP, PNG, JPEG L’API IDC enverra une image Base64 avec la dimension exacte des cartes CR80 à 300 dpi pour une qualité d’impression maximale. Pour l’impression de badges, nous recommandons d’utiliser le format PNG. Il utilise une compression sans perte, contrairement au JPEG, ce qui préserve les détails de l’image à l’impression. Pour l’aperçu à l’écran, le meilleur format est WebP, qui propose la meilleure compression/qualité d’image. Qu’est-ce que WebP ? WebP est un format d’image développé par Google en remplacement des formats JPEG, PNG et GIF. Google a annoncé le format WebP en septembre 2010 et publié la première version de sa bibliothèque en avril 2018. En date de novembre 2021, 96% des navigateurs Web prennent en charge WebP. Sortie PDF La sortie PDF est le véritable avantage d’IDpack. Avec le PDF en Base64, vous obtiendrez votre aperçu de badge en mode vectoriel (comme Adobe Illustrator ou SVG) pour une qualité d’impression optimale. Les images bitmap sont composées de pixels fixes, alors que les images vectorielles sont formées de groupes de formes. En augmentant la taille d’une image vectorielle, la forme demeure intacte. Ainsi, que vous imprimiez à 300, 600 ou 1200 dpi, le résultat sera toujours optimal.
< embed src="data:application/pdf;base64,JVBERi0xLjcK…" type="application/pdf" >
Exemple Base64 HTML PDF La propriété badge_preview_count indique le nombre d’aperçus de badge retournés par l’API. Vous pouvez ensuite boucler pour obtenir tous les aperçus. Le paramètre api_output_format Base64 retournera l’aperçu de badge sans structure de données. Vous pouvez ainsi insérer un aperçu de badge directement dans une interface utilisateur (UI) sans manipuler de JSON ou XML. S’il n’y a pas d’aperçu de badge, la valeur retournée sera false. Le résultat base64 peut seulement transmettre une image ; par défaut, l’API IDC retournera le premier aperçu (1). La propriété api_badge_preview_number permet de sélectionner le mode Duplex (0), Face avant (1), ou Face arrière (2) du badge.
"api_badge_preview_number": 2
Pour recevoir api_output_format – Aperçu de badge – Dos, ajoutez cette ligne à l’objet API
data:application/pdf;base64,JVBERi0xLjcIC9MYXN0TW…
Réponse (Base64)Propriétés
PropriétésValeurOptionnelle
api_authorizationbasic
api_actionget_badge_preview
api_primary_key["YOUR PRIMARY KEY", "ID NUMBER"]
api_output_formatjson, xml ou base64
api_badge_preview_formatwebp, jpeg, png ou pdf
api_badge_preview_numberIndiquez l’Aperçu badge #: 0, 1 ou 2, par défaut 0 et 1 pour base64

api_version3.2.40
POST https://api.idpack.cloud/producer
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "api": { "api_authorization": "basic", "api_action": "get_badge_preview", "api_primary_key": { "idc_id_number": "10000" }, "api_output_format": "json", "api_badge_preview_format": "webp", "api_version": "3.2.40" } }
RÉPONSE
{ "status": "success", "message": null, "code": 200, "data": { "badge_preview_count": 1, "badge_preview_1": { "imagedata": "data:application\/pdf;base64,JVBERi0xLjcK...", "width": 1013, "height": 639, "imageformat": "webp", "status": "success", "message": null, "code": 200 } }, "api": { API OBJECT } }

post_record (Insérer)

Insérer une structure de données dans une fiche de projet. Une Photo en Base64 et les statuts : ACTIVE et TRASH peuvent également être inclus dans la structure de données. Objet de données L’objet de données liste tous les champs à mettre à jour dans la base de données IDpack. Vous pouvez trouver la liste de nos champs ici : https://www.idpack.cloud/docs/designer/project-list/edit-project/field-definition/available-database-fields/. IDC gère entièrement la base de données, et vous devez sélectionner les champs pour la collecte de données. Ces champs seront reflétés dans Designer et Producer, puisque chaque projet possède sa propre configuration dans l’onglet Définition des champs. Vous ne trouvez pas le champ requis ? Demandez l’ajout d’un champ ici. Comment envoyer une Photo ID à IDC ? En insérant (post_record) ou en mettant à jour (put_record), ajoutez la propriété photo_id_1 à l’objet data. La valeur doit être une Photo ID en Base64 (jpeg, png ou webp). Tout autre format sera ignoré.
"photo_id_1": "data:image\/webp;base64,UklGRqwWAABXRUJQVlA4WAoAAAAgAAA..."
ExemplePropriétés « data »
PropriétésValeurOptionnelle
idc_active1 (actif par défaut) ou 0 (inactif)

idc_trash1 (dans la corbeille) ou 0 (hors de la corbeille par défaut)

idc_colorcodenull ou 1 à 15

photo_id_1L’image Base64 doit être au format jpeg, png ou webp.

Propriétés
PropriétésValeurOptionnelle
api_authorizationbasic
api_actionPUSH_record
api_output_formatjson, xml
api_version3.2.40
POST https://api.idpack.cloud/producer
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "data": { "idc_firstname": "David", "idc_lastname": "Wilsons", "idc_email": "[email protected]" }, "api": { "api_authorization": "basic", "api_action": "post_record", "api_output_format": "json", "api_version": "3.2.40" } }
RÉPONSE
{ "status": "success", "message": null, "code": 200, "data": { "idc_id_number": "10023" }, "api": { "api_action": "post_record", "api_queries_remaining": 8706, "api_software": "IDpack", "api_version": "3.2.40", "api_request_date": "2023-02-08 17:29:53" } }

put_record (Mise à jour)

Mettez à jour la structure de données d’une fiche de projet. La structure de données peut aussi inclure une Photo en Base64 et le statut ACTIVE, TRASH ou DELETE. Quelle est la différence entre PUT et POST ? La méthode PUT de HTTP sert généralement à mettre à jour une ressource existante, tandis que la méthode POST crée une nouvelle ressource. Objet de données L’objet de données liste tous les champs à mettre à jour dans la base de données IDpack. Vous pouvez trouver la liste de nos champs ici : https://www.idpack.cloud/docs/designer/project-list/edit-project/field-definition/available-database-fields/. IDC gère entièrement la base de données, et vous devez choisir les champs pour la collecte de données. Ces champs seront reflétés dans Designer et Producer, puisque chaque projet possède sa propre configuration dans l’onglet Définition des champs. Vous ne trouvez pas le champ requis ? Demandez l’ajout d’un champ ici. Comment envoyer une Photo ID à IDC ? En insérant (post_record) ou en mettant à jour (put_record), ajoutez la propriété photo_id_1 à l’objet data. La valeur doit être une Photo ID en Base64 (jpeg, png ou webp). Tout autre format sera ignoré.
"photo_id_1": "data:image\/webp;base64,UklGRqwWAABXRUJQVlA4WAoAAAAgAAA..."
ExemplePropriétés « data »
PropriétésValeurOptionnelle
idc_active1 (actif par défaut) ou 0 (inactif)

idc_trash1 (dans la corbeille) ou 0 (hors de la corbeille par défaut)

idc_delete1 (supprimé)

idc_colorcodenull ou 1 à 15

photo_id_1L’image Base64 doit être au format jpeg, png ou webp.

La fiche sera supprimée si idc_delete est à 1. Il n’existe aucun retour en arrière; cette fiche et la photo seront supprimées de façon permanente.Propriétés
PropriétésValeurOptionnelle
api_authorizationbasic
api_actionput_record
api_output_formatjson, xml
api_version3.2.40
POST https://api.idpack.cloud/producer
{ "user_secret_key": "YOUR USER SECRET KEY", "project_secret_key": "YOUR PROJECT SECRET KEY", "data": { "idc_firstname": "David", "idc_lastname": "Wilsons", "idc_email": "[email protected]" }, "api": { "api_authorization": "basic", "api_action": "put_record", "api_primary_key": { "idc_id_number": "10000" }, "api_output_format": "json", "api_version": "3.2.40" } }
RÉPONSE
{ "status": "success", "message": null, "code": 200, "data": { "idc_id_number": "10000" }, "api": { "api_action": "put_record", "api_queries_remaining": 8706, "api_software": "IDpack", "api_version": "3.2.40", "api_request_date": "2023-02-08 17:29:53" } }