Snippets
Created by
Purvesh Khona
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | /**
*
*/
package com.braango.virtualdealer;
import java.util.UUID;
import com.braango.client.ApiClient;
import com.braango.client.ApiException;
import com.braango.client.braangoapi.AccountsApi;
import com.braango.client.braangomodel.AccountCreateOutputWrapper;
import com.braango.client.braangomodel.AccountCreateOutputWrapperBody;
import com.braango.client.braangomodel.AccountCreateOutputWrapperBodyData;
import com.braango.client.braangomodel.AccountCreateRequestInput;
import com.braango.client.braangomodel.AccountInput;
import com.braango.client.braangomodel.RequestHeader;
import com.braango.client.braangomodel.ResponseHeader;
/**
* @author braango
*
* Code to create virtual dealer for partner having valid auth_token
*
* Auth token of master account is generated by sales team. Allows master
* account holder to manage either partner_dealer(s) or real
* hierarchical dealers. This example assumes virtual dealer mode where
* master account is simply container to hold
* "partner_dealer (virtual dealer)" account "partner_dealer" account
* acts as empty proxy dealership
*
* "partner_dealer" will hold dealers which are called "subDealers" and
* their personnel
*
*/
public class CreateVirtualDealer {
static String basePath = "https://testapi2.braango.com/v2/braango";
/**
*
*/
public CreateVirtualDealer() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
ApiClient braangoApiClient = new ApiClient();
String authToken = "ISNWF0P30WM0CMK"; // TEST auth token. Please contact sales@braango.com to have one created for you
// Create object to create partnerDealer
AccountCreateRequestInput partnerDealer = new AccountCreateRequestInput();
RequestHeader hdr = new RequestHeader();
hdr.apiKey(authToken); // This api key is actually authorization key to enable various features
hdr.setAccountType("partner"); // For channel partner, integrator, this value is partner, else dealer for business directly
// using this api
hdr.setId("create-partner-dealer-p5"); // This id for your tracking, will be reflected back in response. Doesn't get used by Braango
// If not speficied, braango will return session-id in its response
partnerDealer.setHeader(hdr);
AccountInput bdy = new AccountInput(); // Actual body of the virtual dealer object
bdy.setBusinessName("partner p5"); // Business name - Required. Needs to be unique within
// Braango system. Braango will return error code if
// name conflicts
bdy.setUserName("partnerp5"); // username is needed for dashboard login and in future
// will be used for basic auth - Required
bdy.setPassword("p5Partner$");
bdy.setFirstName("partner"); // First name of authorized user - Required
bdy.setLastName("partner"); // Last name of authorized user - Required
bdy.setEmail("partner@partner.com"); // Required
bdy.setCellPhone("4088907723"); // Required
bdy.setPackage("Franchise"); // For virtual dealer, always select enterprise
bdy.setVirtualDealer(true); // Creating virtual dealer - Optional
partnerDealer.setBody(bdy);
braangoApiClient.setBasePath(basePath);
braangoApiClient.setApiKey(authToken); // Lower level api_key . This is the auth_token created by sales_team
// This is actually authentication token
AccountsApi partnerDealerApi
= new AccountsApi(braangoApiClient); // Actual api that has calls to create virtual dealer
try {
AccountCreateOutputWrapper virtualDealer = partnerDealerApi.createPartnerDealer(partnerDealer);
if(virtualDealer != null) {
// Extract out the hdr and body
ResponseHeader respHdr = virtualDealer.getHeader();
if(respHdr != null) {
String respId = respHdr.getId();
UUID braangoRequestId
= respHdr.getIsnRequestId(); // Braango request tracker
System.out.println("Response ID = " + respId + " request tracker id = " + braangoRequestId.toString());
}
AccountCreateOutputWrapperBody respBdy = virtualDealer.getBody();
if(respBdy != null) {
String status = respBdy.getStatus();
// Typically this value should be always SUCCESS else exception will be thrown
// Sometimes, this can be WARNING to indicate if any resource conflicted or not
// In case of SUCCESS or WARNING, resources are always created (excepting warned sub-resources)
System.out.println("Status = " + status);
// Actuall response data
AccountCreateOutputWrapperBodyData data = respBdy.getData();
String partnerDealerId = data.getDealerId(); // This is internal dealerId within braango system
// assigned to virtualDealer (partnerDealer)
String partnerDealerApiKey = data.getDealerApiKey(); // This is critical key that needs to be
// supplied as apiKey in all subsequent
// requests to other APIs. This authorizes
// partnerDealer within braango system
//
// Note this is different from auth_token
// that authenticates partnerDealer and
// needs to be set in ApiClient via setApiKey
// (braangoApiClient)
//
Integer dealerPkId = data.getDealerPkId(); // Internal ID used in Braango system
System.out.println("Partner Dealer Api Key = " + partnerDealerApiKey + "Partner Dealer Id = " + partnerDealerId );
}
}
} catch (ApiException e) {
e.printStackTrace();
System.out.println("HTTP ERROR CODE = " + e.getCode() + "DETAILED MESSAGE = " + e.getResponseBody()) ;
}
}
}
|
Comments (0)
You can clone a snippet to your computer for local editing. Learn more.