Mapping information from SOAP API to REST API and not losing anything in the process...

I have been moving us from the TeamDynamix SOAP API to the REST API. I looked at the different ticket structures and tried to map 1-1 the fields we set to create a ticket using the SOAP API with the fields we set to create a ticket using the REST API. Our usage of the TD api is pretty basic. However, there doesn't seem to be a direct, 1-1 mapping of information in a few cases, and the behavior is slightly different. For example, on creating a ticket, we used to set ContactName, ContactEmail, and ContactPhone. I now set RequestorName, RequestorEmail, and RequestorPhone instead. However, when the ticket is displayed in TD, it looks slightly different. When I click on the ticket in the TD interface I see slightly different information about the requester depending on whether the ticket was created using SOAP or REST. (see below for an example). 

How do I make this the same? I don't want to change what is normally displayed, and I don't want to lose information in this transition. I wanted pretty much an unnoticeable transition, but this seems like it is not going to happen.

Additionally, there is a field: decodeTicketDescription in SOAP but not in REST. What is this?

Thanks for any help you can give me.

==============SAMPLE OUTPUT============

===>With the ticket created using the SOAP API, when I click on the ticket in TD the Incident Detail window pops up, andunder 'Requestor I see: Requestor Suzanne Vogt ( Suzanne.Vogt@unh.edu )
555-555-5555
Find Referenced 

===> With the ticket created using the REST API, I see: Requestor Suzanne Vogt 


===> With the SOAP ticket, if I click on 'Print View' I get: Requestor Name Suzanne Vogt Time Zone Company Title Primary Email Suzanne.Vogt@unh.edu Alternate Email Work Phone 555-555-5555 Mobile Phone Work Address 

===> With the REST ticket I get: Requestor Name Suzanne Vogt Time Zone Company Title Primary Email Alternate Email Work Phone Mobile Phone Work Address

Asked by Suzanne Vogt on Wed 4/15/15 8:43 AM
Sign In to leave feedback or contribute an answer

Answer (1)

Matt Sayers Thu 4/16/15 8:55 AM

Hi Suzanne,

When you create a ticket through the Web API, you need to specify the actual requestor UID field. The Web API does not auto-map the requestor name/email fields to actual person records in the database, while the SOAP services do. We actually changed this in version 9 for what that is worth.

However, in version 8.6.1 you need to look up the UID of the request using the People methods of the Web API. You can perform a search to find the requestor. If you find one, you can take the UID of the result and post that as the requestor UID on the ticket and it will properly link up to the correct requestor when the ticket is created.

Let me know if this helps.

No feedback