Documentazione AR APIv2 1.0.8 Help

Rilascio

badge Status-ACTIVE

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:

  • Codice Prodotto;

  • Indirizzo email (identificativo) del cliente;

  • Parametri relativi a Card e Vendita;

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