Fidelity Card


La Fidelity Card è una funzionalità del Piano Premium. Se utilizzi il piano Starter attiva gratis il tuo periodo di prova del Piano Premium.

Lista Fidelity

Restituisce la lista delle fidelity dell'utente.

URI

GET https://api.amm.cloud/sms/v2/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 utent

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.amm.cloud/sms/v2/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.amm.cloud/sms/v2/fidelity/38/card/list


Richiesta

ParametroObbligatorioTipoDescrizione
offset No Integer

Posizione del primo risultato che verrà restituito.

Esempio:

Se il campo offset viene valorizzato a 50 e il campo limit a 10 verranno restituite le fidelity card da 51 a 60.

Default: 0

limit No Integer

Numero massimo di risultati che verranno restituiti nella ricerca.

Default : 20

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 utente

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.amm.cloud/sms/v2/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.amm.cloud/sms/v2/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 utente

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.amm.cloud/sms/v2/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.amm.cloud/sms/v2/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 utente

offset No Integer

Posizione del primo risultato che verrà restituito.

Esempio:

Se il campo offset viene valorizzato a 50 e il campo limit a 10 verranno restituiti i record da 51 a 60.

Default: 0

limit No Integer

Numero massimo di risultati che verranno restituiti nella ricerca.

Default : 20

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 utente

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XGET https://api.amm.cloud/sms/v2/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.amm.cloud/sms/v2/fidelity/38/card


Richiesta

  Il "Content-Type" per le richieste POST deve essere "application/x-www-form-urlencoded"
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 utente

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XPOST https://api.amm.cloud/sms/v2/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/Premi

Modifica il punteggio di una Fidelity Card. Al momento sono supportati i seguenti movimenti:

  • ADD - Aggiunge punti
  • REWARD - Assegna un premio
  • AZZERA - Azzera il punteggio della carta

URI

POST https://api.amm.cloud/sms/v2/fidelity/38/card/CARD_00038/record


Richiesta

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

ADD - Aggiunta punti/importo alla Fidelity Card

REWARD - Premi assegnato alla Fidelity Card

AZZERA - Azzeramento punti

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 per la action ADD.

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 per la action ADD.

rewardId No Integer

Identificativo del premio da assegnare alla Fidelity Card.

Nota: parametro obbligatorio per la action REWARD.

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 o

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 utente

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XPOST https://api.amm.cloud/sms/v2/fidelity/38/card/ \
   -d 'msisdn=393400000000'
{
    "id": 607,
    "points": 2,
    "amount": 11.12,
    "action": "ADD",
    "date": "2020-07-06T12:53:41+0200"
}

Elimina record

Elimina un record di movimento punti da una Fidelity Card.

URI

DELETE https://api.amm.cloud/sms/v2/fidelity/38/card/CARD_00038/record/123


Richiesta

ParametroObbligatorioTipoDescrizione
Nessun parametro

Risposta

HTTP Status Code

CodiceDescrizione
204 Record eliminato correttamente
400

I possibili errorMsg sono:

RECORD_NOT_EXISTS - Record non trovato

PLAN_NOT_ENABLED - Questa chiamata non è permessa nel piano utente

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

 Esempio:

   curl --user AUTH_KEY:AUTH_SECRET \
   -XDELETE https://api.amm.cloud/sms/v2/fidelity/38/card/CARD_00038/record/123