001package com.plivo.examples; 002 003import com.plivo.api.Plivo; 004import com.plivo.api.PlivoClient; 005import com.plivo.api.exceptions.PlivoRestException; 006import com.plivo.api.exceptions.PlivoValidationException; 007import com.plivo.api.models.account.Account; 008import com.plivo.api.models.account.AccountUpdateResponse; 009import com.plivo.api.models.account.Subaccount; 010import com.plivo.api.models.account.SubaccountCreateResponse; 011 012import java.io.IOException; 013 014public class Accounts { 015 private static final String authId = "MANTXXXXXXXXXXXXXXXX"; 016 private static final String authToken = "ZMANTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 017 private static PlivoClient client = new PlivoClient(authId, authToken); 018 019 public static void main(String[] args) { 020 Plivo.init(authId, authToken); 021// getAccountInfo(); 022// getAccountInfoBySettingClient(); 023// modifyAccount(); 024// modifyAccountBySettingClient(); 025 createSubAccount(); 026// createSubAccountBySettingClient(); 027 028 } 029 030 // trying to get account info without setting the client 031 private static void getAccountInfo() { 032 try { 033 Account response = Account.getter() 034 .get(); 035 System.out.println(response); 036 } catch (PlivoRestException | IOException | PlivoValidationException e) { 037 e.printStackTrace(); 038 } 039 } 040 041 // trying to get account info by setting the client 042 private static void getAccountInfoBySettingClient() { 043 try { 044 Account response = Account.getter() 045 .client(client) 046 .get(); 047 System.out.println(response); 048 } catch (PlivoRestException | IOException | PlivoValidationException e) { 049 e.printStackTrace(); 050 } 051 } 052 053 // update account 054 private static void modifyAccount() { 055 try { 056 AccountUpdateResponse response = Account.updater() 057 .address("Test Address") 058 .update(); 059 System.out.println(response); 060 } catch (PlivoRestException | IOException | PlivoValidationException e) { 061 e.printStackTrace(); 062 } 063 } 064 065 // update account with different client settings 066 private static void modifyAccountBySettingClient() { 067 try { 068 AccountUpdateResponse response = Account.updater() 069 .city("Test city") 070 .client(client) 071 .update(); 072 System.out.println(response); 073 } catch (PlivoRestException | IOException | PlivoValidationException e) { 074 e.printStackTrace(); 075 } 076 } 077 078 // create subaccount 079 private static void createSubAccount() { 080 try { 081 SubaccountCreateResponse subaccount = Subaccount.creator("Test") 082 .enabled(true) 083 .create(); 084 System.out.println(subaccount); 085 } catch (PlivoRestException | IOException e) { 086 e.printStackTrace(); 087 } 088 } 089 090 // create subaccount with different client settings 091 private static void createSubAccountBySettingClient() { 092 try { 093 SubaccountCreateResponse subaccount = Subaccount.creator("Test 2") 094 .enabled(true) 095 .client(client) 096 .create(); 097 System.out.println(subaccount); 098 } catch (PlivoRestException | IOException e) { 099 e.printStackTrace(); 100 } 101 } 102 103}