Differenze tra le versioni di "MODULO ECOSISTEMA"
(→Retrieve card information) |
(→Retrieve info about coupon) |
||
Riga 2 071: | Riga 2 071: | ||
*'''Tipo:''' GET | *'''Tipo:''' GET | ||
*'''Profilo chiamante:''' Operatore | *'''Profilo chiamante:''' Operatore | ||
− | *'''Descrizione:''' | + | *'''Descrizione:''' Restituisce tutte le informazioni relative al coupon identificato dal codice passato come input |
*'''URL:''' <serverUrl>/v1/Coupons/coupon?code={code} | *'''URL:''' <serverUrl>/v1/Coupons/coupon?code={code} | ||
*'''Token richiesti:''' AppToken, AuthToken | *'''Token richiesti:''' AppToken, AuthToken |
Versione delle 11:32, 23 feb 2018
Indice
- 1 Introduzione
- 2 Requisiti
- 3 Installazione
- 4 Autenticazione
- 5 JSON objects
- 5.1 Card
- 5.2 Coupon
- 5.3 CouponBookEntry
- 5.4 Payment
- 5.5 PurchaseItem
- 5.6 ResponseData
- 5.7 User
- 5.8 Category
- 5.9 Service
- 5.10 Slot
- 5.11 Reservation
- 5.12 Referral
- 5.13 StatusItem
- 5.14 EPurse
- 5.15 EPurseItem
- 5.16 EPurseMovement
- 5.17 EPurseCreditRecord
- 5.18 EPurseBookEntry
- 5.19 LoyaltyContest
- 5.20 LoyaltyContestEntry
- 5.21 LoyaltyContestPrize
- 5.22 SuspensionRequest
- 5.23 Subscription
- 5.24 TicketType
- 6 Servizi disponibili
- 6.1 security/hello
- 6.2 security/authenticate
- 6.3 security/authenticateoperator
- 6.4 security/passwordrecovery
- 6.5 user/me
- 6.6 user/addreffeal
- 6.7 user/myreferrals
- 6.8 user/mystatus
- 6.9 user/activeuserbycell
- 6.10 user/userread
- 6.11 user/upsert
- 6.12 reservation/categories
- 6.13 reservation/services
- 6.14 reservation/slots
- 6.15 reservation/myreservations
- 6.16 reservation/add
- 6.17 reservation/cancel
- 6.18 waitinglist/add
- 6.19 waitinglist/cancel
- 6.20 waitinglist/position
- 6.21 epurse/myepurses
- 6.22 epurse/balance
- 6.23 epurse/movements
- 6.24 epurse/credit
- 6.25 epurse/debit
- 6.26 epurse/balancebycard
- 6.27 epurse/entryrecord
- 6.28 company/getparameter
- 6.29 company/categories
- 6.30 company/all
- 6.31 loyalty/contest
- 6.32 loyalty/contestentries
- 6.33 loyalty/useravailableprizes
- 6.34 loyalty/reclaimprize
- 6.35 user/add
- 6.36 payments/createpayment
- 6.37 Delete payment (to be confirmed)
- 6.38 Retrieve info about coupon
- 6.39 Create coupon
- 6.40 Retrieve card information
- 6.41 medicalcertificate/medicalcertificate
- 6.42 suspension/suspension
- 6.43 suspension/activesubscription
- 6.44 suspension/suspensionperiods
- 6.45 suspension/suspensiondays
- 6.46 suspension/suspensionreason
- 6.47 ticket/gettickettypes
- 6.48 ticket/buyticket
- 6.49 Increment/Decrement EPurse
Introduzione
L'Ecosistema di InforYou è un modulo software che permette ad applicazioni di terze parti di interrogare il database di InforYou mediante l'invocazione di webservices JSON REST.
Requisiti
Ogni istanza di Ecosistema viene installata localmente presso il centro. Richiede quindi:
- IP pubblico statico in caso sia necessario accedervi dall'esterno della LAN del centro.
- Server IIS ver. 6 o superiore.
Installazione
Si veda la pagina Installazione InforYou Ecosistema.
Autenticazione
Per invocare i metodi esposti dall'Ecosistema è necessaria una doppia autenticazione: a livello di applicazione e di utente. InforYou si riserva la facoltà di gestire liberamente la scadenza dei token da essa rilasciati. Conseguentemente è best practice, al fine di ottimizzare il numero di invocazioni ai webservice di InforYou, utilizzare sempre in ogni request HTTP un eventuale token già utilizzato in precedenza. Solo nel caso in cui il server ritorni un errore di autenticazione sarà necessario chiedere nuovamente un token rieffettuando il login presso http://iyes.inforyou.it/v1/token/GuidApp.
Autenticazione applicazione
Prima di utilizzare i metodi dell’ecosistema installato presso il cliente ogni app deve disporre di un token di autenticazione. Per ottenere questo token l'applicazione deve prima autenticarsi presso il server centrale di InforYou http://iyes.inforyou.it invocando il servizio LeggiAppToken esposto al seguente URL:
http://iyes.inforyou.it/v1/token/GuidApp
dove il parametro GuidApp è un GUID rilasciato da InforYou allo sviluppatore per l'autenticazione di una specifica app in relazione ad uno specifico centro. Questo metodo ritorna come response il token che dovrà essere esibito nell'header HTTP di tutte le richieste ai metodi dell'Ecosistema locale al centro. Il token dovrà essere inserito nell'header HTTP con il nome di "AppToken".
Autenticazione utente
Si veda il metodo authenticate nel seguito del documento. Il token restituito dal server a valle dell'autenticazione dovrà essere inserito nell'header HTTP in tutte le chiamate successive che lo richiedono. Il token dovrà essere inserito nell'header HTTP con il nome di "AuthToken".
JSON objects
Card
Property | Type | Description |
---|---|---|
CardID | string | Identificativo della tessera. |
Owner | User | |
ActivationDate | string | Data di attivazione della tessera. |
LastAccessedZone | string | |
EPurses | IEnumerable<EPurse> | |
Coupon | Coupon | |
DebitItems | IEnumerable<PurchaseItem> | |
DisplayItem | IEnumerable<PurchaseItem> | |
AdditionalInfo | string | proprietà personalizzabile. |
Coupon
Property | Type | Description |
---|---|---|
CouponId | string | Unique code to identifying the coupon. |
CurrentAmount | int | Current amount of the coupon. A coupon can be used multiple times decrementing its current amount that runs from its initial value to zero. It is expressed in euro cents. |
InitialAmount | int | Initial amount of the coupon expressed in Euro cents. |
Description | string | Text describing the coupon |
EmissionDate | string | |
ValidityDate | string | |
Duration | int | expressed in days |
Items | PurchaseItem array | In case the coupon has a default offer (i.e. it's not purely money but it has been created to buy a specific collection of goods) this array contains the list of items. If the coupon is purely money (i.e. 30€ coupon with no further specification) this field should be null. |
PurchasePaymentID | int | Reference to the payment in which the coupon has been purchased. |
Rechargeable | boolean | Whether the coupon is rechargeable |
AdditionalInfo | string | General purpose text field |
CouponBookEntry
Property | Type | Description |
---|---|---|
CouponId | string | Unique code to identify the coupon. |
ChargeAmount | int | Amount which has to be decremented from the current value of the coupon. It has a positive sign and it is expressed in euro cents. |
Payment
Property | Type | Description |
---|---|---|
PaymentId | string | Unique code to identifying the operation. |
DebitAmount | int | The amount that has/had to be paid (in euro cents). |
CashedAmount | int | The encashed amount (in euro cents). |
ReturnedChangeAmount | int | The change given back to the user (in euro cents). |
Items | PurchaseItem array | Array of the items involved in the payment. |
PaymentResult | int | Result of the payment:
1 = Pending |
PaymentMethod | Enum | "CASH", "CARD", "BANCOMAT", "EPURSE", "PAYPAL", "BANK ACCOUNT", "FREE", "OTHER" |
InvoiceNumber | string | In case the invoker issues an invoice associated to the payment, this is the identification code. |
CouponBookEntries | CouponBookEntry array | Array of CouponBookEntry that indicates the list of all the coupons used (also partially) in the payment. |
Buyer | User | JSON object containing the buyer info. |
CardId | string | The UID of the customer wristband/card (if applicable). |
Date | string | The date the payment has been requested or executed. Formatted according to the standard ISO8601 (yyyy-MMddThh:mm:ss) |
ShippingCost | int | Expressed in eurocents. |
FiscalDocumentType | string | Type of fiscal document: "NULL" |
AdditionalInfo | string | Free field for any additional info.
|
PurchaseItem
Property | Type | Description |
---|---|---|
PurchaseItemId | string | Unique code to identifying the item. |
Description | string | Description of the item. For example: "cheese and ham sandwitch". |
UnitPrice | int | Expressed in euro cents. |
Quantity | int | Number of items in case of a collection. |
IVA | int | Expressed as the percentage value in absolute value. For example use 22 meaning 22%. |
Discount | int | The discount applied to the item |
EffectivePrice | int | Expressed in euro cents |
RevenueCenterID | int | The unique identifier of the revenue center |
AdditionalInfo | string | custom property |
ResponseData
Property | Type | Description |
---|---|---|
Successful | boolean | |
Result | string | |
ErrorMessage | string | |
Comment | string |
User
Property | Type | Description |
---|---|---|
UserID | int | Codice identificativo dell'utente. |
FirstName | string | |
LastName | string | |
Login | string | |
Password | string | |
Street | string | residenza/domicilio |
CivicNumber | string | |
Province | string | provincia (2 caratteri) |
City | string | |
ZipCode | string | CAP |
Country | string | |
Source | string | La persona o fonte che ha segnalato l'utente ad InforYou. |
EnableEmail | boolean | Determina se l'utente desidera ricevere notifiche via email. |
EnablePaper | boolean | Determina se l'utente desidera ricevere notifiche cartacee. |
EnableSMS | boolean | Determina se l'utente desidera ricevere notifiche via SMS. |
ReceiptFiscalCode | string | Il codice fiscale da usare nelle ricevute. E' diverso da FiscalCode nel caso di utente minorenne in cui il ReceiptFiscalCode è generalmente quello di un genitore. |
ReceiptName | string | Il nome da usare nelle ricevute. Nel caso di utente minorenne è generalmente il nome di un genitore. |
FiscalCode | string | Codice fiscale. |
Phone1 | string | |
Phone2 | string | |
Mobile | string | |
string | ||
Gender | enum | "M", "F" |
BirthDate | string | Data di nascita formattata come "1974-07-12T00:00:00" |
BirthPlace | string | Comune di nascita |
BirthProvince | string | Provincia di nascita (2 caratteri) |
BirthCountry | string | Nazione di nascita |
CategoryID | int | Identificativo della categoria di appartenenza. |
InternalNote | string | |
CompanyID | string |
Category
Property | Type | Description |
---|---|---|
CategoryID | int | Codice identificativo della categoria. |
Description | string |
Service
Property | Type | Description |
---|---|---|
Category | string | Categoria d'appartenenza del servizio |
ServiceID | int | Identificativo del servizio |
Description | string | Descrizione della prenotazione |
Price | int | Prezzo del servizio |
Type | int | Riservato per scopi futuri |
Slot
Property | Type | Description |
---|---|---|
BookingID | int | Identificativo della prenotazione. |
Date | string | Data formattata come "2015-07-03T00:00:00" |
StartDateTime | string | Data/ora inizio lezione formattata come "2015-07-03T00:00:00" |
EndDateTime | string | Data/ora fine lezione formattata come "2015-07-03T00:00:00" |
MaxBookings | int | Numero massimo di prenotazioni |
BookNumber | int | Numero di prenotazioni |
WaitNumber | int | Numero di persone in lista d'attesa |
AvailablePlaces | int | Posti disponibili |
UserBooked | int | L'utente loggato ha prenotato |
UserWaiting | int | L'utente loggato è in lista d'attesa |
BookingLessonID | int | ID lezione |
Description | string | Descrizione lezione |
Note | string | Note lezione |
CategoryDescription | string | Descrizione categoria |
Price | int | Prezzo prenotazione |
ThresholdPlaces | int | Posti "soglia" |
MaxUserPlaces | int | Numero massimo di posti prenotabili dall'utente |
IsFree | boolean | Se la lezione è gratuita o no |
Reservation
Property | Type | Description |
---|---|---|
BookingReservationID | int | Identificativo della prenotazione. |
BookingID | int | ID Servizio |
Description | string | Descrizione del servizio |
StartDate | string | Data/Ora inizio lezione (formattata come "2015-07-02T16:19:00") |
EndDate | string | Data/Ora fine lezione (formattata come "2015-07-02T16:19:00") |
OperationDate | string | Data/Ora in cui è stata effettuata la prenotazione (formattata come "2015-07-02T16:19:00") |
BookingLessonID | int | ID lezione |
Note | string | Note lezione |
CategoryDescription | string | Descrizione categoria |
WaitingList | int | Lista d'attesa (1) o prenotazione valida (0) |
BookFor | int | Numero di posti prenotati |
Referral
Property | Type | Description |
---|---|---|
FirstName | string | |
LastName | string | |
MobileNumber | string | Numero di telefono |
StatusItem
Property | Type | Description |
---|---|---|
Text | string | Descrizione |
Contents | StatusItem array | Ricorsivo |
EPurse
EPurseItem
Property | Type | Description |
---|---|---|
UserEPurseID | int | ID borsellino utente |
Code | string | Codice borsellino |
Description | string | Descrizione del borsellino |
EPurseID | int | ID borsellino |
Balance | int | saldo |
ExpireDate | string | Data di scadenza del borsellino formattata come "2015-04-30T09:42:56" |
EPurseMovement
Property | Type | Description |
---|---|---|
EPurseName | string | Descrizione borsellino |
Cause | string | Causale |
MovementDateTime | string | Data/ora del movimento formattata come "2015-04-30T09:42:56" |
Amount | int | Totale movimento |
GiftAmount | int | Omaggio movimento |
Residual amount | int | Residuo borsellino |
Balance | int | Saldo |
ServiceType | string | Tipo di addebito |
EPurseCreditRecord
Property | Type | Description |
---|---|---|
EPurseID | int | Identificativo della tipologia di borsellino |
Amount | Number | Importo da ricaricare (al netto degli omaggi) |
GiftAmount | Number | Omaggio |
Causal | string | causale della ricarica |
OperatorID | int | identificativo dell'operatore (se disponibile) |
SellerID | int | identificativo del venditore (se disponibile) |
RevenueCenterID | int | identificativo del centro di ricavo (se disponibile) |
EPurseBookEntry
Property | Type | Description |
---|---|---|
EUserPurseID | int | Identificativo dell'istanza specifica del borsellino di un utente. |
UserID | int | Identificativo dell'utente. In alternativa ad EUserPurseID è possibile specificare una coppia di valori UserID e EPurseType non nulli. |
EPurseType | int | Identificativo della tipologia di borsellino. In alternativa a EUserPurseID è possibile specificare una coppia di valori UserID e EPurseType non nulli. |
Amount | int | L'ammontare dell'operazione che va addebitato o accreditato a seconda del segno. Espresso in centesimi di Euro. |
Reason | string | causale dell'operazione |
RevenueCenterID | int | Identificativo del centro di ricavo movimentato (se applicabile). |
GiftAmount | int | Eventuale importo omaggio espresso in centesimi di Euro. |
AdditionalNote | string | campo di testo libero. |
LoyaltyContest
Property | Type | Description |
---|---|---|
ContestID | int | Identificativo del concorso |
Description | string | Descrizione del concorso |
StartDate | string | Data di inizio del concorso formattata come "2015-07-31T00:00:00" |
EndDate | string | Data di fine del concorso formattata come "2015-07-31T00:00:00" |
PrizeExpireDate | string | Data di scadenza del premio formattata come "2015-07-31T00:00:00" |
PointBalance | int | Saldo dei punti dell'utente loggato |
UserPointsID | int | IDPuntiUtente |
LoyaltyContestEntry
Property | Type | Description |
---|---|---|
UserPointEntryID | int | Identificativo del movimento |
OperationDate | string | Data dell'operazione formattata come "2015-07-31T00:00:00" |
Description | string | Descrizione |
Points | int | Punti |
LoyaltyContestPrize
Property | Type | Description |
---|---|---|
ContestID | int | Identificativo del concorso |
PrizeContestID | int | Identificativo del concorso premio |
ContestDescription | string | Descrizione del concorso |
PrizeDescription | string | Descrizione del premio |
Note | string | Campo descrittivo libero |
PointsValue | int | Valore corrente dei punti |
PrizeExpireDate | string | Data di scadenza del premio formattata come "2015-07-31T00:00:00" |
SuspensionRequest
Property | Type | Description |
---|---|---|
IDSubscription | int | Identificativo dell'iscrizione |
SuspensionStartDate | string | Data di inizio sospensione |
GiorniSospensione | int | Numero giorni di sospensione |
Motivo | string | Motivo della sospensione |
Subscription
Property | Type | Description |
---|---|---|
IDIscrizione | int | Identificativo dell'iscrizione |
DescrizioneAbbonamento | string | Descrizione dell'abbonamento |
DescrizioneDurata | string | Descrizione della durata d'iscrizione |
DescrizioneIscrizione | string | Descrizione dell'iscrizione |
DataInizio | DateTime | Data d'inizio iscrizione |
DataFine | DateTime | Data di fine iscrizione |
DescCategoria | string | Descrizione della categoria alla quale si è iscritto l'utente |
DescMacroCategoria | string | Descrizione della macro-categoria alla quale si è iscritto l'utente |
Durata | int | Durata iscrizione |
Periodo | string | |
RinnovoAutomaticoIDIscrizione | int? | |
RinnovoAutomatico | Int16 | |
DataDisdetta | DateTime? | Data in cui è stata annullata l'iscrizione dell'utente |
Note | string |
TicketType
Property | Type | Description |
---|---|---|
TycketTypeID | int | Identificativo del ticket |
Name | string | Nome del ticket |
Descrizione | string | Descrizione del Ticket |
CompanyID | int | Identificativo dell'azienda |
WebCategoryID | int | |
Price | Decimal | Prezzo del biglietto |
Servizi disponibili
security/hello
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Metodo di test, utilizzato per verificare la raggiungibilità del servizio dopo aver effettuato l’autenticazione dell’app
- URL: <serverUrl>/v1/security/hello
- Token richiesti: AppToken
- Dati request: N.A.
- Dati response: (string) "Hello from InforYou Integration Services (IYES)."
security/authenticate
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Metodo per l’autenticazione di un utente. Riceve in input login, password e IDazienda. Ritorna un oggetto con una proprietà Item che rappresenta un Token di sicurezza
(stringa) da utilizzare per tutte le altre comunicazioni.
- URL: <serverUrl>/v1/security/authenticate
- Token richiesti: AppToken
- Dati request: QueryString login=[login]&password=[password]&companyID=[companyID].
- Dati response: (JSON object)
{ "Item": "...", ResponseData }
La proprietà Item contiene l’AuthToken.
security/authenticateoperator
- Tipo: GET
- Profilo chiamante: Operatore
- Descrizione: Metodo per l’autenticazione di un operatore. Riceve in input login, password. Ritorna un oggetto con una proprietà Item che rappresenta un Token di sicurezza
(stringa) da utilizzare per tutte le altre comunicazioni.
- URL: <serverUrl>/v1/security/authenticateoperator
- Token richiesti: AppToken
- Dati request: QueryString login=[login]&password=[password].
- Dati response: (JSON object)
{ "Item": "...", ResponseData }
La proprietà Item contiene l’AuthToken.
security/passwordrecovery
- Tipo: GET
- Profilo chiamante: Cliente/Operatore
- Descrizione: Metodo per il recupero password
- URL: <serverUrl>/v1/security/passwordrecovery
- Token richiesti: AppToken
- Dati request: QueryString email=[email]&sms=[sms]&token=[token].
- Dati response: (JSON object)
{ "Item": "...", ResponseData }
La proprietà Item contiene l’AuthToken. La proprietà Item contiene l’AuthToken.
user/me
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna I dati base dell’utente loggato sotto forma di oggetto JSON
- URL: <serverUrl>/v1/user/me
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Item": ShortUser, ResponseData }
Esempio:
{ "Item": { "UserID": 1400, "FirstName": "Mario", "LastName": "Rossi", "BirthDate": "1974-07-12T00:00:00", "Gender": "M", "Email": "assistenza@inforyou.it" }, "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
La proprietà Item contiene l’oggetto Utente.
user/addreffeal
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Aggiunge un referral per l’utente corrente. Se l’utente presentato esiste già nel DB (SMS già presente) viene scartato e ritorna un errore (Duplicato)
- URL: <serverUrl>/v1/user/addreferral
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) Referral
- Dati response: (JSON object) ResponseData
NOTA BENE: (Aggiungere Header Content-Type: application/json)
user/myreferrals
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna i referral dell’utente loggato
- URL: <serverUrl>/v1/user/myreferrals
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ Referral1, ... ReferralN ], ResponseData }
Esempio:
{ "Items": [ { "FirstName": "Andrea", "LastName": "Verdi", "MobileNumber": null }, { "FirstName": "Valentina", "LastName": "Rossi", "MobileNumber": null }, { "FirstName": "Franco", "LastName": "Neri", "MobileNumber": "3345677221" }, { "FirstName": "Mario", "LastName": "Verdi", "MobileNumber": "3338877654" } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
user/mystatus
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna lo stato dell’utente loggato (documento informativo)
- URL: <serverUrl>/v1/user/mystatus
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object) StatusItem innestati
Esempio:
{ "Item": { "Text": "Documento Informativo", "Contents": [ { "Text": "Rossi Mario", "Contents": [] }, { "Text": "QUOTA ASSOCIATIVA", "Contents": [ { "Text": "Quota associativa non valida.", "Contents": [] } ] }, { "Text": "CERTIFICATO MEDICO", "Contents": [ { "Text": "Certificato medico OK.", "Contents": [] } ] }, { "Text": "ABBONAMENTI E PAGAMENTI", "Contents": [ { "Text": "OPEN 12 M dal 23/07/2014 al 22/08/2015", "Contents": [ { "Text": "23/07/2012 € 50,00 (SCADUTO)", "Contents": [] } ] } ] }, { "Text": "BORSELLINI", "Contents": [ { "Text": "BORSELLINO GENERALE Euro 476,00 ", "Contents": [] } ] } ] }, "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
user/activeuserbycell
- Tipo: GET
- Profilo chiamante: Cliente/Operatore
- Descrizione: Metodo per attivare l'utente da cellulare
- URL: <serverUrl>/v1/user/activeuserbycell
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) cell=[cell]
- Dati response: (JSON object) ResponseData
user/userread
- Tipo: GET
- Profilo chiamante: Operatore
- Descrizione: Metodo che controlla se un utente può prenotare dal sito
- URL: <serverUrl>/v1/user/userread
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) userID=[UserID]&bookingDate=[bookingDate]
- Dati response: (JSON object)
{ "Item": bool, ResponseData }
user/upsert
- Tipo: POST
- Profilo chiamante: Operatore
- Descrizione: Inserisce o aggiorna un utente
- URL: <serverUrl>/v1/user/upsert
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object)
Esempio:
{ "Item": { "IDUtente" = 23, "Cognome" = "Rossi", Nome = "Mario", Indirizzo_Via = "Roma", Indirizzo_NumeroCivico = "99", Indirizzo_Pv = "VI", Indirizzo_Citta = "Vicenza", Indirizzo_Cap = "36100", Indirizzo_Stato = "Italia", CodiceFiscale = "", Telefono_1 = "1234567890" , Telefono_2 = "3123456789", SMS = "", Email = "mario.rossi@gmail.com", Sesso = "M", Data_Nascita = 1990-01-01T00:00:00 , Luogo_Nascita = "Vicenza", Provincia_Nascita = "Vicenza", Stato_Nascita = "Italia", Note = "", IDOperatore = 12 }, "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
- Dati response: (JSON object)
{ "Item": User, ResponseData }
reservation/categories
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Legge categorie prenotazioni
- URL: <serverUrl>/v1/reservation/categories
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ Category1, ... CategoryN ], ResponseData }
Esempio:
{ "Items": [ { "CategoryID": 7, "Description": "CAMPI CALCETTO" }, { "CategoryID": 1, "Description": "CORSI" } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
reservation/services
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna i servizi prenotazioni relativi ad una categoria
- URL: <serverUrl>/v1/reservation/services
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) bookingCategoryID=[bookingCategoryID]
- Dati response: (JSON object)
{ "Items": [ Service1, ... ServiceN ], ResponseData }
Esempio:
{ "Items": [ { "Category": "CORSI", "ServiceID": 8, "Description": "ACQUAGYM", "Price": 10, "Type": 0 }, { "Category": "CORSI", "ServiceID": 2, "Description": "FIT BOXE", "Price": 10, "Type": 0 }, { "Category": "CORSI", "ServiceID": 24, "Description": "PANCAFIT", "Price": 9, "Type": 0 }, { "Category": "CORSI", "ServiceID": 1, "Description": "SPINNING", "Price": 0, "Type": 0 }, { "Category": "CORSI", "ServiceID": 26, "Description": "WALKING", "Price": 1, "Type": 0 } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
reservation/slots
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna il calendario prenotazioni per un servizio
- URL: <serverUrl>/v1/reservation/slots
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) bookingID=[ bookingID]&bookingcategoryid=[bookingcategoryid]&daysinterval=[daysinterval]&startdate=[startdate]&starttime=[starttime]&endtime=[endtime]
dove: bookingID = ID Servizio, bookingcategoryid = ID Categoria, daysinterval = Intevallo giorni da visualizzare, startdate = Data inizio intervallo giorni, starttime = Fascia oraria inizio, endtime = Fascia oraria fine.
- Dati response: (JSON object)
{ "Items": [ Slot1, ... SlotN ], ResponseData }
Esempio:
{ "Items": [ { "BookingID": 1, "Date": "2015-07-02T00:00:00", "StartDateTime": "2015-07-02T20:00:00", "EndDateTime": "2015-07-02T21:30:00", "MaxBookings": 5, "BookNumber": 0, "WaitNumber": 0, "AvailablePlaces": 5, "UserBooked": 0, "UserWaiting": 0, "BookingLessonID": 148, "Description": "SPINNING", "Note": "Intensiva", "CategoryDescription": "CORSI", "Price": 0, "ThresholdPlaces": 3, "MaxUserPlaces": 4, "IsFree": true }, { "BookingID": 1, "Date": "2015-07-03T00:00:00", "StartDateTime": "2015-07-03T10:00:00", "EndDateTime": "2015-07-03T11:00:00", "MaxBookings": 5, "BookNumber": 0, "WaitNumber": 0, "AvailablePlaces": 5, "UserBooked": 0, "UserWaiting": 0, "BookingLessonID": 139, "Description": "SPINNING", "Note": "", "CategoryDescription": "CORSI", "Price": 0, "ThresholdPlaces": 3, "MaxUserPlaces": 4, "IsFree": true } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
reservation/myreservations
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna le prenotazioni dell’utente loggato
- URL: <serverUrl>/v1/reservation/myreservations
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ Reservation1, ... ReservationN ], ResponseData }
Esempio:
{ "Items": [ { "BookingReservationID": 2627, "BookingID": 1, "Description": "SPINNING", "StartDate": "2015-07-03T10:00:00", "EndDate": "2015-07-03T11:00:00", "OperationDate": "2015-07-02T16:19:00", "BookingLessonID": 148, "Note": "Intensiva", "CategoryDescription": "CORSI", "WaitingList": 0, "BookFor": 0 } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
reservation/add
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Prenota una lezione per l'utente loggato
- URL: <serverUrl>/v1/reservation/add
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) Reservation
- Dati response: (JSON object) ResponseData
NOTA BENE: (Aggiungere Header Content-Type: application/json)
reservation/cancel
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Elimina la prenotazione di una lezione per l’utente loggato
- URL: <serverUrl>/v1/reservation/cancel
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) Reservation
- Dati response: (JSON object) ResponseData
NOTA BENE: (Aggiungere Header Content-Type: application/json)
waitinglist/add
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Inserisce l'utente loggato in lista d'attesa per un servizio
- URL: <serverUrl>/v1/waitinglist/add
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) Reservation
- Dati response: (JSON object) ResponseData
NOTA BENE: (Aggiungere Header Content-Type: application/json)
waitinglist/cancel
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Elimina l'utente loggato dalla lista d'attesa per un servizio
- URL: <serverUrl>/v1/waitinglist/cancel
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) Reservation
- Dati response: (JSON object) ResponseData
NOTA BENE: (Aggiungere Header Content-Type: application/json)
waitinglist/position
- Tipo: POST
- Profilo chiamante: Cliente,Operatore
- Descrizione: Metodo che ritorna una posizione specifica della lista d'attesa
- URL: <serverUrl>/v1/waitinglist/position
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object)
- Dati response: (JSON object)
epurse/myepurses
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna i borsellini elettronici dell’utente loggato (documento informativo)
- URL: <serverUrl>/v1/user/myepurses
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ EPurseItem1, ..., EPurseItemN ], ResponseData }
Esempio:
{ "Items": [ { "EPurseID": 526, "Code": "2-526", "Description": "BORSELLINO GENERALE", "EPurseID": 2, "Balance": 476, "ExpireDate": null } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
epurse/balance
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna il saldo del borsellino indicato in query string
- URL: <serverUrl>/v1/epurse/balance
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) userEPurseID=[userEPurseID]
- Dati response: (JSON object)
{ "Item": EPurseItem, ResponseData }
Esempio:
{ "Item": { "EPurseID": 526, "Code": "2-526", "Description": "BORSELLINO GENERALE", "EPurseID": 2, "Balance": 476, "ExpireDate": null }, "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
epurse/movements
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna i movimenti del borsellino indicato in query string
- URL: <serverUrl>/v1/epurse/movements
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) userEPurseID=[userEPurseID]
- Dati response: (JSON object)
{ "Items": EPurseMovement, ResponseData }
Esempio:
{ "Items": [ { "EPurseName": "BORSELLINO GENERALE", "Cause": "PRENOTAZIONE: SPINNING del 03/07/2015 10:00:00", "MovementDateTime": "2015-07-02T16:18:59", "Amount": 0, "GiftAmount": 0, "ResidualAmount": 472, "Balance": 0, "ServiceType": "P" }, ... { "EPurseName": "BORSELLINO GENERALE", "Cause": "PRENOTAZIONE: FIT BOXE del 30/04/2015 10:00:00", "MovementDateTime": "2015-04-30T09:42:56", "Amount": 0, "GiftAmount": -10, "ResidualAmount": 472, "Balance": -10, "ServiceType": "P" } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
epurse/credit
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Accredita il borsellino dell'utente loggato di un certo importo eventualmente comprensivo di un omaggio. Non movimenta i centri di ricavo
- URL: <serverUrl>/v1/epurse/credit
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) EPurseCreditRecord
Esempio:
{ "EPurseID": 12, "Amount": 50.0, "GiftAmount": 0.0, "Causal": "Accredito per ricarica", "OperatorID": null, "SellerID": null, "RevenueCenterID": null }
- Dati response: (JSON object) ResponseData
Esempio:
{ "Successful": true, "Comment": "Accredito effettuato.", "Result": null, "ErrorMessage": null }
epurse/debit
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Addebita il borsellino dell'utente loggato di un certo importo eventualmente comprensivo di un omaggio. Movimenta i centri di ricavo
- URL: <serverUrl>/v1/epurse/debit
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) EPurseCreditRecord
Esempio:
{ "EPurseID": 12, "Amount": 10.0, "GiftAmount": 0.0, "Causal": "Addebito per prenotazione", "OperatorID": null, "SellerID": null, "RevenueCenterID": null }
- Dati response: (JSON object) ResponseData
Esempio:
{ "Successful": true, "Comment": "Accredito effettuato.", "Result": null, "ErrorMessage": null }
epurse/balancebycard
- Tipo: POST
- Profilo chiamante: Operatore
- Descrizione: Legge il saldo del borsellino identificato dell'utente identificato dal codice passato come input
- URL: <serverUrl>/v1/epurse/balancebycard
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) card=[card]&epurseid=[epurseid]
- Dati response: (JSON object)
Esempio:
{ "Item": { "Description": "BORSELLINO GENERALE", "EPurseID": 526, "UserEPurseID": 2, "Balance": 476 }, "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
epurse/entryrecord
- Tipo: POST
- Profilo chiamante: Operatore/Cliente
- Descrizione: Addebita il borsellino dell'utente indicato in EPurseBookEntry. Movimenta i centri di ricavo coinvolti. Il parametro Amount va considerato con segno e viene interpretato dal server con la seguente convenzione:
- Positivo = accredito sul BE di un importo pari al valore assoluto di Amount
- Negativo = addebito sul BE di un importo pari al valore assoluto di Amount
- URL: <serverUrl>/v1/epurse/entryrecord
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) EPurseBookEntry
Esempio:
{ "EUserPurseID": 0, "UserID ": 123456, "EPurseType": 2, "Amount": 100, "Reason": "Accredito ", "SellerID": null, "RevenueCenterID": null "GiftAmount": 0 "AdditionalNote": "" }
- Dati response: (JSON object) ResponseData
Esempio:
{ "Successful": true, "Comment": "Accredito effettuato.", "Result": null, "ErrorMessage": null }
company/getparameter
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna il valore di un parametro di un’azienda dato il nome parametro e l’ID Azienda
- URL: <serverUrl>/v1/epurse/getparameter
- Token richiesti: AppToken, AuthToken
- Dati request: (QueryString) name=[name]&companyID=[companyID]
- Dati response: (JSON object)
{ "Item": "valore del parametro richiesto", "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
company/categories
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna le categorie di un’azienda dato l’ID Azienda
- URL: <serverUrl>/v1/company/categories
- Token richiesti: AppToken, AuthToken
- Dati request: (QueryString) IDAzienda=[IDAzienda]
- Dati response: (JSON object)
{ "Items": [ Category1, ... CategoryN ], ResponseData }
Esempio:
{ "Items": [ { "CategoryID": 7, "Description": "Palestra" }, { "CategoryID": 1, "Description": "Piscina" } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
company/all
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna la lista di tutte le aziende attive.
- URL: <serverUrl>/v1/company/all
- Token richiesti: AppToken, AuthToken
- Dati request:
- Dati response: (JSON object)
{ "Items": [ Company1, ... CompanyN ], ResponseData }
Esempio:
{ "Items": [ { "CompanyID": 5, "Name": "AziendaX srl" }, { "CompanyID": 3, "Name": "AziendaY ssd a rl" } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
loyalty/contest
- Tipo: GET
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna il valore di un parametro di un’azienda dato il nome parametro e l’ID Azienda
- URL: <serverUrl>/v1/epurse/getparameter
- Token richiesti: AppToken, AuthToken
- Dati request: (QueryString) name=[name]&companyID=[companyID]
- Dati response: (JSON object)
{ "Items": [ LoyaltyContest1, [...] LoyaltyContestN ], ResponseData }
Esempio:
{ "Items": [ { "ContestID": 1089, "Description": "Porta un amico", "StartDate": "2015-01-01T00:00:00", "EndDate": "2015-06-30T00:00:00", "PrizeExpireDate": "2015-07-31T00:00:00", "PointBalance": 900, "UserPointsID": 1234 }, … ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": ""
}
loyalty/contestentries
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna i movimenti dei punti accumulati dall'utente loggato
- URL: <serverUrl>/v1/loyalty/contestentries
- Token richiesti: AppToken, AuthToken
- Dati request: (QueryString) name=[name]&userPointsID=[userPointsID]
- Dati response: (JSON object)
{ "Items": [ LoyaltyContestEntry1, [...] LoyaltyContestEntryN ], ResponseData }
Esempio:
{ "Items": [ { "UserPointEntryID": 12455, "OperationDate": "2015-04-30T09:42:56", "Description": "Acquisto bibita energetica", "Points": 10 }, … ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
loyalty/useravailableprizes
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Ritorna i premi disponibili per l'utente loggato
- URL: <serverUrl>/v1/loyalty/useravailableprizes
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ LoyaltyContestPrize1, [...] LoyaltyContestPrizeN ], ResponseData }
Esempio:
{ "Items": [ { "ContestID": 100, "PrizeContestID": 122, "ContestDescription": "Porta un amico", "PrizeDescription": "Asciugamano con logo", "Note": "", "PointsValue": 200, "PrizeExpireDate": "2015-04-30T00:00:00", }, … ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
loyalty/reclaimprize
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Segnala che il premio passato in querystring è stato ritirato. Si applica solo a premi non materiali come le ricariche.
- URL: <serverUrl>/v1/loyalty/reclaimprize
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) contestPrizeID=[contestPrizeID]
- Dati response: (JSON object) - La proprietà "Item" contiene il valore true o false a seconda che sia stato possibile o meno ritirare il premio.
{ "Item": true/false, ResponseData }
Esempio:
{ "Item": true, "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
user/add
- Tipo: POST
- Profilo chiamante: Operatore
- Descrizione: Aggiunge un utente al database di InforYou Manager.
- URL: <serverUrl>/v1/user/add
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) User
Esempio:
{ "FirstName":"Mario", "LastName":"Neri", "Login":"mario.neri", "Password":"pwd1", "Street":"Via Roma", "CivicNumber":"22", "Province":"TV", "City":"Treviso", "ZipCode":"31100", "Country":"IT", "Source":"Amici", "EnableEmail":True, "EnablePaper //Autorizza "EnableSMS //AutorizzaS "ReceiptFiscalCode":"", "ReceiptName":"", "FiscalCode":"", "Phone1":"", "Phone2":"", "Mobile":"", "Email":"", "Gender":"", "BirthDate":"", "BirthPlace":"", "BirthProvince":"", "BirthCountry":"", "CategoryID": 14, "InternalNote":"", "CompanyID":2 }
- Dati response: (JSON object) ResponseData
Esempio:
{ "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
payments/createpayment
- Tipo: POST
- Profilo chiamante: Operatore
- Descrizione: This service is called from any third-party application that has to notify InforYou Ecosystem about a confirmed payment or request InforYou Ecosystem to authorize a new payment.
- URL: <serverUrl>/v1/payments/createpayment
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object) Payment
- Dati response: (JSON object) ResponseData che contiene l'ID (generato dal server) del pagamento appena creato.
Esempio:
{ "Successful": true, "Comment": "PaymentID=123456", "Result": "0", "ErrorMessage": "" }
NOTA BENE: (Aggiungere Header Content-Type: application/json)
Delete payment (to be confirmed)
- Tipo: DELETE
- Profilo chiamante: Operatore
- Descrizione: This service is called from any third-party application in order to cancel a previously-created payment
- URL: <serverUrl>/v1/payments/<paymentID>
- Token richiesti: AppToken, AuthToken
- Dati request:: N.A.
- Dati response: (JSON object) ResponseData
Retrieve info about coupon
- Tipo: GET
- Profilo chiamante: Operatore
- Descrizione: Restituisce tutte le informazioni relative al coupon identificato dal codice passato come input
- URL: <serverUrl>/v1/Coupons/coupon?code={code}
- Token richiesti: AppToken, AuthToken
- Dati request:: (string) coupon code
- Dati response: (JSON object)
{ "Item": Coupon, ResponseData }
Create coupon
- Tipo: POST
- Profilo chiamante: Operatore
- Descrizione: This service is called to create a coupon
- URL: <serverUrl>/v1/Coupons/createcoupon
- Token richiesti: AppToken, AuthToken
- Dati request:: (JSON object) Coupon
- Dati response: (JSON object) ResponseData
Retrieve card information
- Tipo: GET
- Profilo chiamante: Operatore
- Descrizione: Metodo che restituisce le informazioni relative all'utente che possiede la carta identificata dal codice passato come input.
- URL: <serverUrl>/v1/cards/card?code={code}
- Token richiesti: AppToken, AuthToken
- Dati request:: (string) card/wristband code
- Dati response: (JSON object)
{ "Item": Card, ResponseData }
medicalcertificate/medicalcertificate
- Tipo: POST
- Profilo chiamante: Operatore/Cliente
- Descrizione: Ritorna il certificato medico dell'utente
- URL: <serverUrl>/v1/medicalcertificate/medicalcertificate
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object)
- Dati response: (JSON object) ResponseData
suspension/suspension
- Tipo: POST
- Profilo chiamante: Cliente
- Descrizione: Metodo per la sospensione di un abbonamento
- URL: <serverUrl>/v1/suspension/suspension
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object)
- Dati response: (JSON object) ResponseData
suspension/activesubscription
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Metodo che ritorna la lista degli abbonamenti attivi
- URL: <serverUrl>/v1/suspension/activesubscription
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ Subscription1, [...] SubscriptionN ], ResponseData }
Esempio:
{ "Items": [ { "IdIscrizione": 45, "Descrizione abbonamento": "Open" , "DataDisdetta": "2018-01-01T00:00:00", "DataFine": "2019-03-03T00:00:00", "DataInizio": "2018-03-03T00:00:00", "DescCategoria": "Fitness", "DescMacroCategoria": "Abbonamenti", "DescrizioneDurata": "3 mesi", "DescrizioneIscrizione": "Abbonamenti Fitness Open 3 mesi dal 3-3-2018 al 3-3-2019", "Durata": 3, "Periodo": "M", "Note": "", "RinnovoAutomatico": 0, "RinnovoAutomaticoIDIscrizione": null }, … ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
suspension/suspensionperiods
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Metodo che ritorna tutti i possibili periodi di sospensione
- URL: <serverUrl>/v1/suspension/suspensionperiods
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) idiscriszione=[idiscrizione]
- Dati response: (JSON object)
suspension/suspensiondays
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Metodo che ritorna tutti i possibili giorni di sospensione
- URL: <serverUrl>/v1/suspension/suspensiondays
- Token richiesti: AppToken, AuthToken
- Dati request: (Querystring) idiscriszione=[idiscrizione]
- Dati response: (JSON object)
suspension/suspensionreason
- Tipo: GET
- Profilo chiamante: Cliente
- Descrizione: Metodo che ritorna le ragioni di sospensione
- URL: <serverUrl>/v1/suspension/suspensionreason
- Token richiesti: AppToken, AuthToken
- Dati request:
- Dati response: (JSON object)
ticket/gettickettypes
- Tipo: GET
- Profilo chiamante: Operatore
- Descrizione: Metodo che ritorna tutti tipi di ticket disponibili per un'azienda specifica
- URL: <serverUrl>/v1/ticket/tickettypes
- Token richiesti: AppToken, AuthToken
- Dati request: N.A.
- Dati response: (JSON object)
{ "Items": [ TicketType1, ... TicketTypeN ], TicketType }
Esempio:
{ "Items": [ { "TicketType": 412, "CompanyID": 765, "WebCategoryID": 54, "Name": "Adulto", "Description": "Giornaliero", "Price": 10 } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
ticket/buyticket
- Tipo: GET
- Profilo chiamante: Operatore
- Descrizione: Metodo per effettuare il pagamento di un biglietto
- URL: <serverUrl>/v1/ticket/buyticket
- Token richiesti: AppToken, AuthToken
- Dati request: (JSON object)
- Dati response: (JSON object)
{ "Items": [ PurchaseTicketResult1, ... PurchaseTicketResultN ], ResponseData }
Esempio:
{ "Items": [ { "transactionID": 3F2504E04F8911D39A0C0305E82C3301 , "CompanyID": 3, "UserID": 81, "TicketQuantity": 3, "OrderTotal": [decimal], "OrderStatus": 0, "PurchaseDateTime": 2018-02-02T11:34:17 , "Message": "Order for specified UserId already exists." } ], "Successful": true, "Comment": "", "Result": "0", "ErrorMessage": "" }
Increment/Decrement EPurse
- Tipo: POST
- Profilo chiamante: Operatore
- Descrizione: This service is called by an operator to increment/decrement a customer epurse.
- URL: <serverUrl>/v1/epurse/bookentries
- Token richiesti: AppToken, AuthToken
- Dati request:: (JSON object) EPurseBookEntry
- Dati response: (JSON object) ResponseData
Unisciti alla nostra fanbase