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}