Есть ли способ добавить клиента с контактом в запросе? - PullRequest
0 голосов
/ 10 мая 2019

Я использую PHPToolkit 2012, и он должен создать потенциальных клиентов (клиентов) с контактом в Netsuite. Мой код работает нормально, но иногда выдает ошибку, потому что моя учетная запись не имеет лицензии и не может обрабатывать 2 запроса одновременно.

Я пытаюсь создать клиента с контактом в запросе. Возможно ли это?

Я сравниваю XML-файлы и пробовал много разных способов, но не повезло.

вот мой существующий код (иногда выдает ошибку 2, не может обработать 2 запроса одновременно)

$service = new NetSuiteService();

    $customer = new Customer();

    $customer->lastName = $lead_fname;
    $customer->firstName = $lead_lname;
    $customer->companyName = $lead_company_name;
    $customer->phone = $lead_phone;
    $customer->email = $lead_email;

    $customer->isPerson = false;
    $customer->globalSubscriptionStatus = '_softOptIn';

// Add Lead Status
    $leadStatus = new RecordRef();
    $leadStatus->internalId = '7';
    $leadStatus->name = 'LEAD-New';
    $customer->entityStatus = $leadStatus;

// Add Subsidiary
    $subsidiary = new RecordRef();
    $subsidiary->internalId = '1';
    $subsidiary->name = 'COMPANY NAME';
    $customer->subsidiary = $subsidiary;

// Add salesRep
    $salesRep = new RecordRef();
    $salesRep->internalId = $lead_sales_rep['internal_id'];
    $salesRep->name = $lead_sales_rep['name'];
    $customer->salesRep = $salesRep;

// Add Script ID = Direct Channel
    $directChannel = new SelectCustomFieldRef();
    $directChannel->scriptId = 'custentity_cseg1';
    $directChannel->internalId = '2121';

    $directChannel->value = new ListOrRecordRef();
    $directChannel->value->internalId = '1';
    $directChannel->value->name = 'Direct Sales';
    $directChannel->value->typeId = '301';

// Add Script ID = LEAD Source
    $leadSource = new SelectCustomFieldRef();
    $leadSource->scriptId = 'custentity4';
    $leadSource->internalId = '2192';

    $leadSource->value = new ListOrRecordRef();
    $leadSource->value->internalId = find_lead_source($lead_source);
    $leadSource->value->name = $lead_source;
    $leadSource->value->typeId = '318';

// Add Script ID = KEYBOARD
    $keyboard = new StringCustomFieldRef();
    $keyboard->scriptId = 'custentity_leadkeyword';
    $keyboard->internalId = '2191';
    $keyboard->value = $lead_keyboard;

// Add Script ID = LEAD Description
    $leadDescription = new StringCustomFieldRef();
    $leadDescription->scriptId = 'custentity_fs_descr_details';
    $leadDescription->internalId = '2186';
    $leadDescription->value = $lead_description;

// Add Script ID = Campaign
    $campaign = new StringCustomFieldRef();
    $campaign->scriptId = 'custentity_leadcampaign';
    $campaign->internalId = '2190';
    $campaign->value = $lead_campaign;

// Add Script ID = Marketting Source
    $source = new StringCustomFieldRef();
    $source->scriptId = 'custentity_leadmsource';
    $source->internalId = '2188';
    $source->value = $lead_marketing_source;

// Add Script ID = Medium
    $medium = new StringCustomFieldRef();
    $medium->scriptId = 'custentity_leadmedium';
    $medium->internalId = '2189';
    $medium->value = $lead_medium;

// Add Script ID = $Page From
    $pageFrom = new StringCustomFieldRef();
    $pageFrom->scriptId = 'custentity_pagefrom';
    $pageFrom->internalId = '2193';
    $pageFrom->value = $lead_page_from;


    $customFieldList = new customFieldList();
    $customFieldList->customField = array(
        $directChannel,
        $leadSource,
        $keyboard,
        $campaign,
        $source,
        $medium,
        $pageFrom,
        $leadDescription
    );

    $customer->customFieldList = $customFieldList;

    $request = new AddRequest();
    $request->record = $customer;

    $addResponse1 = $service->add($request);

    $contact = new Contact();
    $contact->entityId = $lead_fname . ' ' . $lead_lname;
    $contact->company = new RecordRef();
    $contact->company->internalId = $addResponse1->writeResponse->baseRef->internalId;
    $contact->email = $lead_email;
    $contact->phone = $lead_phone;

    $contact->subsidiary = $subsidiary;

    $request = new AddRequest();
    $request->record = $contact;

    $addResponse = $service->add($request);

    error_log(' add response into Netsuite ');
    error_log(print_r($addResponse, true));
    if (!$addResponse1->writeResponse->status->isSuccess) {
        return "ADD ERROR";
    } 
        return $addResponse1->writeResponse->baseRef->internalId;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...