Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Ravi_Rajagopal
Contributor III
Contributor III

Question on API Integration

Hi,

I have one endpoints with multiple ObjectTypes to be retrieved from the same. When an activity is initiated in the endpoint a web-hook action is initiated. We take the web-hook action (retrieve from the JSON (REST service) two pieces of data. As there is a lag in time when the webhook initiates the request, we then use 2 key pieces of data from the JSON and login to the source application and then will have to issue a "retrieve" on the SOAP call and retrieve data. The two data that I am using are the objectType and the uniqueKey. The uniqueKey is same for both the calls whereas the objectType differs. I have to make two seperate calls and then retrieve the data and then do a mapping from its result and then do an xml map to the database field. I have been successful in getting till I retrieve the data for the ObjectType #1, I am not sure how to go about doing the ObjectType #2 and beyond. I need help/assistance.

Note: Talend is new and all my team members are at the same level as i am in the form of technical strength on the tool.

Labels (6)
4 Replies
Anonymous
Not applicable

Hi @Ravichandran Rajagopal​ 

I am trying to understand your question and I hope I can provide some help on this.

Can you show me how you retrieve data from ObjectType#1? and show an example of ObjectType#2?

 

Regards

Shong

Ravi_Rajagopal
Contributor III
Contributor III
Author

Shong I am new to this platform of communication. I don't know how to share this with you. However I shall type the question to the best of my ability and you help me with the solution.

 

  1. ObjectType #1 = Event
  2. ObjectType #2 = Invitee

 

The following is the current process to retrieve the data for ObjectType #1

  1. tFixedFlowInput_2 sets columns objectType = 'Event"; id = ((String)globalMap.get("vEventID"))
  2. PayloadXMLmap the objectType and id from 1 is on the lefthandside gets mapped to the respective fields in "payload" on the right hand side. payload is a document and the values in it is "<?xml version="1.0" encoding="UTF-8"?><schema><column comment="" default="" key="false" label="payload" length="-1" nullable="true" originalDbColumnName="payload" originalLength="-1" pattern="" precision="-1" talendType="id_Document" type=""/></schema>"
  3. tMap_1 where we merge contents from an XML header document "<?xml version="1.0" encoding="UTF-8"?><schema><column comment="" default="" key="false" label="header" length="-1" nullable="true" originalDbColumnName="header" originalLength="-1" pattern="" precision="-1" talendType="id_Document" type=""/></schema>"
  4. The output from tMap_1 is going to tESBConsumer_1 where a SOAP call is made to retrieve request from the endpoint defined in the source application.
  5. receives the output from the previous step and invokes tXMLMap_11 where I do mapping of all the retrieved XML data from that with mapping in the database fields

 

I hope I have answered to the best of my ability. Now I have to repeat the steps 1-4 for the next Objecttye. I was planning to move steps 2-4 into a joblet. so that I use step #1 from above where I change objecttype to "Invitee" and then the new-joblet and then in tXMLMap_11 have result set from both the SOAP calls on my left hand side and on the right hand side write the details to a table in the database.

 

Please help me how to proceed forward.

Thanks and regards

Ravi Rajagopal

Anonymous
Not applicable

I'm not sure at this stage of your Talend journey that using a Joblet for this is the best way forward. First you need to get this working in the simplest possible way. It sounds like that way is to fully carry out all of the steps for ObjectType #1 and ObjectType #2 one after the other.

 

It sounds like you have the process for ObjectType #1 sorted out. Have you tested this? If so, could you post a screenshot of this so that we can see what you have done? Now how does ObjectType #1 need to interact with ObjectType #2? Does the data from type 1 have to be passed to service that returns the type 2 data? Does this data need to be combined to before it is sent to the database?

 

Anonymous
Not applicable

If you just need to iterate different value for ObjectType column, use tForEach instead of tFixedFlowInput.