# API reference

# GraphQL

L’API de Collecticity Dons est GraphQL (Apollo sur Express).

Endpoint POST /graphql
Local http://localhost:3001/graphql
Staging https://api-don-stage.collecticity.fr/graphql (le front proxy aussi https://app-don-stage.collecticity.fr/graphql)
Playground si NODE_ENV=development — ouvrir l’URL /graphql du backend

Schéma (source de vérité) :

  • backend/graphql/typeDefs/types/Query.graphql
  • backend/graphql/typeDefs/types/Mutation.graphql

# Mutations / queries utiles (dons)

Nom Rôle
createContribution Créer un don (CB / virement / chèque)
admin_contributions Liste admin des contributions
admin_completeContribution / admin_uncompleteContribution Valider / dévalider (ex. chèque)
admin_updateContributionAmount Modifier le montant
admin_updateProjectDonationLimit Plafond de don par utilisateur
admin_updateProjectMinimumDonation Don minimum du projet

# Webhooks Mangopay

Handlers dans backend/routes/hooks/ (payIn, payOut, transfer, document, ubo, user, dispute, …).
Exemple documenté dans le code : GET /webhooks/mangopay/payin.

# Crons

Fichiers dans backend/crons/ (démarrés avec le backend) :

  • CronChequeReminder — relance chèques
  • CronWireReminder — relance virements
  • CronHandleProjectCompletion — clôture de collecte
  • CronSendEmailToContributorApprovedButNotContributed
  • CronSendEmailToContributorWalletCreditedButNotContributed
  • CronCloseMangopayUsers
  • CronTransferCommission
  • CronUpdateAdminDashboard
  • CronUpdateWalletBalances
  • CronMoveProjectsToPublicSale
  • CronDeleteUsers
  • CronUploadDocument / CronUploadUBODeclaration

Le détail métier de chaque cron (fréquence, sélection) se lit dans le fichier JS correspondant.