Caisse Enregistreuse

Logiciel de caisse enregistreuse gratuit, en ligne depuis 2011.

Suivez-nous

Centre d'aide

Cette aide est disponible pour vous guider dans l'utilisation de notre logiciel de caisse

Rechercher par mot clé dans l'aide :

Accès rapide : gestes du quotidien

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

actionParamètresRésultat
bootstrapaction=bootstrapRenvoie csrf et l’état courant. Le premier état est email_required.
email_startcsrf, emailEnvoie 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_pollcsrfVérifie la confirmation. Respectez waiting.poll_after_ms (2 500 ms). Après confirmation : shop_identifier, ou mfa si un code est requis.
mfa_verifycsrf, codeVé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.

ChoixParamètresComportement
Établissement françaisidentifier=SIRET ou SIREN, test=0, foreign=0Recherche les informations de l’entreprise. Si companyChoices est renvoyé, faites choisir un établissement et relancez company_lookup avec son SIRET.
Boutique de testtest=1, foreign=0Pas de SIRET requis. Les protections du mode test sont appliquées.
Établissement étrangertest=0, foreign=1Renvoie 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ètreDescription
csrfValeur reçue dans la dernière réponse.
nameNom de l’établissement, de 1 à 60 caractères.
presetIdentifiant d’un modèle renvoyé dans presets ; default pour le modèle standard.
referralCode de parrainage facultatif.
countryPour un établissement étranger : code pays proposé, différent de FR.
registrationImmatriculation 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[]. Options du compte boutique

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 / codeAction
400 / invalid_request, invalid_shop_name, registration_requiredCorriger les paramètres indiqués.
401 / request_expired, invalid_sessionLa 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_requiredConserver le cookie et le csrf valides, puis terminer la confirmation requise.
403 / api_key_unavailableLa 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_conflictConserver la demande. Patienter pour creation_busy ; demander une vérification pour une création interrompue.
429 / rate_limitedEspacer les appels et respecter les limites.
503 / not_ready, migration_required, service_unavailable, mail_unavailableService 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.

Inscrivez-vous maintenant
Licence Creative Commons Ce document est mis à disposition selon les termes de la licence Creative Commons Attribution 4.0 International (CC BY 4.0) .