DocumentationWooCommerce

03 · Revenus

Connecter WooCommerce et lier chaque commande à sa visite

Tally lit les commandes payées et les remboursements de votre boutique, et lie chacune par la page « Commande reçue ». Autorisez-le dans WooCommerce, ou collez une clé.

01Connecter en un clic

  1. Sur la page Integrations de votre site, ouvrez WooCommerce. Sous Connect in one click, saisissez l’adresse de votre boutique et cliquez sur Approve in WooCommerce.

  2. Tally indique ce qui lui sera accordé : il lit vos commandes et remboursements, ajoute deux webhooks, et ne modifie jamais une commande. Cliquez sur Continue to WooCommerce.

  3. WooCommerce s’ouvre sur votre boutique et affiche Tally would like to connect to your store. Connectez-vous si on vous le demande (en tant qu’administrateur ou gérant de boutique) et cliquez sur Approve.

  4. Vous revenez sur Integrations : WooCommerce is connected, et les 365 derniers jours sont en cours d’import.

Avec l’extension WordPress sur votre boutique, son bouton Connect WooCommerce to Tally lance la même autorisation.

02Ou connecter avec une clé d’API REST

  1. Créer une clé d’API REST dans WooCommerce

    Tally ne fait que lire vos commandes et remboursements ; la seule chose qu’il écrit, ce sont ses deux propres webhooks. Dans l’administration de WordPress, ouvrez WooCommerce › Settings › Advanced › REST API et choisissez Add key : sélectionnez votre utilisateur, réglez Permissions sur Read/Write et générez la clé (le guide de WooCommerce). Voici tout ce que Tally en fait :

    AutorisationAccèsPourquoi
    OrdersReadChaque commande payée : son montant et ses taxes, et l’e-mail du client (haché immédiatement, jamais stocké). Les noms et adresses ne sont jamais stockés.
    RefundsReadQuand chaque remboursement a eu lieu, et combien de taxes il a rendu.
    WebhooksWriteTally ajoute ses deux propres webhooks (commande créée, commande mise à jour), pour que les ventes arrivent en quelques secondes. Il n’écrit rien d’autre.

    Read/Write ne sert qu’à ajouter les webhooks : Tally ne modifie jamais une commande. Révoquez la clé au même endroit à tout moment.

  2. Coller la clé d’API REST

    Sur la page Integrations de votre site (ou à l’étape Payments quand vous ajoutez un site), ouvrez WooCommerce et renseignez :

    • Store address : telle qu’elle apparaît dans le navigateur. WooCommerce n’accepte les clés qu’en HTTPS.
    • Consumer key : affichée une seule fois, avec le secret, à la création de la clé. Tally stocke les deux chiffrés et ne les affiche plus jamais.
    • Consumer secret : il commence par cs_.

    Cliquez ensuite sur Connect WooCommerce.

  3. Tally vérifie l’accès et importe l’année écoulée

    Il vérifie la clé auprès de votre boutique, ajoute ses deux propres webhooks pour que les nouvelles commandes arrivent au moment où elles ont lieu, et importe les 365 derniers jours, remboursements compris. Toutes les 30 minutes, il lit aussi les commandes modifiées : une livraison que WooCommerce n’a pas pu effectuer n’est donc jamais perdue. Avec le snippet de Tally sur la boutique, la page « Commande reçue » rattache chaque commande à la visite de son acheteur.

03Ce que Tally lit et conserve

  • Deux webhooks, order.created et order.updated (qui se déclenche aussi pour les remboursements), apportent les nouvelles commandes en quelques secondes. Toutes les 30 minutes, Tally lit aussi les commandes modifiées et réactive un webhook désactivé : WooCommerce ne réessaie jamais une livraison, et désactive un webhook après cinq échecs consécutifs.
  • Une commande est une vente une fois payée : en cours, terminée, remboursée, ou avec une date de paiement. Les commandes en attente de paiement, en attente et échouées ne sont pas des ventes. Son montant est le total hors taxes, dans la devise de la commande ; chaque remboursement compte à sa propre date.
  • Ce qui est conservé d’une commande : montants, dates, statut, identifiants des remboursements, identifiant du visiteur, et hachages de la clé de commande et de l’e-mail de facturation. Les noms, adresses, numéros de téléphone, adresses IP et lignes de commande ne sont jamais stockés.
  • Les commandes de renouvellement de WooCommerce Subscriptions sont des commandes comme les autres : chacune est une vente, liée par sa propre preuve.

04Lier chaque commande à sa visite

Placez le snippet sur chaque page de la boutique, page « Commande reçue » comprise (l’en-tête de votre thème, ou une extension qui ajoute du code dans le head de chaque page). Quand un acheteur arrive sur cette page, la commande est rattachée à sa visite, sans rien d’autre à ajouter à WooCommerce. Cela fonctionne dans tous les modes, sans cookie compris.

HTML
<script defer data-site="k3xq2mfa7twp" src="https://t.tallybyoutpost.com/script.js"></script>

Pour les acheteurs qui n’atteignent jamais cette page (une passerelle qui ne les renvoie pas), enregistrez l’identifiant du visiteur sur la commande au moment du paiement. Ces lignes fonctionnent avec la page de paiement classique comme en blocs :

functions.php
// Your theme's functions.php, or a code snippets plugin: saves the visitor's id on the
// order at checkout, for buyers who never reach the order-received page.
function tally_save_visitor_id( $order ) {
    $id = isset( $_COOKIE['_tally_vid'] ) ? $_COOKIE['_tally_vid'] : '';
    if ( preg_match( '/^[A-Za-z0-9_-]{8,64}$/', $id ) ) {
        $order->update_meta_data( 'tally_visitor_id', $id );
    }
}
add_action( 'woocommerce_checkout_create_order', 'tally_save_visitor_id' );
add_action( 'woocommerce_store_api_checkout_update_order_meta', 'tally_save_visitor_id' );

05Déconnexion

Déconnectez sur la page Integrations : Tally retire ses webhooks de la boutique, et les commandes déjà importées restent, avec leurs justificatifs. Il ne peut pas supprimer lui-même la clé d’API REST : révoquez-la donc dans WooCommerce › Settings › Advanced › REST API.

06Vérifier que ça marche

07Ce qui n’est pas lu

Il manque quelque chose, ou ce n’est pas ce que vous voyez ? Écrivez à support@tallybyoutpost.com en précisant la page.