Elenco abbonamenti
Ritorna l'elenco degli abbonamenti registrati, con il numero totale dei record restituiti.
Ogni voce contiene i dati dell'abbonamento: importo addebitato a ogni cadenza, data di inizio, stato, metodo di pagamento e riferimenti a cliente ed esercente.
L'identificativo _id di ogni voce si usa con l'endpoint Dettaglio abbonamento.
Richiesta Http
GET https://api.jatapay.it/abbonamenti
Parametri di query
Nessun parametro è obbligatorio. I risultati si filtrano passando il nome del campo come parametro di query (campo=valore); i filtri presenti vengono applicati in combinazione tra loro.
| Parametro | Richiesto | Tipo | Descrizione |
|---|---|---|---|
| page | No | integer | Numero della pagina dei risultati, a partire da 0 |
| limit | No | integer | Numero di risultati restituiti per pagina |
| sort | No | string | Nome di uno dei campi filtrabili su cui ordinare i risultati |
| dir | No | string | Direzione dell'ordinamento applicata a sort (ad esempio asc o desc) |
Campi filtrabili
Ogni campo dell'abbonamento è anche un parametro di filtro e può essere usato in sort; il valore va indicato nello stesso formato restituito dalla risposta.
| Campo | Tipo | Descrizione | Esempio |
|---|---|---|---|
| _id | string | Identificativo dell'abbonamento | _id=6ad9de671d7bc659f6125dac |
| importo | integer | Importo che deve essere pagato a ogni cadenza, in centesimi di euro | importo=48700 |
| data_inizio | string | Data di inizio dell'abbonamento (AAAA-MM-GG o AAAA-MM-GGThh:mm) | data_inizio=2026-10-22T11:59 |
| stato | string | attiva, insoluta, insolvente, inattiva o conclusa | stato=attiva |
| note | string | Note dell'abbonamento | note= |
| stripe | object | Dati del gateway Stripe | — |
| payment_method | string | Metodo di addebito: sdd o card | payment_method=sdd |
| callback_url | string | URL di ritorno del pagamento | callback_url= |
| vendor | string | Gateway di pagamento utilizzato | vendor=stripe |
| no_billing | boolean | Esclude l'abbonamento dalla fatturazione | no_billing=true |
| data_inserimento | string | Data di inserimento dell'abbonamento (AAAA-MM-GG o AAAA-MM-GGThh:mm) | data_inserimento=2026-10-22T09:59 |
| numero | integer | Numero progressivo dell'abbonamento | numero=675 |
| numero_txt | string | Numero progressivo in formato testuale | numero_txt=675 |
| external_vendor_id | string | Identificativo dell'abbonamento presso il gateway di pagamento | external_vendor_id= |
| cliente | string | Identificativo del cliente (collection clienti) | cliente=6a218ca738c301f9262b9017 |
| esercente | string | Identificativo dell'esercente (collection esercenti) | esercente=6a55ecdfb180394de3e29aa5 |
| iban | string | IBAN di addebito (collection iban); con payment_method = card si usa carta | iban=6ad9de92ee0a0643973ffc9f |
| carta | string | Carta di credito (collection carte_di_credito), alternativa a iban | carta=6ad1f2b3c4d5e6f708192a3f |
| pagamenti | array | Rate dell'abbonamento, con lo schema Pagamento | — |
Esempio di ricerca
GET https://api.jatapay.it/abbonamenti?page=0&limit=25&sort=data_inizio&dir=desc&stato=attiva
- shell
- PHP
- Python
- Node.js
- Go
- .NET
- Java
curl -X GET "https://api.jatapay.it/abbonamenti" \
-H "Authorization: Bearer IL_TOKEN_DI_ACCESSO"
$token = 'IL_TOKEN_DI_ACCESSO';
$url = curl_init("https://api.jatapay.it/abbonamenti");
$authorization = "Authorization: Bearer ".$token;
curl_setopt($url, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($url, CURLOPT_RETURNTRANSFER, true);
curl_setopt($url, CURLOPT_HTTPHEADER, array(
$authorization
));
$result = curl_exec($url);
curl_close($url);
$api_response = json_decode($result);
import requests
token = "IL_TOKEN_DI_ACCESSO"
headers = {
"Authorization": "Bearer " + token
}
response = requests.get("https://api.jatapay.it/abbonamenti", headers=headers)
print(response.status_code)
print(response.json())
const token = 'IL_TOKEN_DI_ACCESSO';
const response = await fetch('https://api.jatapay.it/abbonamenti', {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
});
console.log(response.status, await response.json());
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
const token = "IL_TOKEN_DI_ACCESSO"
req, err := http.NewRequest("GET", "https://api.jatapay.it/abbonamenti", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+token)
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println(res.StatusCode, string(data))
}
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
const string token = "IL_TOKEN_DI_ACCESSO";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync("https://api.jatapay.it/abbonamenti");
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String token = "IL_TOKEN_DI_ACCESSO";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.jatapay.it/abbonamenti"))
.header("Authorization", "Bearer " + token)
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Risposta
La risposta contiene data, l'array degli abbonamenti della pagina richiesta con lo schema Abbonamento, e count con il numero di record.
Ogni voce contiene tutti i campi del modello dati, gli stessi documentati in Campi filtrabili; pagamenti elenca i pagamenti figli dell'abbonamento.
{
"data": [
{
"_id": "6ad9de671d7bc659f6125dac",
"importo": 48700,
"data_inizio": "2026-10-22T11:59",
"stato": "attiva",
"note": "",
"stripe": {},
"payment_method": "sdd",
"callback_url": "",
"vendor": "stripe",
"no_billing": true,
"data_inserimento": "2026-10-22T09:59",
"numero": 675,
"numero_txt": "675",
"external_vendor_id": "",
"cliente": "6a218ca738c301f9262b9017",
"esercente": "6a55ecdfb180394de3e29aa5",
"iban": "6ad9de92ee0a0643973ffc9f",
"pagamenti": [
{
"_id": "6ae07f601d7bc659f6125dcd",
"tipo": "rata_abbonamento",
"importo": 48700,
"abbonamento": "6ad9de671d7bc659f6125dac",
"numero": 1,
"numero_txt": "1",
"data_pagamento": "",
"stato": "unpaid",
"payment_method": "sdd",
"cliente": "6a218ca738c301f9262b9017",
"esercente": "6a55ecdfb180394de3e29aa5"
}
]
}
],
"count": 1
}
Errori
| Codice | Descrizione |
|---|---|
| 400 | Richiesta non valida, parametri mancanti o non coerenti |
| 401 | Token mancante, scaduto o non valido |
| 403 | Ruolo non abilitato all'operazione |
| 500 | Errore interno del server |
Il corpo della risposta di errore contiene sempre error_code (il codice simbolico dell'errore, ad esempio bad_request, oppure il codice HTTP corrispondente) e error_message con il messaggio descrittivo:
{
"error_code": "bad_request",
"error_message": "Messaggio di errore"
}
La richiesta deve avere l'header Authorization: Bearer <token> e, quando è presente un corpo, l'header Content-Type: application/json.
.md da allegare a un assistente AI per integrare le API