Documentation complète des APIs exposées par l'application pour vendre vos billets directement depuis votre application ou votre site web. Vous ne pouvez vendre que les billets des événements que vous publiez ici.
Authentification
Toutes les routes API sont sécurisées et nécessitent l'en-tête HTTP suivant :
x-api-key: VOTRE_TOKEN_API
(Voir votre API key dans vos paramètres de compte). Assurez-vous d'inclure cet en-tête dans toutes vos requêtes pour accéder aux fonctionnalités de l'API.
Base URL
https://netticket.net/api/$endpoint
Endpoints
GET get/{event_reference}/tickets
Récupère les tickets de votre événement.
- Paramètre URL :
event_reference
Réponse réussie :
{
"tickets": [
{
"id": ...,
"name": ...,
"price": ...,
"description": ...,
"stock": ...,
"x_refund": ...,
"x_active": ...
},
...
]
}
Erreur :
400 : { "message": "Event not found!" }
Note : Vous devez être le propriétaire de l'événement.
POST /payment/mobile
Crée un paiement mobile.
- email (string, obligatoire)
- phone (integer, obligatoire), Exemple : 6xxxxxxxx
- ticket_code (string, obligatoire)
- modality (integer, obligatoire, valeurs : 1 pour Gratuit, 3 pour MTN Mobile Money, 4 pour Orange Money)
- quantity (integer, facultatif, défaut 1)
- name (string, facultatif)
- notification (boolean, facultatif, défaut true)
- promo_code (facultatif, string)
Réponses possibles :
200:{ "success": "Payment successful!" }210:{ "pending": "Transaction is already pending!" } Dans vous pouvez utilisez l'API transaction check pour vérifier l'état de la transaction.400:{ "message": "Insufficient funds!" }ou{ "error": "Payment failed!" }500:{ "message": "Impossible transaction!" }
Données :
"data": {
"transaction_id": 123456,
"reference": "n_123456789",
"amount": 100,
"email": "user@example.com",
"phone": "123456789",
"name": "Netticket user",
"owner": "Owner Name",
"owner_email": "owner@example.com"
}
Condition : le ticket et l'événement doivent être actifs, l'événement doit appartenir à l'utilisateur authentifié et la date de fin ne doit pas être passée.
POST /payment/card
Créer un paiement par carte bancaire.
- email (string, obligatoire)
- card_number (string, obligatoire)
- card_expiration (string, obligatoire), au format MM / AA
- card_cvv (string, obligatoire)
- phone (numeric, facultatif)
- ticket_code (string, obligatoire)
- quantity (integer, facultatif, défaut 1)
- name (string, facultatif)
- notification (boolean, facultatif, défaut true)
Réponses possibles :
200:{ "success": "Payment successful!" }210:{ "pending": "Transaction is already pending!" } Dans vous pouvez utilisez l'API transaction check pour vérifier l'état de la transaction.400:{ "message": "Insufficient funds!" }ou{ "error": "Payment failed!" }500:{ "message": "Impossible transaction!" }
Données :
"data": {
"transaction_id": 123456,
"reference": "n_123456789",
"amount": 100,
"email": "user@example.com",
"phone": "123456789",
"name": "Netticket user",
"owner": "Owner Name",
"owner_email": "owner@example.com"
}
GET /payment/{transaction_id}/check
Vérifie l'état d'un paiement.
- Paramètre URL :
transaction_id
Réponses possibles :
200:{ "success": "Transaction successful" }400:{ "error": "Transaction failed" }
POST /promotion/apply
Applique un code promotionnel à un événement.
- code (string, obligatoire)
- even_reference (string, obligatoire)
- amount (numeric, obligatoire)
Réponses possibles :
200:{ 'success' => "message de succès", 'discount' => ..., 'discount_amount_formatted' => ..., 'final_amount_formatted' => ..., 'final_amount' => ... }400:{ "error": "Echec de l'application du code promotionnel!" }
Webhooks
Netticket envoie ici les événements webhook. Chaque fois qu'un paiement est effectué, un webhook est déclenché. Le webhook contient des informations détaillées sur la transaction, y compris le statut du paiement.
Vous pouvez enregistrer dans votre profil développeur :
- webhook_url : l’URL cible qui recevra le JSON complet du webhook.
- webhook_hash : la valeur envoyée dans l’en-tête
verif-hashpour signer la notification.
Payload Netticket :
{
"event": "charge.completed",
"data": {
"id": "123456",
"status": "successful",
"tx_ref": "n_123456789",
"created_at": "2024-06-01 2:00:00",
"amount": 100,
"charged_amount": 100,
"currency": "xaf"
}
}
Les status possibles du paiement sont : successful, failed, cancelled, abandoned.