Panoramica dell'API di Rently
L'API di Rently è un'API REST che permette di integrare sistemi esterni con la piattaforma di gestione del noleggio veicoli: cercare disponibilità e preventivare, creare e gestire prenotazioni, registrare pagamenti, operare consegne e restituzioni, e gestire clienti, flotta, incidenti e infrazioni.
Questa pagina è la mappa di ingresso al reference: riassume l'essenziale (URL base, autenticazione, lingue) e descrive ogni modulo dell'API con il suo scopo.
URL base
Tutte le chiamate vengono effettuate su HTTPS verso:
https://{tenant}.rently.com.ar
Gli endpoint di business risiedono sotto /api (per esempio GET /api/search).
Rently è multi-tenant. La tua integrazione opera sempre contro l'host del tuo tenant, che identifica l'organizzazione e a cui resta legato il token di accesso.
Autenticazione
L'API usa OAuth2 con token Bearer: richiedi un token con le tue credenziali
e lo invii nell'header Authorization: Bearer {token} in ogni richiesta.
# 1. Ottenere il token (client_credentials)
curl -X POST https://{tenant}.rently.com.ar/auth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id={username}" \
-d "client_secret={password}"
La risposta include access_token, token_type (bearer) e expires_in
(il token è valido per un giorno). Usa quel token nelle chiamate successive:
# 2. Chiamare un endpoint con il token
curl https://{tenant}.rently.com.ar/api/branchoffices \
-H "Authorization: Bearer {token}"
Riutilizza lo stesso token finché non scade invece di richiederne uno nuovo a ogni
chiamata. Se il token è assente, scaduto o non corrisponde al tenant, l'API
risponde 401 indicando l'URL dell'endpoint del token in WWW-Authenticate.
Lingue
L'API risolve la lingua della risposta per richiesta. Per forzare una lingua
specifica, aggiungi il parametro di query ?language= (accetta il nome di cultura
completo, p. es. es-AR, o il codice ISO di due lettere, p. es. es):
curl "https://{tenant}.rently.com.ar/api/categories?language=es-AR" \
-H "Authorization: Bearer {token}"
Se non viene specificata, si usa la lingua dell'utente, poi la lingua predefinita del
tenant e, come ultima risorsa, es-AR. Le lingue disponibili dipendono dalla
configurazione di ciascun tenant; puoi consultarle con GET /api/languages e
GET /api/languages-info.
Il parametro ?language= ha effetto solo nelle richieste dell'API; i valori non
supportati dal tenant vengono ignorati e si applica la precedenza predefinita.
Postman e altri client
Puoi importare l'intera API in Postman, Insomnia, Bruno o Hoppscotch:
- Specifica OpenAPI (qualsiasi client): scarica
openapi.json - Collezione Postman (pronta all'uso): scarica
rently-api.postman_collection.json
In Postman: Import e trascina il file; viene creata la collezione con tutti gli endpoint. Configura la variabile tenant e il tuo token Bearer per iniziare a fare le prove.
In Insomnia / Bruno / Hoppscotch: importa direttamente l'openapi.json.
Moduli
L'API è organizzata in moduli. Ognuno raggruppa gli endpoint di un'area funzionale; consulta il dettaglio di ogni operazione (metodo, path, parametri ed esempi) nel reference.
| Modulo | Scopo |
|---|---|
| PublicApi | Ricerca di disponibilità e preventivo: GET /api/search, GET /api/booking/price e GET /api/booking/additionals-price. |
| GeneralInformation | Cataloghi e dati anagrafici: filiali, luoghi di consegna/restituzione, categorie e modelli, accessori, valute, promozioni, festività, orari di apertura e lingue. |
| Bookings | Ciclo di vita della prenotazione: creare (POST /api/booking/book), prenotare (POST /api/booking/reserve), consultare (GET /api/booking/{bookingId}), annullare, elencare e gestire conducenti, commenti e file. |
| BookingsPayments | Pagamenti delle prenotazioni: registrare un pagamento (POST /api/booking/pay), elencare i pagamenti di una prenotazione e annullare un pagamento. |
| CustomersApi | Gestione dei clienti: elencare (paginato), creare/aggiornare, consultare per ID o globalId, metodi di pagamento, commenti, allegati e immagini di documenti. |
| Cars | Consultazione della flotta: ottenere un'auto, elencare auto con filtri, vedere le loro prenotazioni, ricollocare/trasferire tra filiali e gestire file. |
| Operations | Operatività di back-office: consegne e restituzioni programmate per filiale e data, e processare la consegna/pre-consegna e la pre-restituzione di una prenotazione. |
| BookingCheckinApi | Self check-in del cliente prima della consegna (PUT /api/selfcheckin). |
| Incidents | Incidenti/sinistri sui veicoli: elencare i tipi, registrare un incidente e allegarvi file. |
| Infractions | Infrazioni stradali: aggiungere a una prenotazione (POST /api/booking/addinfractions), incassare/pagare, elencare quelle di un cliente e allegare il verbale. |
| Services | Servizi e manutenzione dei veicoli: tipi di servizio e programmazione dei servizi per un'auto. |
| Notifications | Notifiche via email: elencare i template attivi e inviare notifiche usando un template. |
| Configurations | Configurazione del tenant: tipi di documento e di contribuente, configurazione di prenotazioni ed email, gateway e conti di pagamento, e impostazioni generali. |
| CommercialAgreements | Accordi commerciali applicabili al calcolo dei prezzi. |
| Storage | Gestione dei file web. |
Per una tipica integrazione di preventivo e prenotazione, inizia da PublicApi e GeneralInformation (catalogo + ricerca + prezzo), prosegui con Bookings e BookingsPayments (creare e pagare), e aggiungi Operations per la consegna e la restituzione.
Errori e paginazione
Gli errori di business rispondono 400 con un corpo JSON
{ "ErrorMessage": "...", "ErrorCode": 1, "Id": "..." }, dove ErrorCode è un
intero e Id è un identificatore di correlazione utile per il supporto. Le
risposte 403 (non autenticato o senza permessi) e 404 (risorsa non trovata)
non includono corpo.
Gli elenchi usano la paginazione con i parametri di query offset (predefinito
0) e limit (predefinito 30, massimo 100), e restituiscono un oggetto con
Offset, Limit, Total, Results e NextOffset. Per avanzare di pagina,
usa il NextOffset della risposta precedente come offset.