Fidelity Card (beta)


La Fidelity Card è una funzionalità Premium. Se utilizzi il piano Starter attiva gratis il periodo di prova dell'account Premium.

Lista Fidelity

Restituisce la lista delle fidelity dell'utente.

URI

GET https://api.smshosting.it/rest/api/fidelity/list


Richiesta

ParametroObbligatorioTipoDescrizione
Nessun parametro

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

I possibili errorMsg sono:

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://localhost:8443/rest/api/fidelity/list
{
  "fidelityList": [
    {
      "id": 38,
      "name": "Mio programma fidelity",
      "pointValue": 5.0
    }
  ]
}

Lista Fidelity Card

Ritorna la lista paginata di tutte le Fidelity Card associate al programma Fidelity.

URI

GET https://api.smshosting.it/rest/api/fidelity/38/card/list


Richiesta

ParametroObbligatorioTipoDescrizione
limit No Integer Nome
offset No Integer Cognome
fromDate No String Data di emissione della Fidelity Card nel formato yyyy-MM-dd'T'HH:mm:ssZ
toDate No String Data di emissione della Fidelity Card nel formato yyyy-MM-dd'T'HH:mm:ssZ

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

Parametri non validi

I possibili errorMsg sono:

BAD_DATE - Formato data non valido

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.smshosting.it/rest/api/fidelity/62/card/list?fromDate=2019-11-22T11:22:33%2B0200
{
  "metadata": {
    "count": 15,
    "offset": 0,
    "limit": 3
  },
  "fidelityCardList": [
    {
      "fidelityId": 62,
      "fidelityCardId": 2668,
      "fidelityCode": "CARD_00011",
      "activationDate": "2019-11-22T16:11:23+0100",
      "active": true,
      "points": 21
    },
    {
      "fidelityId": 62,
      "fidelityCardId": 2669,
      "fidelityCode": "CARD_00014",
      "activationDate": "2019-11-22T16:11:23+0100",
      "active": true,
      "points": 0
    },
    {
      "fidelityId": 62,
      "fidelityCardId": 2670,
      "fidelityCode": "CARD_00021",
      "activationDate": "2019-11-22T16:11:23+0100",
      "active": true,
      "points": 0
    }
  ]
}

Dettaglio Fidelity Card

Ritorna il dettaglio di una Fidelity Card.

URI

GET https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038


Richiesta

ParametroObbligatorioTipoDescrizione
Nessun parametro

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

I possibili errorMsg sono:

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038
{
    "fidelityId": 62,
    "fidelityCardId": 2676,
    "fidelityName": "Programma fidelity superfico",
    "contactDetail": {
        "msisdn": "393480000000",
        "name": "Mario",
        "lastname": "Rossi",
        "email": "mario.rossi@fake.it",
        "groups": [
            {
                "id": 10001,
                "name": "amici"
            }
        ],
        "customFields": [
            {
                "fieldKey": "f_s_msisdn",
                "fieldName": "Cellulare",
                "fieldValue": "393480000000"
            },
            {
                "fieldKey": "f_s_email",
                "fieldName": "Email",
                "fieldValue": "mario.rossi@fake.it"
            },
            {
                "fieldKey": "f_s_nome",
                "fieldName": "Nome",
                "fieldValue": "Mario"
            },
            {
                "fieldKey": "f_s_cognome",
                "fieldName": "Cognome",
                "fieldValue": "Rossi"
            }
        ]
    },
    "fidelityCode": "CARD_00038",
    "activationDate": "2019-11-22T16:11:23+0100",
    "active": true,
    "points": 7
}

Dettaglio punti Fidelity Card

Ritorna la lista paginata di tutti i punti/premi assegnati alla Fidelity Card.

URI

GET https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038/record/list


Richiesta

ParametroObbligatorioTipoDescrizione
action No String Tipo di operazione effettuata sulla fidelity, i possibili valori sono:

I possibili errorMsg sono:

ADD - Punti aggiunti alla Fidelity Card

REWARD - Premi assegnato alla Fidelity Card

AZZERA - Azzeramento punti

IMPORT - Punti aggiunti all'import bulk della Fidelity Card

CREATE - Punti aggiunti alla creazione della Fidelity Card

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

limit No Integer Nome
offset No Integer Cognome
fromDate No String Data dell'operazione sulla Fidelity Card nel formato yyyy-MM-dd'T'HH:mm:ssZ
toDate No String Data dell'operazione sulla Fidelity Card nel formato yyyy-MM-dd'T'HH:mm:ssZ

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

Parametri non validi

I possibili errorMsg sono:

BAD_DATE - Formato data non valido

BAD_CARD_CODE - Codice Fidelity Card non valido

BAD_ACTION - Action sulla Fidelity Card non valida

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038/record/list?fromDate=2019-11-22T11:22:33%2B0200
{
  "metadata": {
    "count": 4,
    "offset": 0,
    "limit": 20
  },
  "fidelityCardRecordList": [
    {
      "id": 435,
      "points": 2,
      "amount": 10.0,
      "action": "ADD",
      "date": "2019-11-27T15:38:09+0100"
    },
    {
      "id": 436,
      "points": 4,
      "amount": 20.0,
      "action": "ADD",
      "date": "2019-11-27T15:38:12+0100"
    },
    {
      "id": 437,
      "points": 6,
      "amount": 32.0,
      "action": "ADD",
      "date": "2019-11-27T15:38:16+0100"
    },
    {
      "id": 438,
      "points": -5,
      "amount": 0.0,
      "rewardId": 60,
      "action": "REWARD",
      "date": "2019-11-27T15:38:37+0100"
    }
  ]
}

Crea una Fidelity Card

Crea una nuova Fidelity Card associata ad un contatto.

URI

POST https://api.smshosting.it/rest/api/fidelity/38/card


Richiesta

  Il "Content-Type" per le richieste POST deve essere "multipart/form-data"
ParametroObbligatorioTipoDescrizione
msisdn Si String Numero di cellulare del contatto compreso di prefisso internazionale es. 393400000000
cardCode No String Codice della Fidelity Card da 6 a 30 caratteri 0-9A-Za-z_. Se assente ne viene generato uno di 15 caratteri in automatico.
startingPoints No Integer Punti caricati sulla Fidelity Card al momento della creazione.
startingAmount No String Importo speso associato alla Fidelity Card al momento della creazione.
sendSms No Boolean

Default: true manda un sms al contatto con uno short url che permette di aggiungere la Fidelity Card al wallet dello smartphone (Google Pay o Apple Wallet).

Se valorizzato a false non manda l'sms al contatto.

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

Parametri non validi, i possibili valori sono:

BAD_CONTACT - Il contatto non esiste

DUPLICATED_CONTACT - Esiste più di un contatto con lo stesso numero di cellulare

CONTACT_HAS_FIDELITY - Il contatto ha già una fidelity card associata

BAR_FIDELITY - Codice Fidelity non valido

BAD_CARD_CODE - Codice Fidelity Card non valido

DUPLICATED_CARD_CODE - Esiste già un Fidelity Card con questo codice

BAD_POINTS - Punti assegnati alla Fidelity Card in formato non valido

BAD_AMOUNT - Importo assegnato alla Fidelity Card in formato non valido

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XPOST https://api.smshosting.it/rest/api/fidelity/38/card \
   -d 'msisdn=393400000000'
{
  "fidelityId": 38,
  "fidelityCardId": 1234,
  "fidelityCode": "F582323963717",
  "activationDate": "2019-12-03T14:26:48+0100",
  "active": true,
  "points": 0
}

Assegna Punti

Assegna punti a una Fidelity Card.

URI

POST https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038/record


Richiesta

  Il "Content-Type" per le richieste POST deve essere "multipart/form-data"
ParametroObbligatorioTipoDescrizione
action Si String Tipo di operazione effettuata sulla Fidelity Card, i possibili valori sono:

ADD - Aggiunta punti/importo alla Fidelity Card

points No Integer

Punti assegnati alla Fidelity Card.

Se questo parametro non viene valorizzato, verranno aggiunti i punti alla fidelity a seconda dell'amount (amount = punti * valore_singolo_punto).

Nota: almeno uno tra i parametri points o importo sono obbligatori.

amount No Double

Importo speso con con l'operazione di assegnazione punti.

Se questo parametro non viene valorizzato, verrano aggiunti i punti alla fidelity in rapporto all'importo speso (punti = amount / valore_singolo_punto).

Nota: almeno uno tra i parametri points o importo sono obbligatori.

note No String Note aggiunte all'operazione
sendSms No Boolean

Default: true se il contatto ha raggiunto i punti per riscattare un premio, viene inviato in automatico un sms.

Se valorizzato a false non manda l'sms al contatto.

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

I possibili errorMsg sono:

BAD_FIDELITY - Codice Fidelity non valido

BAD_CARD_CODE - Codice Fidelity Card non valido

BAD_POINTS - Punti assegnati alla Fidelity Card in formato non valido

BAD_AMOUNT - Importo assegnato alla Fidelity Card in formato non valido

BAD_ACTION - Action sulla Fidelity Card non valida

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XPOST https://api.smshosting.it/rest/api/fidelity/38/card/ \
   -d 'msisdn=393400000000'

Elimina punti assegnati

Elimina punti Assegnati a una Fidelity Card.

URI

DELETE https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038/record/123


Richiesta

ParametroObbligatorioTipoDescrizione
Nessun parametro

Risposta

HTTP Status Code

CodiceDescrizione
200 ok
400

I possibili errorMsg sono:

RECORD_NOT_EXISTS - Record non trovato

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utentea

401 Credenziali non valide
405 Metodo HTTP non consentito
500 Errore generico

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XDELETE https://api.smshosting.it/rest/api/fidelity/38/card/CARD_00038/record/123