Rilascio

La chiamata di rilascio CardReleased permette, indicando mail dell’Utente, codice del Servizio/Prodotto richiesto e parametri relativi a card e vendita, di:
Rilasciare la Card specificata e associarla all’Utente indicato;
Registrare la Vendita della Card con le specifiche indicate in request;
(Opzionale) Rilasciare le Licenze Software eventualmente associate alla Card;
Richiede in ingresso:
Restituisce:
Codice della Card appena rilasciata;
Email dell’Utente a cui è associata la Card;
(Opzionale) Lista di licenze Software rilasciate, o info sullo stato del rilascio (in caso di software multipli o errore);
Oppure, se non va a buon fine, la descrizione dell’errore riscontrato;
Chiave | Valore |
|---|
Indirizzo Test | https://test-apiv2.smiletech.it/APIv2/CardReleaseds/ReleaseCard/{codeProduct}/{email} |
Indirizzo Prod | https://apiv2.smiletech.it/APIv2/CardReleaseds/ReleaseCard/{codeProduct}/{email} |
Metodo | POST |
Success Response | 200 (Success)
|
Error Response
| 400 (Bad Request) 401 (Unauthorized) 500(Internal Server Error) |
Di seguito la struttura dell’Header contenente:
Header
{
"authorization": "Bearer -indicare-qui-Token-fornito-"
}
Il codice prodotto e la mail del cliente vanno inseriti come parametro nell’URL andando a sostituire {codeProduct} e {email} all’interno dell’indirizzo.
Di seguito la struttura del body contenente i valori da inserire all’interno della richiesta:
Request body
{
"cardSerial": "[string]{seriale retro card}",
"serviceType": "[string]{tipo servizio venduto}",
"sellState": "[string]{stato vendita} OBBLIGATORIO",
"dateSell": "[date]{data vendita} OBBLIGATORIO",
"shopCode": "[string]{codice negozio} OBBLIGATORIO",
"nrDocument": "[string]{numero bolletta} OBBLIGATORIO",
"dateDocument": "[date]{data documento} OBBLIGATORIO",
"serviceCode": "[string]{codice servizio} OBBLIGATORIO",
"serviceDesc": "[string]{descrizione servizio}",
"serviceExpire": "{scadenza servizio}",
"servicePrice": [float]{prezzo servizio} OBBLIGATORIO,
"articleInternalCode": "[string]{codice interno servizio}",
"articleDesc": "[string]{descrizione articolo}",
"articleOrigin": "[string]{origine articolo}",
"articleType": "[string]{tipologia articolo}",
"articleBrand": "[string]{marca articolo}",
"articleModel": "[string]{modello articolo}",
"articleImei": "[string]{IMEI articolo}",
"codeFidelity": "[string]{codice fidelity}",
"returnDate": "[date]{data reso}",
"returnNotes": "[date]{note reso}",
"operatorCode": "[string]{codice operatore}",
"isRenewal": [bool]{rinnovo (false/true), settare a false},
"cardSerialOld": "[string]{vecchio seriale card (se rinnovo), non utilizzare}"
}
Di seguito la struttura della response contenente i valori di ritorno dal sistema:
Response body
{
"cardReleased": {
"cardCode": "[string]{codice univoco Card, necessario per usufruire del servizio e dei prodotti associati}",
"email": "[string]{email del cliente a cui è associata la Card}",
"dateActived": "[DateTime] {data/momento di attivazione e validità della Card}",
"dateExpired": "[DateTime] {data/momento di scadenza della Card}" },
"softwares": [
{
"name": "[string]{nome del software}",
"code": "[string]{codice identificativo del prodotto}",
"license": "[string]{licenza di utilizzo, destinata al cliente finale}",
"downloadLink": "[string]{link di download del Software}",
"group": "[string]{nome del gruppo software di appartenenza}",
"resultCode": [int]{codice stato operazione di rilascio (200, 400, 500 etc.)},
"resultMessage": "[string]{messaggio esplicativo del risultato dell’operazione di rilascio}"
}
]
}
}
Un esempio di chiamata con dati verosimili:
https://test-apiv2.smiletech.it/APIv2/CardReleaseds/ReleaseCard/SIRTIE12IPHONE/marco@email.it
Header
{
"authorization": "Bearer NTNv7j0TuYARvmNMmWXo6fKvM4o6nv/aUi9ryX38ZH+L1bkrnD1ObOQ8Jdav"
}
Request body
{
"cardSerial": "210000008",
"serviceType": "SIRTIE12IPHONE",
"sellState": "N",
"dateSell": "2023-06-11T12:00:00.000",
"shopCode": "470PD",
"nrDocument": "123123123123",
"dateDocument": "2023-06-11T12:58:00.000",
"serviceCode": "SIRTIE12IPHONE",
"serviceDesc": "SERVIZIO IPHONE",
"serviceExpire": null,
"servicePrice": 39.9,
"articleInternalCode": "SM-0101010",
"articleDesc": "IPHONE X",
"articleOrigin": "APPLE",
"articleType": "SMARTPHONE",
"articleBrand": "APPLE",
"articleModel": "AP-1209889",
"articleImei": "123123123123123123",
"codeFidelity": "000000000001",
"returnDate": null,
"returnNotes": "",
"operatorCode": "12345",
"isRenewal": false,
"cardSerialOld": ""
}
In caso di Successo il sistema ritorna il seguente modello JSON:
Response body
{
"cardReleased":
{
"cardCode": "006D25ADB1454157",
"email": "marco@mail.it",
"dateActived": "2023-10-26T19:33:06Z",
"dateExpired": "2024-10-26T19:33:06Z"
},
"softwares": [
{
"name": "Kaspersky Internet Security",
"code": "KIS",
"license": "AAAA1-BB2BB-3CCCC-D4DDD",
"downloadLink": "oaservice.it/internetsecurity.exe",
"group": "Antivirus",
"resultCode": 200,
"resultMessage": "Licenza rilasciata."
}
]
}
In caso di Errore il sistema ritorna il seguente modello JSON:
Response
Status: 400 Bad Request
{
"error": "Campi obbligatori (CodeProduct, ServicePrice) non valorizzati."
}
Errori Riscontrabili
Di seguito la lista che indica gli errori che possono essere riscontrati:
Codice | Descrizione |
|---|
400 (BadRequest) | I dati in ingresso non sono corretti o non sono correttamente formattati. Viene restituita la descrizione dell’errore nel dettaglio. |
401 (Unauthorized) | Il codice Token fornito non è valido. L’autenticazione non è andata a buon fine. |
500 (Internal Server Error) | Il server ha riscontrato un errore inaspettato, generalmente esula dal tipo di request e si verifica per problemi assoggettabili al sistema. |
17 novembre 2025