API Clienti
🤖 Spiega con l'intelligenza artificiale
L’API Clienti è uno strumento che consente alle aziende di gestire e recuperare le informazioni dei clienti in modo sicuro ed efficiente. Con questa API, le aziende possono integrare le funzionalità di gestione dei clienti nei propri siti web, applicazioni e altre soluzioni software.
Supporta funzionalità come la paginazione, la ricerca per nome o email e informazioni dettagliate sui clienti, inclusi nome, email, telefono, foto, paese e metadati personalizzati.
Ottenere un elenco di tutti i clienti¶
Endpoint
GET /v1/customers/
Questo endpoint recupera un elenco paginato di tutti i clienti per il tuo account. Per impostazione predefinita, restituisce 10 clienti per pagina.
Parametri di query:
| Parametro | Descrizione | Tipo | Obbligatorio |
|---|---|---|---|
| page | Il numero della pagina da recuperare | integer | false |
| page_size | Il numero di clienti da visualizzare per pagina (max 100) | integer | false |
| search | Cerca per nome o email | string | false |
Richiesta (Elenca tutti i clienti):
Richiesta (Con paginazione):
curl -X GET 'https://api.4geeks.io/v1/customers/?page=2&page_size=5' \
-u 'sk_test_51O62xYzAbcDef123:'
Richiesta (Ricerca per nome o email):
Risposta (200 OK):
{
"count": 38,
"next": "https://api.4geeks.io/v1/customers/?page=3",
"previous": "https://api.4geeks.io/v1/customers/",
"results": [
{
"id": "217866f3-e1c2-465c-a242-1c04e30ba3fa",
"developer": 2875,
"first_name": "test",
"last_name": "test",
"email": "shadya.mora+401@4geeks.io",
"phone": null,
"photo": "https://seccdn.libravatar.org/avatar/d33b74df677623a5cc2bc9ea26d528fc?d=monsterid",
"country": null,
"metadata": null,
"test": true
},
{
"id": "3048a540-e825-4ccf-a693-fc4771c5f216",
"developer": 2875,
"first_name": "panchos",
"last_name": "Cruz",
"email": "marco.cruz+24@4geeks.io",
"phone": null,
"photo": "https://seccdn.libravatar.org/avatar/79a1c28ca1ef7df0e2b80c4eb4367cbf?d=monsterid",
"country": "Costa Rica",
"metadata": null,
"test": true
}
]
}
Ottenere un cliente specifico¶
Endpoint
GET /v1/customers/{id}/
Questo endpoint recupera i dettagli completi di un cliente specifico tramite il suo ID univoco.
Parametri di percorso:
| Parametro | Descrizione | Tipo | Obbligatorio |
|---|---|---|---|
| id | L’identificatore univoco di un cliente | string | true |
Richiesta:
curl -X GET 'https://api.4geeks.io/v1/customers/03124bfa-a8gd-4e63-823f-90540b9akcff/' \
-u 'sk_test_51O62xYzAbcDef123:'
Risposta (200 OK):
{
"id": "217866f3-e1c2-465c-a242-1c04e30ba3fa",
"developer": 2875,
"first_name": "test",
"last_name": "test",
"email": "shadya.mora+401@4geeks.io",
"phone": "+50683236988",
"photo": "https://seccdn.libravatar.org/avatar/d33b74df677623a5cc2bc9ea26d528fc?d=monsterid",
"country": "Costa Rica",
"metadata": null,
"test": true
}
Cercare clienti¶
Endpoint
GET /v1/customers/?search={query}
Questo endpoint recupera un elenco di clienti che corrispondono a una query di ricerca. Le ricerche vengono eseguite sui campi first_name e email.
Parametri di query:
| Parametro | Descrizione | Tipo | Obbligatorio |
|---|---|---|---|
| search | La query di ricerca per nome o email | string | true |
Richiesta:
curl -X GET 'https://api.4geeks.io/v1/customers/?search=alejandro' \
-u 'sk_test_51O62xYzAbcDef123:'
Risposta (200 OK - Risultati trovati):
[
{
"id": "004b75b1-64d9-42cc-8556-1b111611b67b",
"developer_id": 2875,
"first_name": "Shadya",
"last_name": "Mora Sánchez",
"email": "shadya.mora@4geeks.io",
"phone": null,
"photo": "https://storage.googleapis.com/g-payments.appspot.com/img/Shadya_Mora_test_1696356164.None",
"country": "Costa Rica",
"pay_providers": [
{
"id": "cus_NHLcuJNDnJDTnK",
"name": "stripe"
}
],
"metadata": null,
"created_on": "2023-02-26T06:56:07.152267Z",
"test": false
},
{
"id": "008ffa95-31be-41f8-b797-a4d75aafb9a5",
"developer_id": 2875,
"first_name": "Josito",
"last_name": "Urenas",
"email": "jose.urena+407@4geeks.io",
"phone": "000000000",
"photo": "https://storage.googleapis.com/g-payments.appspot.com/img/Josito_Urenas_test_1696279031.jpeg",
"country": "Argentina",
"pay_providers": [
{
"id": "cus_NWeHJ69zAJZx9Y",
"name": "stripe"
}
],
"metadata": null,
"created_on": "2023-03-14T16:46:08.241614Z",
"test": true
}
]
Risposta (404 Not Found - Nessun risultato):
{
"message": {
"code": 404,
"title": "Cliente non trovato",
"content": "Nessun cliente trovato per la query: 'customer_name'.",
"type": "danger",
"query": "customer_name"
}
}
Gestione degli indirizzi¶
I clienti possono avere fino a 3 indirizzi associati al proprio profilo.
Gestione degli errori¶
L’API restituisce codici di stato HTTP standard per indicare il successo o il fallimento di una richiesta. Di seguito sono riportati gli errori comuni specifici per i clienti:
400 Bad Request¶
Si verifica quando la richiesta è malformata o mancano campi obbligatori.
Scenari:
| Scenario | Messaggio di errore | Soluzione |
|---|---|---|
| Query di ricerca vuota | "La query di ricerca non può essere vuota." | Fornire un termine di ricerca non vuoto |
| Campo obbligatorio mancante | "Questo campo è obbligatorio." | Includere tutti i campi obbligatori (first_name, last_name, email) |
| Formato email non valido | "Inserisci un indirizzo email valido." | Controlla il formato dell’email e riprova |
Esempio di risposta di errore:
{
"code": 400,
"title": "Richiesta non valida",
"content": "La query di ricerca non può essere vuota.",
"type": "danger"
}
401 Unauthorized¶
Autenticazione fallita. La chiave API non è valida, è mancante o è formattata male.
Esempio:
Soluzione:
- Verifica di aver incluso il parametro
-u 'sk_test_...:o l’headerAuthorization: Basic - Assicurati che la tua chiave API sia corretta e attiva
- Testa con Postman utilizzando Basic Auth
404 Not Found¶
Il cliente richiesto non esiste.
Esempio:
{
"code": 404,
"title": "Cliente non trovato",
"content": "Non è stato possibile trovare il cliente, per favore controlla l'ID.",
"type": "danger"
}
Soluzione:
- Verifica che l’ID del cliente esista
- Usa l’endpoint di elenco per trovare l’ID cliente corretto
- Assicurati che il cliente appartenga al tuo account sviluppatore
406 Not Acceptable¶
Si verifica quando si tenta di eseguire un’azione non valida.
Esempio:
{
"code": 406,
"title": "Errore di registrazione dell'indirizzo",
"content": "Il cliente ha già 3 indirizzi registrati.",
"type": "danger"
}
Soluzione:
- Elimina un indirizzo esistente prima di crearne uno nuovo
- Massimo 3 indirizzi per cliente
Note importanti¶
!!! warning “Informazioni sul cliente” - Gli indirizzi email devono essere univoci all’interno del tuo account - I clienti possono avere fino a 3 indirizzi - L’eliminazione di un cliente non può essere annullata
!!! info “Caricamento foto” - Le foto possono essere caricate come dati multipart form - Formati supportati: JPEG, PNG - Dimensione massima del file: 5MB
!!! note “Metadati” - I metadati sono memorizzati come JSON e possono contenere coppie chiave-valore personalizzate - Usa i metadati per memorizzare informazioni sul cliente specifiche per l’applicazione - Dimensione massima dei metadati: 10KB
!!! note “Test vs Produzione” - Usa la tua Chiave di Test (sk_test_...) per lo sviluppo e il testing - Usa la tua Chiave Live (sk_live_...) per le transazioni reali - Il sistema rileva automaticamente la modalità in base alla Chiave API utilizzata
Migliori pratiche¶
- Valida gli indirizzi email - Assicurati che le email siano univoche e valide prima della creazione
- Usa i metadati con saggezza - Memorizza i dati aziendali rilevanti nei metadati per facilitare il filtraggio successivo
- Mantieni gli indirizzi aggiornati - Mantieni aggiornate le informazioni sull’indirizzo per una spedizione accurata
- Gestisci la paginazione - Usa i numeri di pagina e
page_sizeper elenchi di clienti numerosi - Cerca in modo efficiente - Usa i parametri di ricerca per trovare rapidamente i clienti
- Usa indirizzi predefiniti - Contrassegna gli indirizzi preferiti come predefiniti per comodità
Risoluzione dei problemi¶
Problema: “Il cliente ha già 3 indirizzi registrati”¶
Causa: Tentativo di aggiungere più di 3 indirizzi a un cliente
Soluzione:
- Elimina prima un indirizzo esistente
- Usa l’endpoint DELETE per rimuovere un indirizzo non utilizzato
- Quindi crea il nuovo indirizzo
Problema: “Non è stato possibile trovare il cliente”¶
Causa: L’ID cliente non esiste o appartiene a un diverso account sviluppatore
Soluzione:
- Verifica l’ID cliente utilizzando l’endpoint di elenco
- Assicurati di utilizzare la chiave API corretta
- Controlla che il cliente non sia stato eliminato
Problema: “Le credenziali di autenticazione non sono state fornite”¶
Causa: Autenticazione con chiave API mancante o non valida
Soluzione:
- Usa
-u 'sk_test_...:in cURL - Oppure usa l’header
Authorization: Basic <base64_encoded_key> - Verifica che la tua chiave API sia attiva
FAQ¶
D: Posso avere indirizzi email duplicati?
A: No, gli indirizzi email devono essere univoci all’interno del tuo account sviluppatore. Il tentativo di creare un duplicato comporterà un errore.
D: Cosa succede alla cronologia dei pagamenti quando elimino un cliente?
A: I log dei pagamenti vengono preservati. È comunque possibile visualizzare la cronologia delle transazioni anche dopo l’eliminazione del cliente.
D: Quanti indirizzi può avere un cliente?
A: Ogni cliente può avere fino a 3 indirizzi. Elimina un indirizzo esistente prima di aggiungerne uno nuovo se il limite è raggiunto.
D: Posso cercare per più campi?
A: Il parametro di ricerca effettua la ricerca tra i campi first_name ed email. Per cercare per altri campi, recupera tutti i clienti e filtra sul tuo lato.
D: Quali dati posso memorizzare nei metadati?
A: I metadati accettano qualsiasi oggetto JSON valido (max 10KB). Gli usi comuni includono il tipo di cliente, la fonte di registrazione, i punti fedeltà, ecc.
D: Con quale frequenza devo aggiornare le informazioni sui clienti?
A: Aggiorna le informazioni ogni volta che cambiano. Non ci sono limiti di frequenza per gli aggiornamenti.
- Hai ancora domande? Richiedi supporto..
- Check out the changelog.