S Feld
08/30/2021, 4:40 PMNoahB
08/31/2021, 2:36 PMSuraj Kudale
09/02/2021, 8:41 AMrequirePwdChange
field in SOAP add
request but even if we set value as true in get
response we are getting false only for this field.
add :
<add>
<record xsi:type="Employee" xmlns="urn:employees_2019_1.lists.webservices.netsuite.com">
<email xsi:type="xsd:string">SKTestP123@gmail.com</email>
<entityId xsi:type="xsd:string">SKTestP123</entityId>
<password xsi:type="xsd:string">password@123</password>
<password2 xsi:type="xsd:string">password@123</password2>
<requirePwdChange xsi:type="xsd:boolean">true</requirePwdChange>
<giveAccess xsi:type="xsd:boolean">true</giveAccess>
<rolesList replaceAll="false" xsi:type="EmployeeRolesList">
<roles xsi:type="EmployeeRoles">
<selectedRole internalId="4" xsi:type="n1:RecordRef" xmlns:n1="urn:core_2019_1.platform.webservices.netsuite.com"/>
</roles>
<roles xsi:type="EmployeeRoles">
<selectedRole internalId="5" xsi:type="n1:RecordRef" xmlns:n1="urn:core_2019_1.platform.webservices.netsuite.com"/>
</roles>
</rolesList>
</record>
</add>
add response :
<addResponse>
<platformMsgs:writeResponse xmlns:platformMsgs="urn:messages_2019_1.platform.webservices.netsuite.com">
<platformCore:status isSuccess="true" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:statusDetail>
<platformCore:afterSubmitFailed>false</platformCore:afterSubmitFailed>
</platformCore:statusDetail>
</platformCore:status>
<platformMsgs:baseRef internalId="877378" type="employee" xsi:type="platformCore:RecordRef" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com"/>
</platformMsgs:writeResponse>
</addResponse>
get
<urn:get>
<urn:baseRef type="employee" internalId="877378" xsi:type="urn1:RecordRef">
</urn:baseRef>
</urn:get>
get response :
<record internalId="877378" xsi:type="listEmp:Employee" xmlns:listEmp="urn:employees_2019_1.lists.webservices.netsuite.com">
<listEmp:entityId>SKTestP123</listEmp:entityId>
<listEmp:email>SKTestP123@gmail.com</listEmp:email>
<listEmp:isInactive>false</listEmp:isInactive>
<listEmp:lastModifiedDate>2021-09-02T01:38:29.000-07:00</listEmp:lastModifiedDate>
<listEmp:dateCreated>2021-09-02T01:38:29.000-07:00</listEmp:dateCreated>
<listEmp:globalSubscriptionStatus>_softOptIn</listEmp:globalSubscriptionStatus>
<listEmp:payFrequency>_everyTwoWeeks</listEmp:payFrequency>
<listEmp:useTimeData>_wage</listEmp:useTimeData>
<listEmp:usePerquest>false</listEmp:usePerquest>
<listEmp:purchaseOrderLimit>0.0</listEmp:purchaseOrderLimit>
<listEmp:isSalesRep>false</listEmp:isSalesRep>
<listEmp:isSupportRep>false</listEmp:isSupportRep>
<listEmp:hireDate>2021-09-02T00:00:00.000-07:00</listEmp:hireDate>
<listEmp:gender>_omitted</listEmp:gender>
<listEmp:giveAccess>true</listEmp:giveAccess>
<listEmp:defaultExpenseReportCurrency internalId="1" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:name>USA</platformCore:name>
</listEmp:defaultExpenseReportCurrency>
<listEmp:sendEmail>false</listEmp:sendEmail>
<listEmp:requirePwdChange>false</listEmp:requirePwdChange>
<listEmp:commissionPaymentPreference>_systemPreference</listEmp:commissionPaymentPreference>
<listEmp:eligibleForCommission>false</listEmp:eligibleForCommission>
<listEmp:rolesList>
<listEmp:roles>
<listEmp:selectedRole internalId="4" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:name>A/P Clerk</platformCore:name>
</listEmp:selectedRole>
</listEmp:roles>
<listEmp:roles>
<listEmp:selectedRole internalId="5" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:name>A/R Clerk</platformCore:name>
</listEmp:selectedRole>
</listEmp:roles>
</listEmp:rolesList>
<listEmp:currencyList>
<listEmp:employeeCurrency>
<listEmp:currency internalId="1" xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:name>USA</platformCore:name>
</listEmp:currency>
</listEmp:employeeCurrency>
</listEmp:currencyList>
<listEmp:customFieldList xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:customField internalId="52" scriptId="custentity417" xsi:type="platformCore:BooleanCustomFieldRef">
<platformCore:value>false</platformCore:value>
</platformCore:customField>
<platformCore:customField internalId="34" scriptId="custentity400" xsi:type="platformCore:BooleanCustomFieldRef">
<platformCore:value>false</platformCore:value>
</platformCore:customField>
</listEmp:customFieldList>
</record>
Suraj Kudale
09/03/2021, 9:35 AMrequirePwdChange
not getting written in soap Employee basic SearchAPI ?Israel
09/03/2021, 9:55 PMAddison Regnier
09/07/2021, 2:29 PMNicholas Penree
09/08/2021, 2:14 PMNick Benthem
09/08/2021, 2:38 PMJosh Godfrey
09/08/2021, 4:58 PMPOST {Rest_Services_URL}/record/v1/salesOrder/4441804/!transform/invoice
I get the following error:
{
"type": "<https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1>",
"title": "Internal Server Error",
"status": 500,
"o:errorDetails": [
{
"detail": "An unexpected error occurred. Error ID: ktbqk9dc18ntnv8bv5vgx",
"o:errorCode": "UNEXPECTED_ERROR"
}
]
}
I have no issues when I transform the SO into an Item Fulfillment, which makes sense, but I'm still getting the same unexpected error when I try to transform into an invoice.
POST {Rest_Services_URL}/record/v1/salesOrder/4441804/!transform/itemfulfillment
Returns 204 No Content
It looks like this should be supported: https://netsuite.custhelp.com/app/answers/detail/a_id/45156S Feld
09/09/2021, 9:19 PM{"error":"invalid_request"}
any pointers?Aqueel Ahmed
09/14/2021, 8:50 PMfrancis
09/15/2021, 8:25 AMstatic void Main(string[] args)
{
JournalEntry newJournalEntry = new JournalEntry();
RecordRef subsidiaryRef = new RecordRef();
subsidiaryRef.name = "Optiver Holding Group : Optiver Holding BV : APAC : Optiver Asia Trading BV : Optiver Taiwan Futures Co. Limited";
newJournalEntry.subsidiary = subsidiaryRef;
RecordRef currencyRef = new RecordRef();
currencyRef.name = "TWD";
newJournalEntry.currency = currencyRef;
newJournalEntry.tranDate = new DateTime(2021, 7, 06);
newJournalEntry.memo = "FOPA_TaiwanMM_07_2021";
newJournalEntry.lineList = new JournalEntryLineList();
newJournalEntry.lineList.line = new JournalEntryLine[2];
RecordRef debitAccountRef = new RecordRef();
debitAccountRef.externalId = "40134601";
RecordRef creditAccountRef = new RecordRef();
creditAccountRef.externalId = "20614602";
RecordRef costCenterRef = new RecordRef();
costCenterRef.name = "Trading";
RecordRef profitCenterRef = new RecordRef();
profitCenterRef.name = "Option Taiwan";
RecordRef locationRef = new RecordRef();
locationRef.name = "Taiwan";
SelectCustomFieldRef categoryRef = new SelectCustomFieldRef();
categoryRef.scriptId = "cseg_category";
categoryRef.value = new ListOrRecordRef();
categoryRef.value.name = "TWD";
SelectCustomFieldRef taxStatusRef = new SelectCustomFieldRef();
taxStatusRef.scriptId = "cseg_apac_taxstatus";
taxStatusRef.value = new ListOrRecordRef();
taxStatusRef.value.name = "GENERAL";
newJournalEntry.lineList.line[0] = new JournalEntryLine();
newJournalEntry.lineList.line[0].account = debitAccountRef;
newJournalEntry.lineList.line[0].memo = "Memo Test";
newJournalEntry.lineList.line[0].department = costCenterRef;
newJournalEntry.lineList.line[0].location = locationRef;
newJournalEntry.lineList.line[0].@class = profitCenterRef;
newJournalEntry.lineList.line[0].debit = 1000;
newJournalEntry.lineList.line[0].debitSpecified = true;
newJournalEntry.lineList.line[0].customFieldList = new CustomFieldRef[2];
newJournalEntry.lineList.line[0].customFieldList[0] = categoryRef;
newJournalEntry.lineList.line[0].customFieldList[1] = taxStatusRef;
newJournalEntry.lineList.line[1] = new JournalEntryLine();
newJournalEntry.lineList.line[1].account = creditAccountRef;
newJournalEntry.lineList.line[1].memo = "Memo Test";
newJournalEntry.lineList.line[1].department = costCenterRef;
newJournalEntry.lineList.line[1].location = locationRef;
newJournalEntry.lineList.line[1].@class = profitCenterRef;
newJournalEntry.lineList.line[1].credit = 1000;
newJournalEntry.lineList.line[1].creditSpecified = true;
newJournalEntry.lineList.line[1].customFieldList = new CustomFieldRef[2];
newJournalEntry.lineList.line[1].customFieldList[0] = categoryRef;
newJournalEntry.lineList.line[1].customFieldList[1] = taxStatusRef;
TokenPassport passport = new TokenPassport();
passport.account = AccountID;
passport.consumerKey = ConsumerKey;
passport.token = Token;
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] data = new byte[20];
rng.GetBytes(data);
int value = Math.Abs(BitConverter.ToInt32(data, 0));
string nonce = value.ToString();
Console.WriteLine("Nonce is " + nonce);
passport.nonce = nonce;
Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
string timestamp = unixTimestamp.ToString();
Console.WriteLine("Timestamp is " + timestamp);
passport.timestamp = Convert.ToInt64(timestamp);
string baseString = AccountID + "&" + ConsumerKey + "&" + Token + "&" + nonce + "&" + timestamp;
string key = ConsumerSecret + "&" + TokenSecret;
Console.WriteLine("Base String is " + baseString);
Console.WriteLine("Signing Key is " + key);
string signature = "";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] keyByte = encoding.GetBytes(key);
byte[] messageBytes = encoding.GetBytes(baseString);
using (HMACSHA1 myhmacsha1 = new HMACSHA1(keyByte))
{
byte[] hashmessage = myhmacsha1.ComputeHash(messageBytes);
signature = Convert.ToBase64String(hashmessage);
}
Console.WriteLine("Computed Signature is " + signature);
TokenPassportSignature sign = new TokenPassportSignature();
sign.algorithm = "HMAC-SHA256";
sign.Value = signature;
passport.signature = sign;
NetSuitePortTypeClient service = new NetSuitePortTypeClient(NetSuitePortTypeClient.EndpointConfiguration.NetSuitePort, ServiceURL);
WriteResponse response;
service.add(passport, new ApplicationInfo(), new PartnerInfo(), new Preferences(), newJournalEntry, out response);
Console.WriteLine(response.ToString());
Console.WriteLine("Done");
}
Does anyone have any idea on why? do I need to do something else besides providing a token to the service? Edit: This is C#PlanetJupiter
09/16/2021, 9:44 AMHung
09/21/2021, 1:53 AM{
"q": "SELECT * FROM CustomField where fieldtype = 'ENTITY' and scriptid = 'CUSTENTITYKV_CUSTOMER_REGION'"
}
Alex Pilgun
09/23/2021, 1:38 PMREST web services do not support legacy tax features. To work with taxation through REST web services, you must have the SuiteTax feature enabled.And I don't have SuiteTax enabled :( However I just noticed that 2 new fields were recently added to the line items of vendor bill items for example: taxAmount and taxDetailsReference. They weren't there a month ago when I checked last time (unless I miss anything). https://system.netsuite.com/help/helpcenter/en_US/APIs/REST_API_Browser/record/v1/2021.1/index.html#/definitions/vendorBill-itemElement I checked in my instance - those fields are not returned by the GET REST request (while I successfully receive line item tax data in SOAP). So are such fields reserved for lucky folks with SuiteTax enabled? Which means I should say goodbye to a slim hope of using REST for operations involving taxes w/o SuiteTax enabled?
Aqueel Ahmed
09/28/2021, 3:10 AMD17339
09/29/2021, 1:16 PMHung
10/01/2021, 6:45 AMNadav Roth
10/04/2021, 1:35 PMhumzariaz
10/05/2021, 10:58 AMSahar Turgeman
10/05/2021, 12:02 PMAqueel Ahmed
10/07/2021, 2:36 AMAqueel Ahmed
10/07/2021, 3:48 AMAqueel Ahmed
10/07/2021, 3:48 AMtech_ph2019
10/08/2021, 1:58 PMRoy Shalom
10/10/2021, 12:05 PMAndy Beatson
10/11/2021, 8:42 AMSahar Turgeman
10/12/2021, 11:39 AMAqueel Ahmed
10/15/2021, 2:55 AMAqueel Ahmed
10/15/2021, 2:56 AM