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; } ?>