I'm currently building an internal tool which requires footprints, however, I don't know where to find the itemDefinitionId or contactDefintionId, how can I find these?
All code below will be in C# .NET 6.0 refer to this article here if you're having issues with your C# Footprints project
To find the ItemDefinitionID or ContactDefintionID for your request you have to first send a listContainerDefintions request to Footprints.
ListContainerDefinitionsRequest listContainerDefinitions = new();
listContainerDefinitionsResponse1 response = await serviceClient.listContainerDefinitionsAsync(listContainerDefinitions);
foreach (var defResponse in response.@return)
Console.WriteLine($"{defResponse._definitionName} + {defResponse._definitionId}");
This will return the following (as of November 29, 2022)
Support Portal + 645
Salesforce + 43923
Sales + 37893
Ontask + 41401
Edocr + 21445
Infor CRM + 1435
Accusoft Support Service Portfolio + 4333
Accusoft Knowledge Base + 1645
These ContainerDefinitionIDs hold the ItemDefinitionIDs for whatever you're trying to work with. So let's say you want, in the end, you want to use the getContactedAssoicatedTickets request, which requires a _contactDefinitionID
You'll pass in the ContainerDefinitionID for Salesforce to the listItemDefinitions request like so and that will return the following:
ListItemDefinitionsRequest definitionsRequest = new()
{
_containerDefinitionId = 43923
};
listItemDefinitionsResponse1 response = await serviceClient.listItemDefinitionsAsync(definitionsRequest);
foreach (var defResponse in response.@return)
Console.WriteLine($"{defResponse._definitionName} + {defResponse._definitionId}");
Contact + 43924
Now that we have the _contactDefinitionID (43924) we can pass this into the getContactAssociatedTickets request
getContactAssociatedTicketsResponse1 ticketsResponse1;
GetContactAssociatedTicketsRequest ticketsRequest = new()
{
_contactDefinitionId = 43924,
_primaryKeyValue = "customer@email.com"
};
ticketsResponse1 = await serviceClient.getContactAssociatedTicketsAsync(ticketsRequest);
tickets = ticketsResponse1.@return;
foreach (var ticket in tickets)
Console.WriteLine(ticket._itemId);
Which will return the internal number for the associated tickets with that contact
You can find a runnable project here
A message from FlyCast support:
Bradley,
Thanks for your time today. We were able to run the listContainerDefinitions command to get the Salesforce address book container ID. When then used listItemDefinitions, using the returned value from listContainerDefinitions. We then used the Item definition for the Contact item in your code and was able to get the list of associated tickets for the email address value (primary key) that was specified in the code.
Thanks,
Kyle Harrison
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article