Our consultants are reguarly on the front line collecting up-to-date customer requirements and wish-lists. We actively encourage them to share this knowledge and find time to articulate this into a regular blog. Please feel free to comment or ask relevant questions or open a debate with us.

Wednesday, February 08, 2017

Workflow - SMP - Dell Warranty

In this Article I'm going to explain how to use the new DELL API to get Warranty information and add it to your Assets in the SMP.

Dell (S).png

First you will need to sign up to get access to the DELL API


There’s a powerpoint in the 'get started' section with an excel sheet embedded, that you will need to fill out to request API access.

Complete that, send it off then wait to hear back with your API Key.

Once you have that check out the DELL API page:

Now for the config.

Create a new Data Classes.png Data Class in the smp.png SMP to store the information retrieved from the API.

Reports Folder.png Settings | Folder.png Notification Server | Folder.png Resource and Data Class Settings | Folder.png Data Classes | Folder.png _Protirus | 

Data Classes.png Simple Warranty

Simple WarrantyStringText to describe how this detail was achieved. e.g. Dell Warranty Import Workflow
Warranty UntilDate 

Then you need to link it to a Computer/Asset Resource via settings.

Reports Folder.png Settings | Folder.png Notification Server | Folder.png Resource and Data Class Settings | Folder.png Resource Types | Folder.png Asset Types | Folder.png Generic Asset Types 

Resource.png Asset

Scroll down to Data Classes, click "Add data classes" and search for the new one.

Asset Resource.png

You might only want to store this information on a particular type of Resource so this can be modified, if necessary.

Workflow.png Workflow

You'll need 7.6+ as we are going to be using the REST Generator.

See my other Articles for more information.

The great thing about the REST Generator is it will create the DataTypes we need for the Warranty info, we only need a couple of fields but they are all there for future requirements.

We are going to be using the AssetEntitlementData in combination with ServiceLevelDescription.

There are some requirements when using the API including how often you can query the dataset and how many machines you can ask for.

5.3 API Access Criteria

5.3.1 Scheduled or Automated Retrieval of Warranty Information

To avoid undue load on the Warranty Status API server, the following algorithm should be followed for scheduling or automating warranty retrievals:

  • Query warranty API once for all new devices. 
  • Query warranty API every 60-days for devices that have warranties expiring outside 1 year window. 
  • Query warranty API every 30-days for devices that have warranties expiring inside a +/- 1 year window. 
  • Query API every 15-days for warranties expiring between 45 to 90 days. 
  • Query API weekly for warranties expiring between 30 to 45 days. 
  • Query API daily for warranties expiring between -10 to 30 days. 
  • Query API every 30 days for warranties expiring between -10 to -60 days. 
  • Do not query for warranties for devices that have warranty expired more than 60 days. 
  • Code Mapper Service need to be looked up only for new countries.


You are also required to perform some tests and supply a list of results to confirm you have understood how to use the API and that you are using it correctly. We created a Web Forms Project to test and provide this data.

The first step when creating the main WFs is to get a list of Assets with their ServiceTags.

You could build a View for this, amend to suit your needs,

	a.Guid AS AssetGuid
	,a.NAME AS AssetName
	,rt.Guid AS ResourceTypeGuid
	,rt.NAME AS ResourceTypeName
	,COALESCE(hwcs.[Identifying Number], whc.[Serial Number]) AS [Identifying Number]
	,sw.[Warranty Until]
	,DATEDIFF(DAY, GETDATE(), sw.[Warranty Until]) AS NumOfDays
	,DATEDIFF(DAY, GETDATE(), sw.LastCheckedDate) AS LastCheckedDiff
	vRM_Asset_Item AS a
	INNER JOIN ResourceType AS rt ON rt.Guid = a.ResourceTypeGuid
	--INNER JOIN Inv_Manufacturer m ON m._ResourceGuid = a.Guid
	LEFT OUTER JOIN Inv_HW_Computer_System AS hwcs ON hwcs._ResourceGuid = a.Guid
	LEFT OUTER JOIN Inv_HW_Chassis AS whc ON whc._ResourceGuid = a.Guid
	LEFT OUTER JOIN Inv_Simple_Warranty AS sw ON sw._ResourceGuid = a.Guid
	LEFT OUTER JOIN Inv_HW_Logical_Device AS hwld ON hwld._ResourceGuid = a.Guid
	--m.Manufacturer LIKE '%Dell%' OR
	hwld.[Description] LIKE '%Dell%'

Now that we have a list we want to filter it on the requirements above. We can use a Configurable Collection Filter for this.

Next group them by sets of 50 and join the serial numbers together with Build Text From Elements.

Call the API and use the dataset returned.

We can now map the data to the SMP Resource and save.


This we created using a Monitoring.png Monitoring Project so we could set it on a schedule and leave it to run in a given interval.

If you'd like a copy of this do get in touch info@protirus.com

  • Web Form.png DELL_API_TestCertification_Form
  • Int.png DELL_INT


Previous Downloads


The captcha on the website can cause issues.


Symantec Connect Article

Alex Hedley

Login or Register an account to leave a comment

No comments to display

Protirus © 2018
Registered in England and Wales: 6772473 | VAT Registration: 6772473 | Terms of Use | Data & Privacy Policy