API Abonnements
Cet objet représente les abonnements du site Le Temps.
Endpoints disponibles
Recherche d’abonnements
Détail d’un abonnement
Créer un abonnement
Modifier un abonnement
Mettre fin à un abonnement
Recherche d’abonnements
URL : https://www.letemps.ch/api/subscriptions
Type d’appel : GET
Paramètre | Type | Obligatoire | Commentaire | Exemple |
---|---|---|---|---|
erp_id | string | Non | LTABO987654321 |
https://www.letemps.ch/api/subscriptions?erp_id=LTABO987654321
L’appel renvoie un statut 200
à partir du moment où elle s’effectue correctement, même s’il ne trouve pas de résultats. Il renvoie un statut 400
si aucun paramètre de recherche valable n’a été trouvé.
Si la requête est valable il renvoie également un tableau subscriptions
contenant les objets trouvés, sinon il renvoie un code
d’erreur.
{
"subscriptions": [
{
"id": 654321,
"erp_id": "LTABO987654321",
"name": "Digital - Abonnement annuel",
"code": "DIGITAL-ANNUEL",
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"user_id": 123456,
"invoices": [
{
"id": 567,
"code": "ADIGI240101",
"total": "120.0",
"creation_date": "2024-01-01",
"due_date": "2024-02-01",
"status": "paid",
"paid_amount": "120.0",
"remaining_amount": "0.0"
}
]
},
{...}
]
}
ou
{
"code": "no_param"
}
Détail d’un abonnement
URL : https://www.letemps.ch/api/subscriptions/:id
Type d’appel : GET
Paramètre | Type | Obligatoire | Exemple |
---|---|---|---|
id (dans l’url directement) | integer | Oui | 654321 |
https://www.letemps.ch/api/subscriptions/654321
L’appel renvoie un statut 200
si l’abonnement a bien été trouvé, ou un statut 404
en cas d’échec.
Si l’abonnement a été trouvé il renvoie également un objet subscription
, sinon il renvoie un code
d’erreur.
{
"subscription": {
"id": 654321,
"erp_id": "LTABO987654321",
"name": "Digital - Abonnement annuel",
"code": "DIGITAL-ANNUEL",
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"user_id": 123456,
"invoices": [
{
"id": 567,
"code": "ADIGI240101",
"total": "120.0",
"creation_date": "2024-01-01",
"due_date": "2024-02-01",
"status": "paid",
"paid_amount": "120.0",
"remaining_amount": "0.0"
}
]
}
}
ou
{
"code": "not_found"
}
Créer un abonnement
URL : https://www.letemps.ch/api/subscriptions
Type d’appel : POST
L’appel doit se faire en POST
, et contenir un objet json subscription
.
Cet objet doit/peut contenir les propriétés suivantes :
Propriété | Type | Obligatoire | Exemple | Commentaire |
---|---|---|---|---|
user_id | integer | Oui | 123456 | |
contract | string | Oui | DIGITAL-ANNUEL | Doit correspondre à un code contrat disponible sur la plateforme |
start_date | string | Oui | 01/01/2025 | |
reseller_id | integer | Non | 234567 | Votre id de revendeur |
sponsorship_quantity | integer | Non | 2 | |
additional_print_quantity | Integer | Non | 1 | |
offer | string | Non | LT20ANS | Doit correspondre à une offre valide sur la palteforme |
{
"subscription": {
"user_id": 123456,
"contract": "DIGITAL-ANNUEL",
"start_date": "01/08/2025",
"reseller_id": 234567,
"sponsorship_quantity": 2,
"additional_print_quantity": 1,
"offer": ""
}
}
L’appel renvoie un statut 200
si l’abonnement a bien été créé. Autrement il renvoie un statut d’erreur en cas d’échec.
Si l’abonnement a bien été créé il renvoie également un objet subscription
, sinon il renvoie un code
d’erreur et éventuellement des précisions sur l’erreur.
{
{
"subscription": {
"id": 654321,
"erp_id": null,
"name": "Digital - Abonnement annuel",
"code": "DIGITAL-ANNUEL",
"start_date": "2025-08-01",
"end_date": "2026-07-31",
"user_id": 123456,
"invoices": []
}
}
}
En cas de problème une de ces erreurs sera indiquée :
Code HTTP | Code erreur | Explication | Commentaire |
---|---|---|---|
400 | invalid_data | Les données envoyées sont incorrectes (mal formatées ?) | |
422 | no_user_id_provided | Aucun nœud user_id na été fourni | |
422 | user_not_found | Aucun utilisateur ne correspond à l’id fourni | |
422 | contract_not_found | Aucun contrat n’a été trouvé avec ce code | |
422 | reseller_not_found | Un identifiant de revendeur a été fourni mais ne correspond à aucun revendeur enregistré | |
422 | offer_not_found | Un code d’offre a été indiqué mais ne correspond à aucun revendeur enregistré | |
422 | not_processable | Une erreur bloque la création | un second nœud details (Array) donnera des précisions sur la raison de l’erreur |
Par exemple :
{
"code": "not_processable",
"details": [
"start_date n'est pas valide"
]
}
Modifier un abonnement
URL : https://www.letemps.ch/api/subscriptions/:id
Type d’appel : PATCH
L’appel doit se faire en PATCH
, et contenir un objet json subscription
.
Cet objet peut contenir les propriétés suivantes :
Propriété | Type | Obligatoire | Exemple | Commentaire |
---|---|---|---|---|
end_date | string | Oui | 01/01/2026 |
{
"subscription": {
"end_date": "01/01/2026"
}
}
L’appel renvoie un statut 200
si l’abonnement a bien été modifié. Autrement il renvoie un statut d’erreur en cas d’échec.
Si l’abonnement a bien été modifié il renvoie également un objet subscription
avec toutes les données à jour, sinon il renvoie un code
d’erreur et éventuellement des précisions sur l’erreur.
{
"subscription": {
"id": 654321,
"erp_id": null,
"name": "Digital - Abonnement annuel",
"code": "DIGITAL-ANNUEL",
"start_date": "2025-08-01",
"end_date": "2026-01-01",
"user_id": 123456,
"invoices": []
}
}
En cas de problème une de ces erreurs sera indiquée :
Code HTTP | Code erreur | Explication | Commentaire |
---|---|---|---|
400 | invalid_data | Les données envoyées sont incorrectes (mal formatées ?) | |
404 | not_found | L’id de l’abonnement fourni n’a pas été trouvé | |
422 | not_processable | Une erreur bloque la modification | un second nœud details (Array) donnera des précisions sur la raison de l’erreur |
Par exemple :
{
"code": "not_processable",
"details": [
"Date de fin n'est pas valide"
]
}
Mettre fin à un abonnement
URL : https://www.letemps.ch/api/subscriptions/:id/terminate
Type d’appel : PATCH
PATCH
, et n’a besoin d’aucun paramètre supplémentaire.L’appel renvoie un statut 200
si l’abonnement a bien été terminé. Autrement il renvoie un statut d’erreur en cas d’échec.
Si l’abonnement a bien été terminé il renvoie également un objet subscription
avec toutes les données à jour, sinon il renvoie un code
d’erreur et éventuellement des précisions sur l’erreur.
{
"subscription": {
"id": 654321,
"erp_id": null,
"name": "Digital - Abonnement annuel",
"code": "DIGITAL-ANNUEL",
"start_date": "2025-08-01",
"end_date": "<DATE D'HIER>",
"user_id": 123456,
"invoices": []
}
}
En cas de problème une de ces erreurs sera indiquée :
Code HTTP | Code erreur | Explication | Commentaire |
---|---|---|---|
400 | invalid_data | Les données envoyées sont incorrectes (mal formatées ?) | |
404 | not_found | L’id de l’abonnement fourni n’a pas été trouvé |
Par exemple :
{
"code": "not_found"
}