Halo provides a series of example import sheets that can be used to import your data from a spreadsheet. However, you may find the need to import/bulk update extra fields that are not included in the example spreadhseets.
If this is the case, you will first want to find the name of relevant fields in our API.
Finding API Field Names
There are several ways you can go about obtaining the field names for API resources. If you head to Configuration>Integrations>Halo API>API Documentation, you will find a list of resources with respective field names. Make sure to look at the Example Response for single objects, as these return a more complete set of fields:
Field names are not always immediately obvious as to what they are referring to, so you may want to use Swagger to look at the data in your instance, as opposed to example responses.
Authorizing Swagger will require you to provide an access token:
I'll cover one such means of obtaining an access token in this article, but feel free to use whichever method you prefer (Postman, PowerShell etc..).
When in Halo, open your browsers developer tools (f12 in Chrome, for example). Head to the Network tab & clear your Network Activity:
Then refresh the page. You should find when expanding the first record in your network activity you see something similar to:
Scroll down to the 'Request Headers' section. You'll see part of the text in here gives you the Access Token:
Copy the value ('CfDJ8...' in the above screenshot) and paste this into Swagger. Upon clicking 'Authorize' you should see that you are Authorized:
Now you should be able to query your desired resource - again, ensure you query a single entity instead of the whole list:
The ID of the entity you are querying will be returned in the URL in Halo:
This way, you can manipulate the details of your desired resource to see what fields change in the API & what they change from/to.
NB: Several fields in Halo's API resources provide an 'ID' field and a corresponding 'Name' field (Notice both the AssetGroup_ID & AssetGroup_name fields in the above screenshot). As a general rule, you should always use the ID field (if the field is not already included in the example spreadsheets).
Obtaining the ID for your field can be achieved via heading to the respective entity in Halo & reading the ID in the URL:
Worked Example - Including the Reference in Client Imports
Let's say I'm importing my client list into Halo and would like to populate the 'Reference' field when performing this import. I have obtained my access code & plugged this into Swagger (as per the above) & now I will look at the 'Area' resource.
I have added some example text into my 'Reference' field in Halo to allow me to easily find this in Swagger:
So from this, I know that I need to add a column to my Clients & Sites import sheet with column header "Ref".