How to obtain external task instance id in worker

hi everyone
I have written a simple external worker in a spring boot project and using external worker starter. when ever i poll a request there is ExternalTask object that contains information about polled task. so i tried to receive the task id in order to get history later as below:

final String id = externalTask.getId();

then i used this id in the history api of external worker

history/external-task-log/{id} 

but it tells there is no external task with specified id. so i dug a little deeper and found out that engine is querying ACT_HI_EXT_TASK_LOG table and what i have in external worker as id is actually the EXT_TASK_ID column but this rest api query table based ID column so the answer is always not found with this id. how can i get the main id of external task in external worker?

another question is when i investigated this table noticed that when ever a business exception(BpmnError) happen exception message doesn’t persist in ERROR_MSG_ column. but in technical exceptions this column is filled with exception message. what is the reason of this behavior?