Operazioni sul portafoglio
Indirizzo Bitcoin attuale
Permette di recuperare l'indirizzo corrente del portafoglio su cui sarà possibile ricevere delle transazioni.
Metodo
walletService.currentBitcoinAddress
Risposta
Una string
contenente l'indirizzo Bitcoin attuale.
Errori
Codice
Android
conio.walletService.currentBitcoinAddress()
.asCallback(result -> result.analysis(
address -> {/* Handle string wallet address */ },
error -> { /* ... */ }
));
iOS
conio.walletService.currentBitcoinAddress().asCallback { result in
switch result {
case .success(let address):
// Handle string wallet address
case .failure(let error):
// Operation Error
}
}
Lista movimenti bitcoin
Ciascuna operazione di invio, ricezione, acquisto e vendita di Bitcoin è rappresentata da un'Activity
. La lista delle attività svolte dall'utente può essere recuperata tramite l'apposito metodo.
Metodo
walletService.activityList
Parametri
Un oggetto di tipo ActivityListParams
contenente:
-
types: di tipo
List<ActivityType>
, una lista di enumeratiActivityType
che ci permette di specificare le tipologie di activities da recuperare. TramiteActivityType.all()
è possibile ottenere una lista di tutte le tipologie di Activity; -
currency: di tipo
Currency
, la valuta nella quale si vuole conoscere il valore della transazioni di acquisto e vendita (attualmente solo Euro); -
@Default(6) limit: di tipo
intero
, il numero massimo di transazioni da ricevere nella risposta; -
@Opzionale nextPage: di tipo
String
, token per la paginazione delle activities, ottenibile tramite il risultato di una prima richiesta di lista movimenti con questo valore nullo. Inserendo tale valore è possibile ottenere le successiven
Activity (conn
= valore inserito come limit); -
@Opzionale timeFrame: di tipo
TimeFrame
, la finestra temporale che definisce quali Activity includere nella risposta.
Risposta
Un oggetto di tipo ActivityList
contenente:
-
activities: di tipo
List<SimpleActivity>
, ovvero la lista delle Activity dell'utente richieste; -
@Opzionale nextPage: di tipo
String
, token per la paginazione delle activity, che può essere inserito in una successiva richiesta di lista movimenti. Quando questo campo è nullo, significa che non esistono ulteriori Activity tra quelle che rispettano i filtri inseriti.
Ogni Activity resituita (di tipo SimpleActivity
) contiene:
-
activityId: di tipo
String
, l'identificativo univoco della Activity; -
type: di tipo
ActivityType
, la tipologia di Activity (SEND
,BUY
,SELL
,RECEIVE
); -
status: di tipo
TransactionStatus
, lo stato di conferma della transazione Bitcoin legata all'Activity (UNCONFIRMED
,PARTIALLY_CONFIRMED
,CONFIRMED
); -
createdAt: di tipo
long
, l'istante temporale in cui è stata creata l'Activity, espresso come Unix Timestamp in millisecondi. -
cryptoAmount: di tipo
long
, l'ammontare in satoshi (1 bitcoin = 100.000.000 satoshi), movimentato dall'Activity; -
fiatAmount: di tipo
Decimal
(iOS) /BigDecimal
(Android), il corrispettivo ammontare di cryptoAmount, calcolato nella valuta indicata tramite il campo currency;
Errori
Codice
Android
// Example 1: retrieve 6 activities of all type
List<ActivityType> types = ActivityType.all;
ActivityListParams params = new ActivityListParams(types, Currency.EUR);
// Example 2: retrieve 10 sell activities
List<ActivityType> types = Collections.singletonList(ActivityType.SELL);
ActivityListParams params = new ActivityListParams(types, Currency.EUR, 10);
// Example 3: retrieve 6 buy and receive activities of the last month
List<ActivityType> types = Arrays.asList(ActivityType.BUY, ActivityType.RECEIVE);
ActivityListParams params = new ActivityListParams(
types, // types
Currency.EUR, // currency
6, // limit
null, // nextPage
TimeFrame.lastMonth() // timeFrame
);
conio.walletService.activityList(params)
.asCallback(result -> result.analysis(
activityList -> { /* Handle ActivityList */ },
error -> { /* ... */ }
));
iOS
let types = WalletActivityType.allCases
let params = ActivitiesParams(nextPage: "string", types: types)
conio.walletService.walletActivities(params: params).asCallback { result in
switch result {
case .success(let activities):
// WalletActivities
case .failure(let error):
// Operation Error
}
}
Lista movimenti bitcoin in formato PDF
Ciascuna operazione di invio, ricezione, acquisto e vendita di Bitcoin è rappresentata da un'Activity
. La lista delle attività svolte dall'utente, in formato PDF, può essere recuperata tramite l'apposito metodo.
Metodo
Android
walletService.activityListPdf
iOS
walletService.walletPDFActivities
Parametri
Android
Un oggetto di tipo ActivityListPdfParams
contenente:
-
types: di tipo
List<ActivityType>
, una lista di enumeratiActivityType
che ci permette di specificare le tipologie di activities da recuperare. TramiteActivityType.all()
è possibile ottenere una lista di tutte le tipologie di Activity; -
currency: di tipo
Currency
, la valuta nella quale si vuole conoscere il valore della transazioni di acquisto e vendita (attualmente solo Euro); -
@Default(6) limit: di tipo
intero
, il numero massimo di transazioni da ricevere nella risposta; -
@Opzionale timeFrame: di tipo
TimeFrame
, la finestra temporale che definisce quali Activity includere nella risposta.
iOS
Un oggetto di tipo PDFActivitiesParams
contenente:
-
types: di tipo
Array<WalletActivityType>
, una lista di enumeratiWalletActivityType
che ci permette di specificare le tipologie di activities da recuperare. TramiteWalletActivityType.allCases
è possibile ottenere una lista di tutte le tipologie di Activity; -
currency: di tipo
Currency
, la valuta nella quale si vuole conoscere il valore della transazioni di acquisto e vendita (attualmente solo Euro); -
limit: di tipo
Int
(default value 6), il numero massimo di transazioni da ricevere nella risposta; -
timeFrame: di tipo
TimeFrame?
, la finestra temporale che definisce quali Activity includere nella risposta.
Risposta
Android
Un oggetto di tipo InputStream
contenente il bytes stream del PDF.
iOS
Un oggetto di tipo Data
contenente il byte buffer del PDF.
Errori
Codice
Android
// Example 1: retrieve 6 activities of all type
List<ActivityType> types = ActivityType.all;
ActivityListPdfParams params = new ActivityListPdfParams(types, Currency.EUR);
// Example 2: retrieve 10 sell activities
List<ActivityType> types = Collections.singletonList(ActivityType.SELL);
ActivityListPdfParams params = new ActivityListPdfParams(types, Currency.EUR, 10);
// Example 3: retrieve 6 buy and receive activities of the last month
List<ActivityType> types = Arrays.asList(ActivityType.BUY, ActivityType.RECEIVE);
ActivityListPdfParams params = new ActivityListPdfParams(
types, // types
Currency.EUR, // currency
6, // limit
TimeFrame.lastMonth() // timeFrame
);
conio.walletService.activityListPdf(params)
.asCallback(result -> result.analysis(
stream -> { /* Handle InputStream */ },
error -> { /* ... */ }
));
iOS
let types = WalletActivityType.allCases
let params = PDFActivitiesParams(types: types, currency: .EUR)
conio.walletService.walletPDFActivities(with: params).asCallback { result in
switch result {
case .success(let data):
// PDF WalletActivities
case .failure(let error):
// Operation Error
}
}
Dettaglio di un movimento
Recuperata la lista delle attività è possibile ottenere ulteriori informazioni su un Activity specifica richiedendone il dettaglio.
Metodo
walletService.activityDetails
Parametri
Un oggetto di tipo ActivityDetailsParams
contenente:
-
activityId: di tipo
String
, l'id dell'Activity della quale si vuole leggere il dettaglio; -
currency: di tipo
Currency
, la valuta nella quale si vuole conoscere il valore della transazioni di acquisto e vendita (attualmente solo Euro);
Risposta
Un oggetto di tipo ActivityDetails
contenente:
-
activityId: di tipo
String
, l'id dell'attività; -
type: di tipo
ActivityType
, la tipologia di Activity (SEND
,BUY
,SELL
,RECEIVE
); -
createdAt: di tipo
Long
, l'istante temporale in cui è stata creata l'Activity, espresso come Unix Timestamp in millisecondi. -
@Opzionale transaction: di tipo
Transaction
, la transazione annessa. Popolato nel caso in cui sia stata effettuata una transazione. Contiene informazioni sulla transazione Bitcoin associata all'Activity, quali:-
hash: di tipo
String
, l'hash della transazione Bitcoin; -
status: di tipo
TransactionStatus
, lo stato di conferma della transazione Bitcoin legata all'Activity (UNCONFIRMED
,PARTIALLY_CONFIRMED
,CONFIRMED
); -
type: di tipo
TransactionType
, il tipo di transazione Bitcoin (GENERIC
oREDEPOSIT
, ovvero una transazione verso se stessi); -
addresses: di tipo
List<String>
, gli indirizzi Bitcoin dei dei mittenti (per le transazioni in entrata) o dei destinatari (per le transazioni in uscita); -
cryptoAmount: di tipo
long
-
miningFees: di tipo
long
, le commissioni pagate alle rete Bitcoin per processare la transazione; -
isIncoming: di tipo
booleano
, flag indicante se la transazione è in entrata o in uscita rispetto al portafoglio dell'utente; -
isLocal: di tipo
booleano
, flag indicante se la transazione è stata ricevuta/inviata da/a un portafoglio Conio.
-
-
@Opzionale associatedBid: l'offerta di acquisto annessa. Popolato in caso di attività di acquisto. Contiene le informazioni sulla richiesta di acquisto, quali:
-
status: di tipo
BidStatus
, lo stato del pagamento della richiesta di acquisto (PAID
,CHARGED
); -
cryptoAmount: di tipo
long
, l'ammontare in satoshi (1 bitcoin = 100.000.000 satoshi) acquistato; -
fiatAmount: di tipo
Decimal
(iOS) /BigDecimal
(Android), il controvalore (rispetto al cryptoAmount) accordato per l'acquisto dei bitcoin, calcolato nella valuta indicata dal campo currency; -
serviceFee: di tipo
Decimal
(iOS) /BigDecimal
(Android), le commissioni pagate per la fruizione del servizio, calcolato nella valuta indicata dal campo currency; -
currency: di tipo
Currency
, la valuta usata per l'acquisto dei bitcoin; -
paymentMethodId: di tipo
String
, l'identificativo del metodo di pagamento; -
createdAt: di tipo
long
, l'istante temporale in cui è stata creata l'Activity, espresso come Unix Timestamp in millisecondi; -
paidAt: di tipo
long
, l'istante temporale in cui è stato effettuato il pagamento per l'acquisto dei bitcoin, espresso come Unix Timestamp in millisecondi; -
@Opzionale chargedAt: di tipo
long
, l'istante temporale in cui è stata invaita la transazione bitcoin, espresso come Unix Timestamp in millisecondi. Nullo nel caso in cui la transazione non sia ancora stata effettuata.
-
-
@Opzionale associatedAsk: l'offerta di vendita annessa. Popolato in caso di attività di vendita, Contiene le informazioni sulla richeista di vendita, quali:
-
status: di tipo
AskStatus
, lo stato del pagamento della richiesta di vendita (CHARGED
,PAID
) -
cryptoAmount: di tipo
long
, l'ammontare in satoshi (1 bitcoin = 100.000.000 satoshi) venduto; -
fiatAmount: di tipo
Decimal
(iOS) /BigDecimal
(Android), il controvalore (rispetto al cryptoAmount) accordato per la vendita dei bitcoin, calcolato nella valuta indicata dal campo currency; -
serviceFee: di tipo
Decimal
(iOS) /BigDecimal
(Android), le commissioni pagate per la fruizione del servizio, calcolato nella valuta indicata dal campo currency; -
currency: di tipo
Currency
, la valuta usata per la vendita dei bitcoin; -
sellMethodId: di tipo
String
, l'identificativo del metodo di riscossione della vendita; -
@Opzionale cro: di tipo
String
, il Codice Riferimento Operazione della transazione bancaria; -
@Opzionale iban: di tipo
String
, l'IBAN del richiedente del bonifico bancario; -
createdAt: di tipo
long
, l'istante temporale in cui è stata creata l'Activity, espresso come Unix Timestamp in millisecondi; -
@Opzionale chargedAt: di tipo
long
, l'istante temporale in cui è stato effettuato il pagamento per la vendita dei bitcoin, espresso come Unix Timestamp in millisecondi. Nullo nel caso in cui la transazione non sia ancora stata effettuata; -
paidAt: di tipo
long
, l'istante temporale in cui è stata invaita la transazione bitcoin, espresso come Unix Timestamp in millisecondi.
-
Errori
Codice
Android
ActivityDetailsParams params = new ActivityDetailsParams("activityId", Currency.EUR);
conio.walletService.activityDetails(params)
.asCallback(result -> result.analysis(
details -> { /* Handle ActivityDetails */ },
error -> { /* ... */ }
));
iOS
let params = ActivityDetailsParams(activityId: "activityId", currency: .eur)
conio.walletService.activityDetails(params: params).asCallback { result in
switch result {
case .success(let details):
// ActivityDetails
case .failure(let error):
// Operation Error
}
}
Bilancio del portafoglio
Permette di recuperare il bilancio del portafoglio Bitcoin dell'utente.
Metodo
walletService.walletBalances
Risposta
Un oggetto di tipo WalletBalances
contenente il valore di bitcoin presente nel wallet espresso in satoshi (1 bitcoin = 100.000.000 satoshi). Il valore si divide in:
-
confirmedBalance: di tipo
long
, valore con almeno 3 conferme sulla blockchain Bitcoin e quindi disponibile per l'utente; -
unconfirmedBalance: di tipo
long
, valore con meno di 3 conferme e quindi non ancora disponibile.
Errori
Codice
Android
conio.walletService.walletBalances()
.asCallback(result -> result.analysis(
balances -> { /* Handle WalletBalances */ },
error -> { /* ... */ }
));
iOS
conio.walletService.walletBalances().asCallback { result in
switch result {
case .success(let balances):
// WalletBalances
case .failure(let error):
// Operation Error
}
}
Codice di recupero Bitcoin
Permette di recuperare dalla memoria del dispositivo il "Codie di recupero Bitcoin": 12 parole di backup del portafoglio Bitcoin.
Risposta
Un oggetto di tipo MnemonicWords
contenente un array di 12 stringhe.
Errori
Codice
Android
conio.walletService.readMnemonic()
.asCallback(result -> result.analysis(
mnemonic -> { /* Handle MnemonicWords */ },
error -> { /* ... */ }
));
iOS
conio.walletService.readMnemonic().asCallback { result in
switch result {
case .success(let mnemonic):
// MnemonicWords
case .failure(let error):
// Operation Error
}
}