Snippets
Created by
Monil Gandhi
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 149 150 151 152 153 154 155 156 157 158 159 | <?php
use Braango\braangomodel as model;
use Braango\braangomodel\RequestHeader as rhdr;
require_once (__DIR__ . '/../../vendor/autoload.php');
/**
*
* @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
*
*/
// 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\AccountsApi();
// Braango\braangomodel\AccountCreateRequestInput |
$partnerDealer = new \Braango\braangomodel\AccountCreateRequestInput();
/*
* { "api_key": "ISNGvAzwuy4X7vAqrtV", "id": "any value",
* "account_type": "partner" }
*/
$requestHdr = new rhdr();
// Set the account type to partner for
// virtual dealer and partner hosted
// accounts
$requestHdr->setAccountType("partner");
// 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
$requestHdr->setId("create-partner-dealer-p7");
$partnerDealer->setHeader($requestHdr);
// Actual body of the virtual dealer object
$bdy = new model\AccountInput();
// Business name - Required. Needs to be unique within
// Braango system. Braango will return error code if
// name conflicts
$bdy->setBusinessName("partner p7");
// username is needed for dashboard login and in future
// will be used for basic auth - Required
$bdy->setUserName("partnerp7");
$bdy->setPassword("p7Partner$");
// First name of authorized user - Required
$bdy->setFirstName("partnerp7");
// Last name of authorized user - Required
$bdy->setLastName("partnerp7");
// Required
$bdy->setEmail("partner@partner7.com");
// Required
$bdy->setCellPhone("4087651235");
// Required
// For virtual dealer, always select enterprise
$bdy->setPackage("Franchise");
// Creating virtual dealer - Optional
$bdy->setVirtualDealer(true);
$partnerDealer->setBody($bdy);
try {
$result = $api_instance->createPartnerDealer($partnerDealer);
if ($result != null) {
// Extract out response hdr and bdy
$rspHdr = $result->getHeader();
if ($requestHdr = ! null) {
$rspId = $rspHdr->getId();
// Braango request tracker
$braangoRequestId = $rspHdr->getIsnRequestId();
print_r("Response ID = " . $rspId . ", API Request Id = " . $braangoRequestId . "\n");
}
$rspBdy = $result->getBody();
if ($rspBdy != null) {
$status = $rspBdy->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)
print_r("Status = " . $status . "/n");
// Actuall response data
$data = $rspBdy->getData();
// This is internal dealerId within braango system
// assigned to virtualDealer (partnerDealer)
$partnerDealerId = $data->getDealerId();
// 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)
//
$partnerDealerApiKey = $data->getDealerApiKey();
print_r("Partner Dealer ID = " . $partnerDealerId . "\n");
print_r("Partner Dealer API Key = " . $partnerDealerApiKey . "\n");
}
}
} catch (Exception $e) {
echo 'Exception when calling AccountsApi->createPartnerDealer: ', $e->getMessage(), PHP_EOL;
}
?>
|
Comments (0)
You can clone a snippet to your computer for local editing. Learn more.