API REST v1

Documentation de l'API Propulxia

Intégrez la puissance de Propulxia directement dans votre CRM, vos outils internes ou vos applications. Créez des propositions, gérez vos prospects et recevez des mises à jour en temps réel via nos webhooks.

Introduction

L'API Propulxia est de type REST, basée sur des réponses au format JSON et sécurisée via clé API.

  • URL de base : https://app.propulxia.com/api/v1
  • Format : JSON (Content-Type: application/json)
  • Authentification : Clé API
  • Disponibilité : Forfait Entreprise (pro)

1. Authentification

Toutes les requêtes vers l'API exigent une clé API passée dans l'en-tête de requête HTTP Authorization :

Authorization: Bearer plx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Obtenir une clé API

Les clés se génèrent depuis votre tableau de bord dans Paramètres → Accès API. Vous pouvez nommer plusieurs clés pour différents environnements ou les révoquer à tout moment. La clé n'est affichée qu'une seule fois lors de la création : conservez-la de manière sécurisée.

2. Conventions

  • Les identifiants (id) sont des chaînes de caractères opaques.
  • Les montants sont exprimés dans l'unité monétaire courante (ex: 1500.00 pour 1500,00 $).
  • Les dates (createdAt, etc.) sont des timestamps Unix en millisecondes.
  • Toute erreur renvoie un corps au format {"error": "message"} avec le code HTTP correspondant.

3. Propositions

GET/proposals

Liste les propositions de votre compte.

curl https://app.propulxia.com/api/v1/proposals?status=sent&limit=10 \
  -H "Authorization: Bearer plx_live_..."
{
  "proposals": [
    {
      "id": "abc123",
      "title": "Refonte site web — Acme inc.",
      "status": "sent",
      "clientId": "cl_789",
      "companyId": "co_456",
      "totalAmount": 4500,
      "currency": "CAD",
      "shareUrl": "https://app.propulxia.com/share/a1b2c3...",
      "createdAt": 1737331200000
    }
  ]
}
POST/proposals

Crée une nouvelle proposition.

curl -X POST https://app.propulxia.com/api/v1/proposals \
  -H "Authorization: Bearer plx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Refonte site web",
    "clientId": "cl_789",
    "companyId": "co_456",
    "totalAmount": 4500,
    "currency": "CAD"
  }'
POST/proposals/:id/send

Envoie la proposition par email et change son statut à sent.

curl -X POST https://app.propulxia.com/api/v1/proposals/abc123/send \
  -H "Authorization: Bearer plx_live_..." \
  -H "Content-Type: application/json" \
  -d '{"to": "client@example.com"}'

4. Clients

Gérez vos clients commerciaux (contacts au sein de vos entreprises cibles) via ces endpoints :

MéthodeRouteDescription
GET/clientsListe tous les clients.
GET/clients/:idDétails d'un client.
POST/clientsCréation d'un prospect (firstName, lastName, email).
PATCH/clients/:idMise à jour partielle des infos du client.
DELETE/clients/:idSuppression d'un client.

5. Tâches

Gérez vos tâches de relance ou de suivi associées à vos propositions et prospects :

MéthodeRouteDescription
GET/tasksListe toutes les tâches du compte.
GET/tasks/:idRécupère les détails d'une tâche.
POST/tasksCréée une tâche (title, dueDate requis).
PATCH/tasks/:idModifie une tâche existante.
DELETE/tasks/:idSupprime une tâche.

Exemple de création de tâche :

curl -X POST https://app.propulxia.com/api/v1/tasks \
  -H "Authorization: Bearer plx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Relancer le client Acme",
    "dueDate": 1789958156189,
    "proposalId": "abc123",
    "status": "todo"
  }'

6. Modèles (Templates)

Récupérez en lecture seule les modèles de propositions structurés créés sur votre compte :

MéthodeRouteDescription
GET/templatesListe tous les modèles.
GET/templates/:idDétails et sections d'un modèle.

7. Catalogue Produits

Synchronisez votre bibliothèque d'articles ou grilles tarifaires avec vos outils de facturation :

MéthodeRouteDescription
GET/productsListe les produits.
GET/products/:idDétails d'un produit.
POST/productsCréation d'un produit (name, price requis).
PATCH/products/:idMise à jour d'un produit.
DELETE/products/:idSuppression d'un produit.

8. Collaborateurs (Équipe)

Gérez les comptes des collaborateurs de votre organisation commerciale :

MéthodeRouteDescription
GET/employeesListe l'équipe.
GET/employees/:idDétails d'un collaborateur.
POST/employeesAjout d'un membre (firstName, lastName, email requis).
PATCH/employees/:idMise à jour d'un membre.
DELETE/employees/:idRetrait d'un membre.

9. Reporting

GET/reports/summary

Récupère des KPI sur vos performances commerciales.

{
  "totalProposals": 42,
  "byStatus": { "backlog": 5, "in_progress": 3, "sent": 10, "won": 20, "lost": 4 },
  "totalValue": 187500,
  "wonValue": 92000,
  "winRate": 0.8333
}

10. Webhooks

Abonnez une URL HTTPS pour recevoir des notifications en temps réel.

Événements disponibles :

  • proposal.created : Proposition créée via l'API.
  • proposal.sent : Proposition envoyée.
  • proposal.paid : Paiement d'acompte ou solde confirmé.
  • proposal.signed : Proposition signée électroniquement par le client.

Souscription :

curl -X POST https://app.propulxia.com/api/v1/webhooks \
  -H "Authorization: Bearer plx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://votre-service.com/webhooks/propulxia",
    "events": ["proposal.sent", "proposal.paid"]
  }'

11. Intégrations (Zapier)

Connectez Propulxia à plus de 6 000 applications via Zapier, sans écrire de code. L'intégration officielle s'appuie sur cette API et ses webhooks.

Déclencheurs (quand un événement survient dans Propulxia) :

  • proposal.created
  • proposal.sent
  • proposal.signed
  • proposal.paid
  • new_client

Actions (Zapier agit dans Propulxia) :

  • create_proposal
  • create_client
  • send_proposal

Recherche :

  • find_client

Se connecter

Dans Zapier, cherchez « Propulxia », puis collez une clé API générée dans Réglages → Accès API. Chaque Zap agit sur votre compte uniquement.

12. Codes d'erreur

CodeSignification / Cause
400Requête mal formée ou champs obligatoires manquants.
401Authentification absente ou clé API invalide.
403Le forfait n'inclut pas l'API ou droit insuffisant sur la ressource.
404Ressource introuvable.

13. Limites

Il n'y a pas de limitation stricte de débit dans cette version (Rate Limits) sous réserve d'une utilisation raisonnable. La pagination par défaut limite les requêtes de listes à 25 résultats (max 100).