Supported Records and Operations
The following records are supported in this release of Web Services:
- Phone Call
- Project Task
- Accounting Periods
- Currency Exchange Rates
- Item Revision
- Payroll Item
- Revenue Recognition Schedule
- Revenue Recognition Template
- Units of Measure
- Bin Putaway Worksheet
- Bin Transfer
- Build/Unbuild Assembly
- Cash Refund
- Cash Sale
- Credit Memo
- Customer Deposit
- Customer Deposit Application
- Customer Payment
- Customer Refund
- Intercompany Journal Entry
- Inventory Adjustment
- Item Demand Plan
- Item Fulfillment
- Item Supply Plan
- Journal Entry
- Paycheck Journal
- Purchase Order
- Purchase Order Receipt
- Return Authorization
- Sales Order
- Transfer Order
- Vendor Bill
- Vendor Credits
- Vendor Payment
- Vendor Returns
- Work Order
- Assembly/BOM Item, including serial and lot numbered
- Gift Certificate Item
- Inventory Item, including serial and lot numbered
- Inventory Number
- Item Group
- Kit/Package Item
- Non-Inventory Item for Purchase/Sale/Re-sale
- Other Charge for Purchase/Sale/Re-sale
- Service for Purchase/Sale/Resale
- Expense Report
- Time Tracking
- Other Lists
- Sales Tax Item
- Tax Groups
- Tax Type
- Custom Fields for Entity, Item, CRM, Transaction Body, Transaction Column, Item Options, and Other
- Custom Lists
- Custom Record Type
- Custom Record
- Campaign Response
- Promotion Code
- Single Coupon Code
With a few exceptions, access is provided to all the fields available in the NetSuite user interface, including custom fields, for every record type and transaction made available through Web Services.
Web Services provides the ability to perform integration in a similar fashion to how you would use the product on a day-to-day basis in the UI. The following user actions or operations are supported:
- login: Used to login into NetSuite. This operation is similar to the NetSuite UI and requires you to provide a valid username, password, role, and an account number. All other Web Services operations require a successful login. Once successfully completed, a login creates a session that allows subsequent operations to be performed without having to login again until the session expires or the logout operation is invoked.
- logout: Used to logout from the system. It invalidates the current session.
- add / addList: Used to add one or more records into the system. The system will return a NetSuite assigned unique identifier for the record created.
- update / updateList: Used to update one or more existing records in the system by providing new values for the fields to be updated for each record. The records to be updated are identified through the provided unique identifiers.
- delete / deleteList: Used to delete one or more records in the system. The records to be deleted are identified through the provided unique identifiers.
- get / getList: Used to query the system for one or more records by providing the unique identifiers for these records.
- getAll: Used to return the values of user defined lists in the system that are categorized as Other Lists.
- search / searchNext / searchMore: Used to search for a set of records based on specific search criteria. This operation has most of the features of the Advanced Search feature within the NetSuite UI. It also supports pagination, so that large result sets can be retrieved in smaller sets.
- mapSso: Streamlines the provisioning of Single Signon User Accounts by providing the ability to correlate a partner/customer specified ID with a NetSuite credential.
- getSelectValue: Retrieve valid values for a given recordRef field. This is useful where the referenced record type is not yet exposed in the Web services API or when the logged in role does not have permission to the instances of the referenced record type.
- ChangePasswordOrEmailCredentials: Change a user's email address and password through a Web Services call. This enables changes to login credentials, without being required to directly update the customer or employee record.
- getCustomizationId: Used to dynamically retrieve name, internalId, externalId, and scriptId of customization objects. A subsequent get or getList call is used to retrieve complete metadata for objects of interest.
- getItemAvailability: : Facilitates a fast inventory look up for a list of items at all locations, using a "last quantity available changed" date filter.
- attach/detach: Use to define or remove a relationship between two records. For example, a contact record can be associated to a customer record or a file can be attached to a transaction.
- getDeleted: Used to retrieve a list of deleted records of a given type during a specified period.
- initialize/initializeList: Used to emulate the UI workflow by pre-populating fields on transaction line items with values from a related record.
- ssoLogin: Provides a mechanism for a partner application to login on behalf of a user into NetSuite, without the user's credentials.
- getConsolidatedExchangeRate: Used to retrieve exchange rates between parent and child subsidiaries. You can use this operation in conjunction with getPostingTransactionSummary to apply the correct rate when creating a financial report for a particular subsidiary view. (new in 2009.1)
- getBudgetExchangeRate: Used to retrieve exchange rates between parent and child subsidiaries when accessing budget record data. (new in 2009.1)
- getPostingTransactionSummary: Used to retrieve a summary of the actual data posted to the general ledger account. You can use available filters and fields to generate financial reports such as a Trial Balance, Balance Sheet, or an Income Statement. (new in 2009.1)
- getServerTime: Use the dateTime value returned with this call, along with getDeleted, or search by lastModifiedDate, to retrieve changes since your last synchronization.
- upsert / upsertList: Used to add or update a record in NetSuite with the record external ID.
- getCurrencyRate: Use to look up exchange rates as of an effective date.
The SuiteFlex platform supports an asynchronous Web Services model as well as synchronous. In the asynchronous model the client application sends a request that is placed in a queue. A job ID is returned in the response. The client application can then check the job status using the checkAsyncStatus operation. When the job is completed the results can be retrieved via the getAsyncResult operation. The following asynchronous operations are supported:
The addList, asyncAddList, updateList, asyncUpdateList, deleteList, asyncDeleteList, getList, and asyncGetList operations allow you to work with multiple record types. For example, you can add 100 customers and 25 contacts using the addList operation.