This endpoint or api is responsible for seeding the client to a particular personnel within sub_dealer. In the same call message could be sent to the client spoofing the dealer

There is an option to use sub_dealer’s braango_number or use partner_dealer’s generic blast nunber. Please work with ‘support@braango.com’ to establish generic blast number for your account. If no braango_number is specified, partner’s blast number is used. As a fallback, braango_system has generic numbers to that can be used.

At moment for every partner dealer, blast number is seeded by support team, in V2.1 there will be API support or it will be hidden process

By default, the connection to the personnel is not enabled and it is expected that partner will parse the response to leading question is sent to client and based on that decide to enable or disable the bridge

*(Note personnel and sub_dealer_master account both need to be enabled and active)

The same API can be used to send onlt messge to the seeded client, there is no need for seperate API. This use case would be for any changes detected in partner system that needs to be sent to client, such as offers, or personnel entering message in UI

This API along with Dealer Connect(S) api forms a powerful solution for early binding. Lead Generators and Portals will find this flow most interesting

/**
 * 
 */
package com.braango.virtualdealer.communications.connects;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.braango.client.ApiCallback;
import com.braango.client.ApiClient;
import com.braango.client.ApiException;
import com.braango.client.braangoapi.BraangonumbersApi;
import com.braango.client.braangoapi.ConnectsApi;
import com.braango.client.braangoapi.EmailsApi;
import com.braango.client.braangoapi.GroupsApi;
import com.braango.client.braangoapi.MessagingApi;
import com.braango.client.braangoapi.WebhooksApi;
import com.braango.client.braangomodel.AddClient;
import com.braango.client.braangomodel.AddClientRequestInput;
import com.braango.client.braangomodel.BraangoNumberCreateInput;
import com.braango.client.braangomodel.BraangoNumberCreateInputBody;
import com.braango.client.braangomodel.BraangoNumberInput;
import com.braango.client.braangomodel.BraangoNumberOutput;
import com.braango.client.braangomodel.BraangoNumberOutputBodyData;
import com.braango.client.braangomodel.EmailOutputBodyData;
import com.braango.client.braangomodel.GroupOutput;
import com.braango.client.braangomodel.GroupOutputBodyData;
import com.braango.client.braangomodel.MessageBlast;
import com.braango.client.braangomodel.MessageBlastNumbers;
import com.braango.client.braangomodel.MessageBlastOutputWrapper;
import com.braango.client.braangomodel.MessageBlastOutputWrapperBodyData;
import com.braango.client.braangomodel.MessageBlastRequestInput;
import com.braango.client.braangomodel.RequestHeader;
import com.braango.client.braangomodel.EmailInput;
import com.braango.client.braangomodel.EmailInputBody;
import com.braango.client.braangomodel.EmailOutput;
import com.braango.client.braangomodel.WebhookOutput;
import com.braango.client.braangomodel.WebhookOutputBodyData;

/**
 * @author braango
 * 
 *    Sample code showing how to use
 *    addClient api to add new
 *    client to a sub-dealer
 *    
 *    The api is very flexible with
 *    lots of options
 *    
 *    Please refer to api docs 
 *    to see how to use all options
 *    
 *    Intent here is to show
 *    the relevant api and
 *    call needed
 *   
 *
 */
public class AddClientCall {

	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();
		// TEST auth token. Please contact
		// sales@braango.com to have one
		// created for you
		String authToken = "ISNWF0P30WM0CMK";
		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 connects api. 
		ConnectsApi connectsApi = new ConnectsApi(braangoApiClient);
		

		ApiCallback<Void> callBack = new ApiCallback<Void>() {

			@Override
			public void onUploadProgress(long bytesWritten, 
					long contentLength,
					boolean done) {

				System.out
						.println("Place holder for tracking"
								+ " request progress");

			}

			@Override
			public void onSuccess(Void result, int statusCode,
					Map<String, List<String>> responseHeaders) {

				
				

				System.out.println("Add client status " + statusCode);

			}

			@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) {

			}
		};

		
		// Wraps hdr and body
		
		AddClientRequestInput addClientInput 
		                  = new AddClientRequestInput();
		
		RequestHeader hdr = new RequestHeader();
		hdr.setAccountType("partner");
		hdr.setApiKey(apiKey);
		hdr.setId("add-client-01");
		
		addClientInput.setHeader(hdr);
		
		// This is where the action happens
		AddClient body = new AddClient();
		
		// This is the client that is going
		// to be seeded into the 
		// braango system for this subdealer and/or
		// given personnel
		//
		// If the client already exists, it simply
		// becomes upsert operation
		
		body.setClientNumber("4089874333");
		
		// Specifies if the added client
		// is to be connected with
		// the dealer. Default is 
		// true. If false
		// then, to enable connection
		// either call this api or dealerconnect
		// api and specify enable = true
		body.setConnectEnable(false);
		
		// specify the braango number
		// to be used. System will
		// verify if the braango number
		// is valid for given sub_dealer and/or personnel
		//
		// If not specified, partner's blast number will be
		// used
		// 
		// As a fallback Braango's general number will be used
		// if everything fails
		body.setBraangoNumber("555-555-5555");
		
		// Allows to send initial seeding message
		// to the client if this flag is true
		body.setSendMessage(true);
		
		// If this flag is true, seeding will not 
		// happen. This should be used after
		// seeding has happened and 
		// api caller wants programmatic
		// control of sending message to the
		// client
		body.setSendMessageOnly(false);
		
		List<String> message = new ArrayList<String>();
		message.add("Line 1 \n");
		body.setMessage(message);
		
		addClientInput.setBody(body);
		
		
		try {
			String subDealerId = "subdealers1002";
			
			
			// Group for which the braango number is being created
			String group = "DEFAULT";
			String salesPersonId = "0550c168-6117-45d5-a95f-e66593e6336b";
;			connectsApi.addClientAsync(subDealerId, salesPersonId, addClientInput, callBack);
			
			
		} catch (ApiException e1) {
			e1.printStackTrace();
		}
	}

}

This endpoint or api is responsible for seeding the client to a particular personnel within sub_dealer. In the same call message could be sent to the client spoofing the dealer

There is an option to use sub_dealer’s braango_number or use partner_dealer’s generic blast nunber. Please work with ‘support@braango.com’ to establish generic blast number for your account. If no braango_number is specified, partner’s blast number is used. As a fallback, braango_system has generic numbers to that can be used.

At moment for every partner dealer, blast number is seeded by support team, in V2.1 there will be API support or it will be hidden process

By default, the connection to the personnel is not enabled and it is expected that partner will parse the response to leading question is sent to client and based on that decide to enable or disable the bridge

*(Note personnel and sub_dealer_master account both need to be enabled and active)

The same API can be used to send onlt messge to the seeded client, there is no need for seperate API. This use case would be for any changes detected in partner system that needs to be sent to client, such as offers, or personnel entering message in UI

This API along with Dealer Connect(S) api forms a powerful solution for early binding. Lead Generators and Portals will find this flow most interesting

/**
 * 
 */
package com.braango.virtualdealer.communications.connects;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.braango.client.ApiCallback;
import com.braango.client.ApiClient;
import com.braango.client.ApiException;
import com.braango.client.braangoapi.BraangonumbersApi;
import com.braango.client.braangoapi.ConnectsApi;
import com.braango.client.braangoapi.EmailsApi;
import com.braango.client.braangoapi.GroupsApi;
import com.braango.client.braangoapi.MessagingApi;
import com.braango.client.braangoapi.WebhooksApi;
import com.braango.client.braangomodel.AddClient;
import com.braango.client.braangomodel.AddClientRequestInput;
import com.braango.client.braangomodel.BraangoNumberCreateInput;
import com.braango.client.braangomodel.BraangoNumberCreateInputBody;
import com.braango.client.braangomodel.BraangoNumberInput;
import com.braango.client.braangomodel.BraangoNumberOutput;
import com.braango.client.braangomodel.BraangoNumberOutputBodyData;
import com.braango.client.braangomodel.EmailOutputBodyData;
import com.braango.client.braangomodel.GroupOutput;
import com.braango.client.braangomodel.GroupOutputBodyData;
import com.braango.client.braangomodel.MessageBlast;
import com.braango.client.braangomodel.MessageBlastNumbers;
import com.braango.client.braangomodel.MessageBlastOutputWrapper;
import com.braango.client.braangomodel.MessageBlastOutputWrapperBodyData;
import com.braango.client.braangomodel.MessageBlastRequestInput;
import com.braango.client.braangomodel.RequestHeader;
import com.braango.client.braangomodel.EmailInput;
import com.braango.client.braangomodel.EmailInputBody;
import com.braango.client.braangomodel.EmailOutput;
import com.braango.client.braangomodel.WebhookOutput;
import com.braango.client.braangomodel.WebhookOutputBodyData;

/**
 * @author braango
 * 
 *    Sample code showing how to use
 *    addClient api to add new
 *    client to a sub-dealer
 *    
 *    The api is very flexible with
 *    lots of options
 *    
 *    Please refer to api docs 
 *    to see how to use all options
 *    
 *    Intent here is to show
 *    the relevant api and
 *    call needed
 *   
 *
 */
public class AddClientAllPersonnel {

	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();
		// TEST auth token. Please contact
		// sales@braango.com to have one
		// created for you
		String authToken = "ISNWF0P30WM0CMK";
		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 connects api. 
		ConnectsApi connectsApi = new ConnectsApi(braangoApiClient);
		

		ApiCallback<Void> callBack = new ApiCallback<Void>() {

			@Override
			public void onUploadProgress(long bytesWritten, 
					long contentLength,
					boolean done) {

				System.out
						.println("Place holder for tracking"
								+ " request progress");

			}

			@Override
			public void onSuccess(Void result, int statusCode,
					Map<String, List<String>> responseHeaders) {

				
				

				System.out.println("Add client status " + statusCode);

			}

			@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) {

			}
		};

		
		// Wraps hdr and body
		
		AddClientRequestInput addClientInput 
		                  = new AddClientRequestInput();
		
		RequestHeader hdr = new RequestHeader();
		hdr.setAccountType("partner");
		hdr.setApiKey(apiKey);
		hdr.setId("add-client-01");
		
		addClientInput.setHeader(hdr);
		
		// This is where the action happens
		AddClient body = new AddClient();
		
		// This is the client that is going
		// to be seeded into the 
		// braango system for this subdealer and/or
		// given personnel
		//
		// If the client already exists, it simply
		// becomes upsert operation
		
		body.setClientNumber("4089874333");
		
		// Specifies if the added client
		// is to be connected with
		// the dealer. Default is 
		// true. If false
		// then, to enable connection
		// either call this api or dealerconnect
		// api and specify enable = true
		body.setConnectEnable(false);
		
		// specify the braango number
		// to be used. System will
		// verify if the braango number
		// is valid for given sub_dealer and/or personnel
		//
		// If not specified, partner's blast number will be
		// used
		// 
		// As a fallback Braango's general number will be used
		// if everything fails
		body.setBraangoNumber("555-555-5555");
		
		// Allows to send initial seeding message
		// to the client if this flag is true
		body.setSendMessage(true);
		
		// If this flag is true, seeding will not 
		// happen. This should be used after
		// seeding has happened and 
		// api caller wants programmatic
		// control of sending message to the
		// client
		body.setSendMessageOnly(false);
		
		List<String> message = new ArrayList<String>();
		message.add("Line 1 \n");
		body.setMessage(message);
		
		addClientInput.setBody(body);
		
		
		try {
			String subDealerId = "subdealers1002";
			
			
			
;			connectsApi.addClientAllPersonnelAsync(subDealerId, addClientInput, callBack);
			
			
		} catch (ApiException e1) {
			e1.printStackTrace();
		}
	}

}

This API enables connecting un-seeded client to the particular personnel within sub_dealer Calling this API seeds the client to particular personnel within the sub_dealer. In case if you want to see all personnel within sub_dealer using the more generic version of the API please refer here

The API spoofs the client and sends message to the dealer. Partner or master account is expected to notify the dealer that client in question is seeded and is ready to communicate

API is poweful to use sub_dealer’s braango number to connect client with dealer. This would result in engagement between client and dealer using dealer’s braango number. It would be avisable to notify client in that case of change of ownership either using add_client api call prior to maing this call (add_client allows to spoof dealer to client) or using message_blast api and notifying change of ownership in the message. This would engagement experience more smoother. By default client is still engaged with blast number that was used in original message_blast  api call

In case if sub_dealer’s braango number is not used to connect client with dealer, client will be able to communicate using the blast number on which it first received the message. The blast number then acts as bridge between the client and the dealer

It should be noted that , client can be connected to multiple sub_dealers by calling this API call repeatedly with diffent sub_dealers . In case connection has to be made to all the personnel within the sub_dealer, then there is variant of this API described below that can be used.

(Note for connecting clients to dealer with blast number, we allow only 3 connections. In case client needs to be connected to more than 3, we suggest to use sub_dealer’s braango_number instead)

Combination of message_blast  and this API is very powerful for lead_reselling , lead_harvesting business model. Lead providers typically use this model in say “Buy Here Pay Here BHPH” or other scenarios where they have quality harvested

/**
 * 
 */
package com.braango.virtualdealer.communications.connects;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.braango.client.ApiCallback;
import com.braango.client.ApiClient;
import com.braango.client.ApiException;
import com.braango.client.braangoapi.BraangonumbersApi;
import com.braango.client.braangoapi.ConnectsApi;
import com.braango.client.braangoapi.EmailsApi;
import com.braango.client.braangoapi.GroupsApi;
import com.braango.client.braangoapi.MessagingApi;
import com.braango.client.braangoapi.WebhooksApi;
import com.braango.client.braangomodel.AddClient;
import com.braango.client.braangomodel.AddClientRequestInput;
import com.braango.client.braangomodel.BraangoNumberCreateInput;
import com.braango.client.braangomodel.BraangoNumberCreateInputBody;
import com.braango.client.braangomodel.BraangoNumberInput;
import com.braango.client.braangomodel.BraangoNumberOutput;
import com.braango.client.braangomodel.BraangoNumberOutputBodyData;
import com.braango.client.braangomodel.DealerConnect;
import com.braango.client.braangomodel.DealerConnectRequestInput;
import com.braango.client.braangomodel.EmailOutputBodyData;
import com.braango.client.braangomodel.GroupOutput;
import com.braango.client.braangomodel.GroupOutputBodyData;
import com.braango.client.braangomodel.MessageBlast;
import com.braango.client.braangomodel.MessageBlastNumbers;
import com.braango.client.braangomodel.MessageBlastOutputWrapper;
import com.braango.client.braangomodel.MessageBlastOutputWrapperBodyData;
import com.braango.client.braangomodel.MessageBlastRequestInput;
import com.braango.client.braangomodel.RequestHeader;
import com.braango.client.braangomodel.EmailInput;
import com.braango.client.braangomodel.EmailInputBody;
import com.braango.client.braangomodel.EmailOutput;
import com.braango.client.braangomodel.WebhookOutput;
import com.braango.client.braangomodel.WebhookOutputBodyData;

/**
 * @author braango
 * 
 *    Sample code showing how to use
 *    dealerConnect api to enable
 *    bridge between seeded client
 *    and the sub-dealer
 */
public class DealerConnectCall {

	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();
		// TEST auth token. Please contact
		// sales@braango.com to have one
		// created for you
		String authToken = "ISNWF0P30WM0CMK";
		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 connects api. 
		ConnectsApi connectsApi = new ConnectsApi(braangoApiClient);
		

		ApiCallback<Void> callBack = new ApiCallback<Void>() {

			@Override
			public void onUploadProgress(long bytesWritten, 
					long contentLength,
					boolean done) {

				System.out
						.println("Place holder for tracking"
								+ " request progress");

			}

			@Override
			public void onSuccess(Void result, int statusCode,
					Map<String, List<String>> responseHeaders) {

				
				

				System.out.println("Add client status " + statusCode);

			}

			@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) {

			}
		};

		
		// Wraps hdr and body
		
		DealerConnectRequestInput dealerConnectInput 
		                  = new DealerConnectRequestInput();
		
		RequestHeader hdr = new RequestHeader();
		hdr.setAccountType("partner");
		hdr.setApiKey(apiKey);
		hdr.setId("add-client-01");
		
		dealerConnectInput.setHeader(hdr);
		
		// This is where the action happens
		DealerConnect body = new DealerConnect();
		
		// This is the client that is going
		// to be seeded into the 
		// braango system for this subdealer and/or
		// given personnel
		//
		// If the client already exists, it simply
		// becomes upsert operation
		// 
		// This also informs braango
		// which client to use for connecting
		// to the subDealer personnel
		
		body.setClientNumber("4089874333");
		
		// Specifies if the  client
		// is to be connected with
		// the dealer. 
		body.setConnectEnable(true);
		
		// specify the braango number
		// to be used. System will
		// verify if the braango number
		// is valid for given sub_dealer and/or personnel
		//
		// If not specified, partner's blast number will be
		// used
		// 
		// As a fallback Braango's general number will be used
		// if everything fails
		body.setBraangoNumber("555-555-5555");
		
		// Message to send to dealer 
		// spoofing the client
		List<String> message = new ArrayList<String>();
		message.add("Line 1 \n");
		body.setMessage(message);
		
		dealerConnectInput.setBody(body);
		
		
		try {
			String subDealerId = "subdealers1002";
			
			
			// Group for which the braango number is being created
			String group = "DEFAULT";
			String salesPersonId = "0550c168-6117-45d5-a95f-e66593e6336b";
			connectsApi.dealerConnectAsync(subDealerId, salesPersonId, dealerConnectInput, callBack);
			
			
		} catch (ApiException e1) {
			e1.printStackTrace();
		}
	}

}

This API enables connecting un-seeded client to the particular all personnel within sub_dealer Calling this API seeds the client to all personnel within the sub_dealer. In case if you want to see one personnel within sub_dealer using the more specialized version of the API describe please refer

The API spoofs the client and sends message to the dealer. Partner or master account is expected to notify the dealer that client in question is seeded and is ready to communicate

API is poweful to use sub_dealer’s braango number to connect client with dealer. This would result in engagement between client and dealer using dealer’s braango number. It would be avisable to notify client in that case of change of ownership either using add_client api call prior to maing this call (add_client allows to spoof dealer to client) or using message_blast api and notifying change of ownership in the message. This would engagement experience more smoother. By default client is still engaged with blast number that was used in original message_blast api call

In case if sub_dealer’s braango number is not used to connect client with dealer, client will be able to communicate using the blast number on which it first received the message. The blast number then acts as bridge between the client and the dealer

It should be noted that , client can be connected to multiple sub_dealers by calling this API call repeatedly with diffent sub_dealers . In case connection has to be made to all the personnel within the sub_dealer, then there is variant of this API described below that can be used.

(Note for connecting clients to dealer with blast number, we allow only 3 connections. In case client needs to be connected to more than 3, we suggest to use sub_dealer’s braango_number instead)

Combination of message_blast  and this API is very powerful for lead_reselling , lead_harvesting business model. Lead providers typically use this model in say “Buy Here Pay Here BHPH” or other scenarios where they have quality harvested leads

/**
 * 
 */
package com.braango.virtualdealer.communications.connects;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.braango.client.ApiCallback;
import com.braango.client.ApiClient;
import com.braango.client.ApiException;
import com.braango.client.braangoapi.BraangonumbersApi;
import com.braango.client.braangoapi.ConnectsApi;
import com.braango.client.braangoapi.EmailsApi;
import com.braango.client.braangoapi.GroupsApi;
import com.braango.client.braangoapi.MessagingApi;
import com.braango.client.braangoapi.WebhooksApi;
import com.braango.client.braangomodel.AddClient;
import com.braango.client.braangomodel.AddClientRequestInput;
import com.braango.client.braangomodel.BraangoNumberCreateInput;
import com.braango.client.braangomodel.BraangoNumberCreateInputBody;
import com.braango.client.braangomodel.BraangoNumberInput;
import com.braango.client.braangomodel.BraangoNumberOutput;
import com.braango.client.braangomodel.BraangoNumberOutputBodyData;
import com.braango.client.braangomodel.DealerConnect;
import com.braango.client.braangomodel.DealerConnectRequestInput;
import com.braango.client.braangomodel.EmailOutputBodyData;
import com.braango.client.braangomodel.GroupOutput;
import com.braango.client.braangomodel.GroupOutputBodyData;
import com.braango.client.braangomodel.MessageBlast;
import com.braango.client.braangomodel.MessageBlastNumbers;
import com.braango.client.braangomodel.MessageBlastOutputWrapper;
import com.braango.client.braangomodel.MessageBlastOutputWrapperBodyData;
import com.braango.client.braangomodel.MessageBlastRequestInput;
import com.braango.client.braangomodel.RequestHeader;
import com.braango.client.braangomodel.EmailInput;
import com.braango.client.braangomodel.EmailInputBody;
import com.braango.client.braangomodel.EmailOutput;
import com.braango.client.braangomodel.WebhookOutput;
import com.braango.client.braangomodel.WebhookOutputBodyData;

/**
 * @author braango
 * 
 *    Sample code showing how to use
 *    dealerConnect api to enable
 *    bridge between seeded client
 *    and the sub-dealer
 */
public class DealerConnectAllPersonnel {

	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();
		// TEST auth token. Please contact
		// sales@braango.com to have one
		// created for you
		String authToken = "ISNWF0P30WM0CMK";
		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 connects api. 
		ConnectsApi connectsApi = new ConnectsApi(braangoApiClient);
		

		ApiCallback<Void> callBack = new ApiCallback<Void>() {

			@Override
			public void onUploadProgress(long bytesWritten, 
					long contentLength,
					boolean done) {

				System.out
						.println("Place holder for tracking"
								+ " request progress");

			}

			@Override
			public void onSuccess(Void result, int statusCode,
					Map<String, List<String>> responseHeaders) {

				
				

				System.out.println("Add client status " + statusCode);

			}

			@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) {

			}
		};

		
		// Wraps hdr and body
		
		DealerConnectRequestInput dealerConnectInput 
		                  = new DealerConnectRequestInput();
		
		RequestHeader hdr = new RequestHeader();
		hdr.setAccountType("partner");
		hdr.setApiKey(apiKey);
		hdr.setId("add-client-01");
		
		dealerConnectInput.setHeader(hdr);
		
		// This is where the action happens
		DealerConnect body = new DealerConnect();
		
		// This is the client that is going
		// to be seeded into the 
		// braango system for this subdealer and/or
		// given personnel
		//
		// If the client already exists, it simply
		// becomes upsert operation
		// 
		// This also informs braango
		// which client to use for connecting
		// to the subDealer personnel
		
		body.setClientNumber("4089874333");
		
		// Specifies if the  client
		// is to be connected with
		// the dealer. 
		body.setConnectEnable(true);
		
		// specify the braango number
		// to be used. System will
		// verify if the braango number
		// is valid for given sub_dealer and/or personnel
		//
		// If not specified, partner's blast number will be
		// used
		// 
		// As a fallback Braango's general number will be used
		// if everything fails
		body.setBraangoNumber("555-555-5555");
		
		// Message to send to dealer 
		// spoofing the client
		List<String> message = new ArrayList<String>();
		message.add("Line 1 \n");
		body.setMessage(message);
		
		dealerConnectInput.setBody(body);
		
		
		try {
			String subDealerId = "subdealers1002";
			
			
		
			connectsApi.dealerConnectAllPersonnelAsync(subDealerId, dealerConnectInput, callBack);
			
			
		} catch (ApiException e1) {
			e1.printStackTrace();
		}
	}

}

This endpoint or api is responsible for seeding the client to a particular personnel within sub_dealer. In the same call message could be sent to the client spoofing the dealer

There is an option to use sub_dealer’s braango_number or use partner_dealer’s generic blast nunber. Please work with ‘support@braango.com’ to establish generic blast number for your account. If no braango_number is specified, partner’s blast number is used. As a fallback, braango_system has generic numbers to that can be used.

At moment for every partner dealer, blast number is seeded by support team, in V2.1 there will be API support or it will be hidden process

By default, the connection to the personnel is not enabled and it is expected that partner will parse the response to leading question is sent to client and based on that decide to enable or disable the bridge

*(Note personnel and sub_dealer_master account both need to be enabled and active)

The same API can be used to send onlt messge to the seeded client, there is no need for seperate API. This use case would be for any changes detected in partner system that needs to be sent to client, such as offers, or personnel entering message in UI

This API along with Dealer Connect(S) api forms a powerful solution for early binding. Lead Generators and Portals will find this flow most interesting

<?php
use Braango\braangomodel as model;
use Braango\braangomodel\RequestHeader as rhdr;
require_once (__DIR__ . '/../../vendor/autoload.php');

/**
 *
 * @author braango
 *        
 *         Sample code showing how to use
 *         addClient api to add new
 *         client to a sub-dealer
 *        
 *         The api is very flexible with
 *         lots of options
 *        
 *         Please refer to api docs
 *         to see how to use all options
 *        
 *         Intent here is to show
 *         the relevant api and
 *         call needed
 *        
 *        
 */

// TEST auth token. Please contact
// sales@braango.com to have one
// created for you
Braango\Configuration::getDefaultConfiguration()->setApiKey('auth_token', 'ISNWF0P30WM0CMK');

$api_instance = new Braango\braangoapi\ConnectsApi();

// string | id of _sub_dealer_
$subdealerid = "subdealers2002";

// string | id of _personnel_
$salespersonid = "a41c39d4-6f7f-40be-964d-8431081ea4d2";

// Braango\braangomodel\AddClientRequestInput |
$addClientRequestInput = new \Braango\braangomodel\AddClientRequestInput();

/*
 * { "api_key": "ISNGvAzwuy4X7vAqrtV", "id": "any value",
 * "account_type": "partner" }
 */
$hrd = new rhdr();

// dealer_api_key returned
// when partner_dealer was created
$hrd->setApiKey("ISNMdzuNiKG7jhl9d9v");
// Set the account type to partner for
// virtual dealer and partner hosted
// accounts
$hrd->setAccountType("partner");

// ID that will be reflected back

$hrd->setId("add-client-01");

$addClientRequestInput->setHeader($hrd);

// This is where the action happens

$addClientBody = new model\AddClient();

// This is the client that is going
// to be seeded into the
// braango system for this subdealer and/or
// given personnel
//
// If the client already exists, it simply
// becomes upsert operation

$addClientBody->setClientNumber("4089874333");

// Specifies if the added client
// is to be connected with
// the dealer. Default is
// true. If false
// then, to enable connection
// either call this api or dealerconnect
// api and specify enable = true

$addClientBody->setConnectEnable(FALSE);

// specify the braango number
// to be used. System will
// verify if the braango number
// is valid for given sub_dealer and/or personnel
//
// If not specified, partner's blast number will be
// used
//
// As a fallback Braango's general number will be used
// if everything fails

$addClientBody->setBraangoNumber("555-555-5555");

// Allows to send initial seeding message
// to the client if this flag is true

$addClientBody->setSendMessage(TRUE);

// If this flag is true, seeding will not
// happen. This should be used after
// seeding has happened and
// api caller wants programmatic
// control of sending message to the
// client

$addClientBody->setSendMessageOnly(FALSE);

$message = array(
    "Line 1"
);

$addClientBody->setMessage($message);

$addClientRequestInput->setBody($addClientBody);

try {
    $api_instance->addClient($subdealerid, $salespersonid, $addClientRequestInput);
    
} catch (Exception $e) {
    echo 'Exception when calling ConnectsApi->addClient: ', $e->getMessage(), PHP_EOL;
}
?>

This endpoint or api is responsible for seeding the client to a particular personnel within sub_dealer. In the same call message could be sent to the client spoofing the dealer

There is an option to use sub_dealer’s braango_number or use partner_dealer’s generic blast nunber. Please work with ‘support@braango.com’ to establish generic blast number for your account. If no braango_number is specified, partner’s blast number is used. As a fallback, braango_system has generic numbers to that can be used.

At moment for every partner dealer, blast number is seeded by support team, in V2.1 there will be API support or it will be hidden process

By default, the connection to the personnel is not enabled and it is expected that partner will parse the response to leading question is sent to client and based on that decide to enable or disable the bridge

*(Note personnel and sub_dealer_master account both need to be enabled and active)

The same API can be used to send onlt messge to the seeded client, there is no need for seperate API. This use case would be for any changes detected in partner system that needs to be sent to client, such as offers, or personnel entering message in UI

This API along with Dealer Connect(S) api forms a powerful solution for early binding. Lead Generators and Portals will find this flow most interesting

<?php
use Braango\braangomodel as model;
use Braango\braangomodel\RequestHeader as rhdr;
require_once (__DIR__ . '/../../vendor/autoload.php');
/**
 *
 * @author braango
 *        
 *         Sample code showing how to use
 *         addClient api to add new
 *         client to a sub-dealer
 *        
 *         The api is very flexible with
 *         lots of options
 *        
 *         Please refer to api docs
 *         to see how to use all options
 *        
 *         Intent here is to show
 *         the relevant api and
 *         call needed
 *        
 *        
 */

// TEST auth token. Please contact
// sales@braango.com to have one
// created for you
Braango\Configuration::getDefaultConfiguration()->setApiKey('auth_token', 'ISNWF0P30WM0CMK');

$api_instance = new Braango\braangoapi\ConnectsApi();

// string | id of _sub_dealer_
$subdealerid = "subdealers2002";

// Braango\braangomodel\AddClientRequestInput |
$addClientRequestInput = new \Braango\braangomodel\AddClientRequestInput();

/*
 * { "api_key": "ISNGvAzwuy4X7vAqrtV", "id": "any value",
 * "account_type": "partner" }
 */
$hrd = new rhdr();

// dealer_api_key returned
// when partner_dealer was created
$hrd->setApiKey("ISNMdzuNiKG7jhl9d9v");

// Set the account type to partner for
// virtual dealer and partner hosted
// accounts
$hrd->setAccountType("partner");

// ID that will be reflected back

$hrd->setId("add-client-01");

$addClientRequestInput->setHeader($hrd);

// This is where the action happens

$addClientBody = new model\AddClient();

// This is the client that is going
// to be seeded into the
// braango system for this subdealer and/or
// given personnel
//
// If the client already exists, it simply
// becomes upsert operation

$addClientBody->setClientNumber("4089874333");

// Specifies if the added client
// is to be connected with
// the dealer. Default is
// true. If false
// then, to enable connection
// either call this api or dealerconnect
// api and specify enable = true

$addClientBody->setConnectEnable(FALSE);

// specify the braango number
// to be used. System will
// verify if the braango number
// is valid for given sub_dealer and/or personnel
//
// If not specified, partner's blast number will be
// used
//
// As a fallback Braango's general number will be used
// if everything fails

$addClientBody->setBraangoNumber("555-555-5555");

// Allows to send initial seeding message
// to the client if this flag is true

$addClientBody->setSendMessage(TRUE);

// If this flag is true, seeding will not
// happen. This should be used after
// seeding has happened and
// api caller wants programmatic
// control of sending message to the
// client

$addClientBody->setSendMessageOnly(FALSE);

$message = array(
    "Line 1"
);

$addClientBody->setMessage($message);

$addClientRequestInput->setBody($addClientBody);
try {
    $api_instance->addClientAllPersonnel($subdealerid, $addClientRequestInput);
} catch (Exception $e) {
    echo 'Exception when calling ConnectsApi->addClientAllPersonnel: ', $e->getMessage(), PHP_EOL;
}
?>

This API enables connecting un-seeded client to the particular personnel within sub_dealer Calling this API seeds the client to particular personnel within the sub_dealer. In case if you want to see all personnel within sub_dealer using the more generic version of the API please refer here

The API spoofs the client and sends message to the dealer. Partner or master account is expected to notify the dealer that client in question is seeded and is ready to communicate

API is poweful to use sub_dealer’s braango number to connect client with dealer. This would result in engagement between client and dealer using dealer’s braango number. It would be avisable to notify client in that case of change of ownership either using add_client api call prior to maing this call (add_client allows to spoof dealer to client) or using message_blast api and notifying change of ownership in the message. This would engagement experience more smoother. By default client is still engaged with blast number that was used in original message_blast  api call

In case if sub_dealer’s braango number is not used to connect client with dealer, client will be able to communicate using the blast number on which it first received the message. The blast number then acts as bridge between the client and the dealer

It should be noted that , client can be connected to multiple sub_dealers by calling this API call repeatedly with diffent sub_dealers . In case connection has to be made to all the personnel within the sub_dealer, then there is variant of this API described below that can be used.

(Note for connecting clients to dealer with blast number, we allow only 3 connections. In case client needs to be connected to more than 3, we suggest to use sub_dealer’s braango_number instead)

Combination of message_blast  and this API is very powerful for lead_reselling , lead_harvesting business model. Lead providers typically use this model in say “Buy Here Pay Here BHPH” or other scenarios where they have quality harvested

<?php
use Braango\braangomodel as model;
use Braango\braangomodel\RequestHeader as rhdr;
require_once (__DIR__ . '/../../vendor/autoload.php');
/**
 *
 * @author braango
 *        
 *         Sample code showing how to use
 *         dealerConnect api to enable
 *         bridge between seeded client
 *         and the sub-dealer
 */

// TEST auth token. Please contact
// sales@braango.com to have one
// created for you
Braango\Configuration::getDefaultConfiguration()->setApiKey('auth_token', 'ISNWF0P30WM0CMK');

$api_instance = new Braango\braangoapi\ConnectsApi();

// string | id of _sub_dealer_
$subdealerid = "subdealers2002";

// string | id of _personnel_
$salespersonid = "aed72631-c968-4362-a9a4-ebe5bef8310b";

// Braango\braangomodel\DealerConnectRequestInput |
$dealerConnectRequestInput = new \Braango\braangomodel\DealerConnectRequestInput();

/*
 * { "api_key": "ISNGvAzwuy4X7vAqrtV", "id": "any value",
 * "account_type": "partner" }
 */
$hrd = new rhdr();

// dealer_api_key returned
// when partner_dealer was created
$hrd->setApiKey("ISNMdzuNiKG7jhl9d9v");

// Set the account type to partner for
// virtual dealer and partner hosted
// accounts
$hrd->setAccountType("partner");

// ID that will be reflected back

$hrd->setId("add-dealer-01");

$dealerConnectRequestInput->setHeader($hrd);

// This is where the action happens
$dealerConnectBody = new model\DealerConnect();

// This is the client that is going
// to be seeded into the
// braango system for this subdealer and/or
// given personnel
//
// If the client already exists, it simply
// becomes upsert operation
//
// This also informs braango
// which client to use for connecting
// to the subDealer personnel

$dealerConnectBody->setClientNumber("4089874333");

// Specifies if the client
// is to be connected with
// the dealer.

$dealerConnectBody->setConnectEnable(TRUE);

// specify the braango number
// to be used. System will
// verify if the braango number
// is valid for given sub_dealer and/or personnel
//
// If not specified, partner's blast number will be
// used
//
// As a fallback Braango's general number will be used
// if everything fails

$dealerConnectBody->setBraangoNumber("555-555-5555");

$message = array(
    "Line 1"
);

$dealerConnectBody->setMessage($message);

$dealerConnectRequestInput->setBody($dealerConnectBody);

try {
    $api_instance->dealerConnect($subdealerid, $salespersonid, $dealerConnectRequestInput);
    // status code
} catch (Exception $e) {
    echo 'Exception when calling ConnectsApi->dealerConnect: ', $e->getMessage(), PHP_EOL;
}
?>

This API enables connecting un-seeded client to the particular all personnel within sub_dealer Calling this API seeds the client to all personnel within the sub_dealer. In case if you want to see one personnel within sub_dealer using the more specialized version of the API describe please refer

The API spoofs the client and sends message to the dealer. Partner or master account is expected to notify the dealer that client in question is seeded and is ready to communicate

API is poweful to use sub_dealer’s braango number to connect client with dealer. This would result in engagement between client and dealer using dealer’s braango number. It would be avisable to notify client in that case of change of ownership either using add_client api call prior to maing this call (add_client allows to spoof dealer to client) or using message_blast api and notifying change of ownership in the message. This would engagement experience more smoother. By default client is still engaged with blast number that was used in original message_blast api call

In case if sub_dealer’s braango number is not used to connect client with dealer, client will be able to communicate using the blast number on which it first received the message. The blast number then acts as bridge between the client and the dealer

It should be noted that , client can be connected to multiple sub_dealers by calling this API call repeatedly with diffent sub_dealers . In case connection has to be made to all the personnel within the sub_dealer, then there is variant of this API described below that can be used.

(Note for connecting clients to dealer with blast number, we allow only 3 connections. In case client needs to be connected to more than 3, we suggest to use sub_dealer’s braango_number instead)

Combination of message_blast  and this API is very powerful for lead_reselling , lead_harvesting business model. Lead providers typically use this model in say “Buy Here Pay Here BHPH” or other scenarios where they have quality harvested leads

<?php
use Braango\braangomodel as model;
use Braango\braangomodel\RequestHeader as rhdr;
require_once (__DIR__ . '/../../vendor/autoload.php');

/**
 *
 * @author braango
 *        
 *         Sample code showing how to use
 *         dealerConnect api to enable
 *         bridge between seeded client
 *         and the sub-dealer
 */

// TEST auth token. Please contact
// sales@braango.com to have one
// created for you
Braango\Configuration::getDefaultConfiguration()->setApiKey('auth_token', 'ISNWF0P30WM0CMK');

$api_instance = new Braango\braangoapi\ConnectsApi();

// string | id of the _sub_dealer_
$subdealerid = "subdealers2002"; 

// Braango\braangomodel\DealerConnectRequestInput |
$dealerConnectRequestInput = new \Braango\braangomodel\DealerConnectRequestInput(); 

/*
 * { "api_key": "ISNGvAzwuy4X7vAqrtV", "id": "any value",
 * "account_type": "partner" }
 */
$hrd = new rhdr();

// dealer_api_key returned
// when partner_dealer was created
$hrd->setApiKey("ISNMdzuNiKG7jhl9d9v");


// Set the account type to partner for
// virtual dealer and partner hosted
// accounts
$hrd->setAccountType("partner");

// ID that will be reflected back

$hrd->setId("add-client-01");

$dealerConnectRequestInput->setHeader($hrd);

// This is where the action happens

$dealerConnectBody = new model\DealerConnect();

// This is the client that is going
// to be seeded into the
// braango system for this subdealer and/or
// given personnel
//
// If the client already exists, it simply
// becomes upsert operation
//
// This also informs braango
// which client to use for connecting
// to the subDealer personnel

$dealerConnectBody->setClientNumber("4089874333");

// Specifies if the client
// is to be connected with
// the dealer.

$dealerConnectBody->setConnectEnable(TRUE);

// specify the braango number
// to be used. System will
// verify if the braango number
// is valid for given sub_dealer and/or personnel
//
// If not specified, partner's blast number will be
// used
//
// As a fallback Braango's general number will be used
// if everything fails

$dealerConnectBody->setBraangoNumber("555-555-5555");

$message = array(
    "Line 1"
);

$dealerConnectBody->setMessage($message);

$dealerConnectRequestInput->setBody($dealerConnectBody);

try {
    $api_instance->dealerConnectAllPersonnel($subdealerid, $dealerConnectRequestInput);
    
    // status code
} catch (Exception $e) {
    echo 'Exception when calling ConnectsApi->dealerConnectAllPersonnel: ', $e->getMessage(), PHP_EOL;
}
?>
Braango
CONTACT US
Unified customer engagement platform for inbound and outbound communications
Thank You. We will contact you as soon as possible.
PGlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9sMVZqaUxUMUFKdyIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4=