Add COntent
Update Personnel
/**
*
*/
package com.braango.virtualdealer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import com.braango.client.ApiCallback;
import com.braango.client.ApiClient;
import com.braango.client.ApiException;
import com.braango.client.braangoapi.PersonnelsApi;
import com.braango.client.braangomodel.HeaderResponse;
import com.braango.client.braangomodel.PersonnelOutputWrapper;
import com.braango.client.braangomodel.PersonnelRequest;
import com.braango.client.braangomodel.PersonnelRequestInput;
import com.braango.client.braangomodel.PersonnelUpdate;
import com.braango.client.braangomodel.PersonnelUpdateRequestInput;
import com.braango.client.braangomodel.RequestHeader;
import com.braango.client.braangomodel.SubDealerBody;
import com.braango.client.braangomodel.SubDealerRequestInput;
/**
* @author braango
*
* Sample code showing how to create subDealer
*
*/
public class UpdatePersonnel {
static String basePath = "https://testapi2.braango.com/v2/braango";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApiClient braangoApiClient = new ApiClient();
String authToken = "ISNWF0P30WM0CMK"; // TEST auth token. Please contact
// sales@braango.com to have one
// created for you
braangoApiClient.setBasePath(basePath);
// Set the auth_token for api client to
// interact with Braango system
braangoApiClient.setApiKey(authToken);
// Api key is authorization to to access
// resources within braango system
//
// This key is different than auth_token
// that is used to validate the master account
String apiKey = "ISNfTMNOumV3xYNDd2g";
// Create personnel api. Personnel is hosted by subDealer
PersonnelsApi personnelsApi = new PersonnelsApi(braangoApiClient);
ApiCallback<PersonnelOutputWrapper> callBack = new ApiCallback<PersonnelOutputWrapper>() {
@Override
public void onUploadProgress(long bytesWritten, long contentLength,
boolean done) {
System.out
.println("Place holder for tracking request progress");
}
@Override
public void onSuccess(PersonnelOutputWrapper result,
int statusCode, Map<String, List<String>> responseHeaders) {
UUID salesPersonId = result.getBody().getData().getSalesPersonId();
System.out.println("SUCCESS : Updated SalespersonID = " + salesPersonId.toString());
}
@Override
public void onFailure(ApiException e, int statusCode,
Map<String, List<String>> responseHeaders) {
System.out.println("Error is " + statusCode + " "
+ e.getResponseBody());
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength,
boolean done) {
}
};
// PersonnelUpdateInput wraps RequestHeader and personnelUpdate
PersonnelUpdateRequestInput personnelRequestInput = new PersonnelUpdateRequestInput();
/*
* { "api_key": "ISNGvAzwuy4X7vAqrtV", "id": "any value",
* "account_type": "partner" }
*/
RequestHeader hdr = new RequestHeader();
// Set the account type to partner for
// virtual dealer and partner hosted
// accounts
hdr.setAccountType("partner");
// dealer_api_key returned
// when partner_dealer was created
hdr.setApiKey(apiKey);
// ID that will be reflected back
hdr.setId("create-personnel-s1002r2");
personnelRequestInput.setHeader(hdr);
PersonnelUpdate body = new PersonnelUpdate();
// REQUIRED FIELDS
// Required field . Used for
// SMS login in to the UI
// For Braango Enterprise, this is don't care
// unless partner implements UI with SMS login
body.setSmsLogin(false);
/*
* Password will be encrypted with SHA-25 and base64 encoded and stored
* internally within the braango system. pattern:
* ^(?=^.{6,10}$)(?=.*\d)(
* ?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{"
* ;:;'?/>.<,])(?!.*\s).*$
*
* Used for single sign on. needs to 6-10 characters with one capital,
* one numberal and one special character
*
* Chaning the password for the update call
*
*/
body.setPassword("test2T$");
// OPTIONAL FIELDS
// List of banners. Braango will
// randomly choose one when sending
// message to dealer via SMS
//
List<String> dealerBanners = new ArrayList<String>();
dealerBanners.add("s1002r2db1updated");
body.setDealerBanners(dealerBanners);
// List of client banners. Braango
// will randomly choose one when
// sending dealer messages to client
List<String> clientBanners = new ArrayList<String>();
clientBanners.add("s1002r2cb1updated");
body.setClientBanners(clientBanners);
// List of supervisor banners. Braango
// will randomly choose one when
// sending messages to supervisor
List<String> supervisorBanners = new ArrayList<String>();
supervisorBanners.add("s1002r2sb1updated");
body.setSupervisorBanners(supervisorBanners);
// List of dealer footers. Braango will
// randomly choose one when sending
// message to dealer via SMS
//
List<String> dealerFooters = new ArrayList<String>();
dealerFooters.add("s1002r2df1updated");
body.setDealerFooters(dealerFooters);
// List of client footers. Braango
// will randomly choose one when
// sending dealer messages to client
List<String> clientFooters = new ArrayList<String>();
clientFooters.add("s1002r2cf1updated");
body.setClientFooters(clientFooters);
// List of supervisor footers. Braango
// will randomly choose one when
// sending messages to supervisor
List<String> supervisorFooters = new ArrayList<String>();
supervisorBanners.add("s1002r2sf1updated");
body.setSupervisorFooters(supervisorFooters);
String email = "s1002r2@subdealer1002.com";
body.setEmail(email);
// If email specified is that for
// CRM email (ADF XML compliant)
Boolean typeAdfCRMEmail = false;
body.setTypeAdfCrm(typeAdfCRMEmail);
/*
* Number where personnel can be reached via SMS
* for leads
*
* pattern:^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
*/
String smsNumber = "4089763434";
body.setSmsNumber(smsNumber);
/*
* Number where personnel can be reached via voice
* for leads
*
* pattern:^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
*
*/
String phoneNumber = "4089763434";
body.setPhoneNumber(phoneNumber);
//Subscribe to the group
String group = "s1002grp";
body.setGroup(group);
personnelRequestInput.setBody(body);
try {
String subDealerId = "subdealers1002";
// Existing salesperson
String salesPersonId = "c8e7f607-24b7-4805-a007-7482e9938d1e";
personnelsApi.updatePersonnelAsync(subDealerId,salesPersonId,personnelRequestInput, callBack);
} catch (ApiException e1) {
e1.printStackTrace();
}
}
}