This help will guide you through the setup and usage of our point of sale cash register software.
Search by keyword in the help section:
Créer et initialiser une boutique — API v2
Utilisez cette version pour les nouvelles intégrations. Le courriel est confirmé avant la création ; la boutique est rattachée à l’identité de son propriétaire et initialisée avec le modèle métier choisi.
POST /workers/createShop.php
Appelez ce point d’entrée depuis votre serveur en HTTPS, avec Content-Type: application/x-www-form-urlencoded et l’en-tête X-Kash-Auth-Request: 1. Les requêtes GET et JSON ne sont pas acceptées.
Conservez une session HTTP distincte par demande de création : récupérez et renvoyez le cookie de session PHP à chaque appel, y compris après son renouvellement. Renvoyez aussi le champ csrf reçu dans chaque réponse après bootstrap. Gardez ces éléments côté serveur ; ne réutilisez pas la session d’un utilisateur de votre site.
Aucune boutique ni clé API ne sont créées avant la confirmation du courriel et, si elle est activée, la double authentification. Le lien est valable 10 minutes et peut être ouvert sur un autre appareil. La session de création reste valable 30 minutes après la confirmation.
1. Ouvrir la demande et confirmer le courriel
| action | Settings | Résultat |
|---|---|---|
bootstrap | action=bootstrap | Renvoie csrf et l’état courant. Le premier état est email_required. |
email_start | csrf, email | Envoie le lien de confirmation au propriétaire ; renvoie state=waiting. Le lien et les secrets d’identité ne sont jamais renvoyés à l’application. |
email_poll | csrf | Vérifie la confirmation. Respectez waiting.poll_after_ms (2 500 ms). Après confirmation : shop_identifier, ou mfa si un code est requis. |
mfa_verify | csrf, code | Vérifie le code de double authentification fourni par le propriétaire, puis reprend le parcours. |
curl -c creation.cookies -b creation.cookies \ -H 'X-Kash-Auth-Request: 1' \ --data-urlencode 'action=bootstrap' \ https://kash.click/workers/createShop.php# Remplacer CSRF par la valeur de la dernière réponse.curl -c creation.cookies -b creation.cookies \ -H 'X-Kash-Auth-Request: 1' \ --data-urlencode 'action=email_start' \ --data-urlencode 'csrf=CSRF' \ --data-urlencode 'email=proprietaire@example.com' \ https://kash.click/workers/createShop.php 2. Identifier et préparer l’établissement
Après confirmation, envoyez action=company_lookup avec csrf et l’un des choix suivants.
| Choix | Settings | Comportement |
|---|---|---|
| Établissement français | identifier=SIRET ou SIREN, test=0, foreign=0 | Recherche les informations de l’entreprise. Si companyChoices est renvoyé, faites choisir un établissement et relancez company_lookup avec son SIRET. |
| Boutique de test | test=1, foreign=0 | Pas de SIRET requis. Les protections du mode test sont appliquées. |
| Établissement étranger | test=0, foreign=1 | Renvoie les pays disponibles ; country et registration seront fournis lors de la création. |
L’état shop_details fournit context.company et presets (id et label). Présentez au propriétaire le nom, les informations et le modèle suggérés pour validation. Si la recherche est indisponible, messageKey=company_lookup_manual permet de poursuivre.
3. Créer et initialiser la boutique
Envoyez action=create avec les paramètres suivants dans la même session.
| Paramètre | Description |
|---|---|
| csrf | Valeur reçue dans la dernière réponse. |
| name | Nom de l’établissement, de 1 à 60 caractères. |
| preset | Identifiant d’un modèle renvoyé dans presets ; default pour le modèle standard. |
| referral | Code de parrainage facultatif. |
| country | Pour un établissement étranger : code pays proposé, différent de FR. |
| registration | Immatriculation facultative pour un établissement étranger. |
{ "ok": true, "success": true, "apiVersion": 2, "state": "complete", "result": "Shop created and attached to your identity", "SHOPID": "12345", "APIKEY": "votre-cle-api", "test": true, "created": true, "csrf": "valeur-csrf"} La boutique, son profil administrateur, sa caisse, ses taxes, ses réglages régionaux et ses données métier sont initialisés par le même mécanisme que dans l’interface. L’accès API est activé uniquement pour cette boutique. Conservez la clé côté serveur.
Pour compléter ensuite les paramètres avancés (coordonnées, tickets, options ou connecteurs), utilisez POST /workers/editShop.php avec shopID, key et data[]. Store account options
Reprise et erreurs
Après une coupure réseau, reprenez avec bootstrap ou répétez create dans la même session avec les mêmes données. Une demande réussie retrouve la même boutique et la même clé ; created vaut alors false. Ne créez pas une autre session pour contourner une erreur creation_pending.
| HTTP / code | Action |
|---|---|
| 400 / invalid_request, invalid_shop_name, registration_required | Corriger les paramètres indiqués. |
| 401 / request_expired, invalid_session | La preuve ou la session a expiré. Vérifier l’état de la demande avant de recommencer une création. |
| 403 / request_expired, email_verification_required, mfa_required | Conserver le cookie et le csrf valides, puis terminer la confirmation requise. |
| 403 / api_key_unavailable | La clé a été révoquée, supprimée ou a expiré. Consulter les clés de la boutique ; une reprise ne recrée pas cet accès. |
| 409 / creation_busy, creation_pending, intent_conflict | Conserver la demande. Patienter pour creation_busy ; demander une vérification pour une création interrompue. |
| 429 / rate_limited | Espacer les appels et respecter les limites. |
| 503 / not_ready, migration_required, service_unavailable, mail_unavailable | Service temporairement indisponible ou installation à terminer. Ne pas basculer automatiquement sur une autre version de l’API. |
Les erreurs renvoient success=false, ok=false, apiVersion=2 et code, sans clé API. L’action cancel abandonne une demande avant création ou ferme une demande terminée ; une création interrompue doit d’abord être vérifiée. Pour une autre boutique, ouvrez une nouvelle demande distincte.
Documentation de l’ancienne version — intégrations existantes
Les nouvelles clés délivrées par authentification ou création de boutique sont des clés gérées, sans expiration et avec toutes les autorisations. Elles apparaissent dans Configuration → Webservices → Clés API et peuvent ensuite être limitées ou révoquées. Les anciennes clés déjà utilisées restent valides.
Sign up now
This document is made available under the terms of the licence Creative Commons Attribution 4.0 International (CC BY 4.0) .