Snippets

Purvesh Khona Update Personnel

Created by Purvesh Khona
/**
 * 
 */
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])(?=.*[!@#$%^&amp;*()_+}{&quot
		 * ;:;'?/&gt;.&lt;,])(?!.*\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();
		}
	}

}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.