Overview
As there are many apis inside both business api and user api, this document describes how to use these api to:
• Get the access token
• Get new vid
• Create account
• Mint new NFT with vid to new user
• Transfer NFT to new user
• Approve 3-rd party to transfer the NFT
• 3-rd party transfer from the NFT which is approved to another user
• Approve 3-rd party to transfer all the NFT
• Apply for NFT transfer
Java ToolChainClient
If client uses Java, VeChain provides the ToolChainClient to help client develop server side application much more easier. Here please click here to find the toolchainclient.
<!-- https://mvnrepository.com/artifact/com.vechain/toolchainclient -->
<dependency>
<groupId>com.vechain</groupId> <artifactId>toolchainclient</artifactId> <version>0.1.1</version>
</dependency>
The examples inside the example code are for reference, the client needs to use their own vids, uids, owner UID,etc.
Access credential
Before start, developer needs to login toolchain.
- Find the appid and appkey from the below part. In document center, you will find appid(Developer ID) and appkey(Developer Key).
- Find the owner UID, which will be used to:
- Mint NFT
- Set NFT name
- Set NFT symbol
- Set NFT baseURL
- Toggle mintable status for smart contract
Execution sequence
Sequence is to describe how to use the NFT and gives the example code of ToolChainClient. Client can follow this sequence process and use the token successfully.
Get access token
Access token is for the toolchain backend server to authenticate the client. So before call toolchain api, the client must call “Get token” api to get the access token. When use ToolChainClient, you can create new toolchainclient with the appid and appkey, here “aa” is the example of source, which define the client identity. For each client application, toolchain suggest using different source, which will be easier for access token management.
Example:
ToolChainClient toolChainClient = new ToolChainClient(appid,appkey,"aa");
Set/Get NFT name
It is the name of the NFT, like “VeChain Token”. Client can use owner UID to set this name.
Set name
Example:
SetVIP181NameRequest setVIP181NameRequest = new SetVIP181NameRequest();
setVIP181NameRequest.setName("VeChain");
setVIP181NameRequest.setOwnerUID("0x123456....789a");
//from developer’s owern UID
SetVIP181NameResponse setNameResponse = (SetVIP181NameResponse)toolChainClient.exec ute(setVIP181NameRequest);
while (true) {
if(setNameResponse.getData() != null ){
if(setNameResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCES S.getStatus())){
logger.debug("set name success");
break;
} else if(setNameResponse.getData().getOrderStatus().equals(OrderStatusEnum. FAIL.getStatus())) {
logger.debug("set name fail");
break;
}
}
Thread.sleep(10000);
setNameResponse = (SetVIP181NameResponse)toolChainClient.execute(setVIP181NameR equest);
}
logger.debug("{}",setNameResponse);
Get name
Example:
GetVIP181NameRequest getVIP181NameRequest = new GetVIP181NameRequest();
GetVIP181NameResponse getVIP181NameResponse = (GetVIP181NameResponse)toolChainClien t.execute(getVIP181NameRequest);
logger.debug("{}",getVIP181NameResponse.getData().getName());
Set/Get NFT symbol
It is the symbol of the NFT, like “VET”, which can be displayed in wallet. Client can use owner UID to set this symbol.
Set symbol
Example:
SetVIP181SymbolRequest setVIP181SymbolRequest = new SetVIP181SymbolRequest();
setVIP181SymbolRequest.setSymbol("GU");
setVIP181SymbolRequest.setOwnerUID("0x2c8ab1d8c61c44eacc69741936316675ec46a141798d2 d367c508219870e5134");
SetVIP181SymbolResponse setVIP181SymbolResponse = (SetVIP181SymbolResponse)toolChai nClient.execute(setVIP181SymbolRequest);
while (true) {
if(setVIP181SymbolResponse.getData() != null ){
if(setVIP181SymbolResponse.getData().getOrderStatus().equals(OrderStatusEnu m.SUCCESS.getStatus())){
logger.debug("set symbol success");
break;
} else if(setVIP181SymbolResponse.getData().getOrderStatus().equals(OrderSta tusEnum.FAIL.getStatus())) {
logger.debug("set symbol fail");
break;
}
}
Thread.sleep(10000);
setVIP181SymbolResponse = (SetVIP181SymbolResponse)toolChainClient.execute(setV IP181SymbolRequest);
}
logger.debug("{}",setVIP181SymbolResponse);
Get symbol
Example:
GetVIP181SymbolRequest getVIP181SymbolRequest = new GetVIP181SymbolRequest();
GetVIP181SymbolResponse getVIP181SymbolResponse = (GetVIP181SymbolResponse)toolChai nClient.execute(getVIP181SymbolRequest);
logger.debug("{}",getVIP181SymbolResponse.getData().getSymbol());
Set/Get mintable status for smart contract
The mintable status is the gate of whether this NFT smart contract can be minted. Client can use owner UID to toggle mintable status.
Set mintable status
Example:
SetVIP181MintableRequest setVIP181MintableRequest = new SetVIP181MintableRequest();
setVIP181MintableRequest.setMintable(true);
setVIP181MintableRequest.setOwnerUID("0x2c8ab1d8c61c44eacc69741936316675ec46a141798 d2d367c508219870e5134");
SetVIP181MintableResponse setVIP181MintableResponse = (SetVIP181MintableResponse)to olChainClient.execute(setVIP181MintableRequest);
while (true) {
if(setVIP181MintableResponse.getData() != null ){
if(setVIP181MintableResponse.getData().getOrderStatus().equals(OrderStatusE num.SUCCESS.getStatus())){
logger.debug("set mintable success");
break;
} else if(setVIP181MintableResponse.getData().getOrderStatus().equals(OrderS tatusEnum.FAIL.getStatus())) {
logger.debug("set mintable fail");
break;
}
}
Thread.sleep(10000);
setVIP181MintableResponse = (SetVIP181MintableResponse)toolChainClient.execute( setVIP181MintableRequest);
}
logger.debug("{}",setVIP181MintableResponse);
Get mintable status
Example:
GetVIP181MintableRequest getVIP181MintableRequest = new GetVIP181MintableRequest();
GetVIP181MintableResponse getVIP181MintableResponse = (GetVIP181MintableResponse)to olChainClient.execute(getVIP181MintableRequest);
logger.debug("{}", getVIP181MintableResponse.getData().isMintable());
Set/Get NFT base url
The base url is the link where dapp can get and redirect to, where landing page of the NFT will be displayed. Client can use owner UID to set this base url. eg: http://vechain.com/0x2c8ab1d8c61c44eacc69741936316675ec46a141798d2d367c508219870e5134, http://vechain.com is the base url. 0x2c8ab1d8c61c44eacc69741936316675ec46a141798d2d367c508219870e5134 is vid, which is also the NFT vid.
Set base url
Example:
SetVIP181BaseURLRequest setVIP181BaseURLRequest = new SetVIP181BaseURLRequest();
setVIP181BaseURLRequest.setBaseURI("http://gu.vechain.com");
setVIP181BaseURLRequest.setOwnerUID("0x2c8ab1d8c61c44eacc69741936316675ec46a141798d 2d367c508219870e5134");
SetVIP181BaseURLResponse setVIP181BaseURLResponse = (SetVIP181BaseURLResponse)toolC hainClient.execute(setVIP181BaseURLRequest);
while (true) {
if (setVIP181BaseURLResponse.getData() != null) {
if (setVIP181BaseURLResponse.getData().getOrderStatus().equals(OrderStatusE num.SUCCESS.getStatus())) {
logger.debug("set base url success");
break;
} else if (setVIP181BaseURLResponse.getData().getOrderStatus().equals(Order StatusEnum.FAIL.getStatus())) {
logger.debug("set base url fail");
break;
}
}
Thread.sleep(10000);
setVIP181BaseURLResponse = (SetVIP181BaseURLResponse) toolChainClient.execute(s etVIP181BaseURLRequest);
}
logger.debug("{}", setVIP181BaseURLResponse);
Get base url
Example:
GetVIP181BaseURLRequest getVIP181BaseURLRequest = new GetVIP181BaseURLRequest();
GetVIP181BaseURLResponse getVIP181BaseURLResponse = (GetVIP181BaseURLResponse)toolC hainClient.execute(getVIP181BaseURLRequest);
logger.debug("{}",getVIP181BaseURLResponse.getData().getMetadataBaseURI());
Get NFT uri
Get NFT uri is to get the url of NFT, which can be used to direct to the landing page of this NFT.
Example:
GetVIP181TokenURLRequest getVIP181TokenURLRequest = new GetVIP181TokenURLRequest();
getVIP181TokenURLRequest.setVid("0XBB7D85AA4E53FF18907854BCE3E20FB47F049058AEE0604F EB683F1C6EC18DA0");
GetVIP181TokenURLResponse getVIP181TokenURLResponse = (GetVIP181TokenURLResponse)to olChainClient.execute(getVIP181TokenURLRequest);
logger.debug("{}", getVIP181TokenURLResponse.getData().getUri());
Get new vid
Before minting the NFT, client needs a vid. The vid can be gotten from api and also client can use their existing vids. If using the existing vid, then please skip this part.
Example:
ApplyForVidRequest applyForVidRequest = new ApplyForVidRequest();
applyForVidRequest.setQuantity(2);
ApplyForVidResponse applyForVidResponse = (ApplyForVidResponse)toolChainClient.exec ute(applyForVidRequest);
while (true) {
Thread.sleep(10000);
if(applyForVidResponse.getData() != null ){
if(applyForVidResponse.getData().getStatus().equals(TxStatusEnum.SUCCESS.ge tStatus())){
break;
}
}
applyForVidResponse = (ApplyForVidResponse)toolChainClient.execute(applyForVidR equest);
}
logger.debug("{}",applyForVidResponse);
Create account
Client can call “create account” to create a user and its address, then toolchain will return the uid and address.
Example:
CreateUserRequest createUserRequest = new CreateUserRequest();
CreateUserResponse createUserResponse = (CreateUserResponse)toolChainClient.execute (createUserRequest);
while (true) {
Thread.sleep(10000);
if(createUserResponse.getData() != null ){
if(createUserResponse.getData().getOrderStatus().equals(StatusEnum.SUCCESS. getStatus())){
break;
}
}
createUserResponse = (CreateUserResponse)toolChainClient.execute(createUserRequest);
}
logger.debug("{}", createUserResponse);
Mint NFT to user
There are two apis for mint token: mint NFT to a uid and mint NFT to an address.
In both mint request, we support batch mint, which means in one request, client can put multiple vid&owner. This will increase the efficiency to mint.
Mint NFT to uid
Example:
List<String> vids = new ArrayList<String>();
vids.add("0X0F46D8D26497DE5E24CA2E20C056769573170B5CF84F7170A87F0982BA6D4C9D");
vids.add("0X6E0052F95820132D28415325D720C87D8331B20216E0A6D67D7ACFA6E37D91FF");
vids.add("0XFCCBDAEECFD06A330638B056B46E89E46B08CB37D658FDB5E3F60D9E31D00F35");
List<String> uids = new ArrayList<String>();
List<String> addresses = new ArrayList<String>();
uids.add("0x883affe30a72d4d525c0b4c8ffcbe0adb8eabb5d8b000d85fb460011a6644e08");
uids.add("0x4f42ddc2da081a9e6bad9588200e316f8341c2f09caf953872326923aaa5d4cd");
addresses.add("0x928d9e453296d9e449e359b182338448fa0718ea");
addresses.add("0x5ade8414f2a8835794bed572834185096dbfdb1f");
addresses.add("0x5fc828f2a29d75a30d8c97602381302689049811");
MintVIP181TokenToUIDRequest mintVIP181TokenToUIDRequest = new MintVIP181TokenToUIDR
equest();
mintVIP181TokenToUIDRequest.setOwnerUID("0x2c8ab1d8c61c44eacc69741936316675ec46a141798d2d367c508219870e5134");
mintVIP181TokenToUIDRequest.addToken(vids.get(0),uids.get(0));
mintVIP181TokenToUIDRequest.addToken(vids.get(1),uids.get(0));
mintVIP181TokenToUIDRequest.addToken(vids.get(2),uids.get(0));
MintVIP181TokenToUIDResponse mintVIP181TokenToUIDResponse = (MintVIP181TokenToUIDRe sponse)toolChainClient.execute(mintVIP181TokenToUIDRequest);
while (true) {
if(mintVIP181TokenToUIDResponse.getData() != null ){
if(mintVIP181TokenToUIDResponse.getData().getOrderStatus().equals(OrderStat usEnum.SUCCESS.getStatus())){
logger.debug("issue 1 token success");
break;
} else if(mintVIP181TokenToUIDResponse.getData().getOrderStatus().equals(Ord erStatusEnum.FAIL.getStatus())) {
logger.debug("issue 1 token fail");
break;
}
}
Thread.sleep(20000);
mintVIP181TokenToUIDResponse = (MintVIP181TokenToUIDResponse)toolChainClient.ex ecute(mintVIP181TokenToUIDRequest);
}
logger.debug("{}", mintVIP181TokenToUIDResponse);
Mint NFT to address
Example:
List<String> vids = new ArrayList<String>();
vids.add("0X0F46D8D26497DE5E24CA2E20C056769573170B5CF84F7170A87F0982BA6D4C9D");
vids.add("0X6E0052F95820132D28415325D720C87D8331B20216E0A6D67D7ACFA6E37D91FF");
vids.add("0XFCCBDAEECFD06A330638B056B46E89E46B08CB37D658FDB5E3F60D9E31D00F35");
List<String> uids = new ArrayList<String>();
List<String> addresses = new ArrayList<String>();
uids.add("0x883affe30a72d4d525c0b4c8ffcbe0adb8eabb5d8b000d85fb460011a6644e08");
uids.add("0x4f42ddc2da081a9e6bad9588200e316f8341c2f09caf953872326923aaa5d4cd");
addresses.add("0x928d9e453296d9e449e359b182338448fa0718ea");
addresses.add("0x5ade8414f2a8835794bed572834185096dbfdb1f");
addresses.add("0x5fc828f2a29d75a30d8c97602381302689049811");
MintVIP181TokenToAddressRequest mintVIP181TokenToAddressRequest = new MintVIP181Tok
enToAddressRequest();
mintVIP181TokenToAddressRequest.setOwnerUID("0x2c8ab1d8c61c44eacc69741936316675ec46 a141798d2d367c508219870e5134");
mintVIP181TokenToAddressRequest.addToken(vids.get(0),addresses.get(1));
mintVIP181TokenToAddressRequest.addToken(vids.get(1),addresses.get(1));
mintVIP181TokenToAddressRequest.addToken(vids.get(2),addresses.get(1));
MintVIP181TokenToAddressResponse mintVIP181TokenToAddressResponse = (MintVIP181Toke nToAddressResponse)toolChainClient.execute(mintVIP181TokenToAddressRequest);
while (true) {
if(mintVIP181TokenToAddressResponse.getData() != null ){
if(mintVIP181TokenToAddressResponse.getData().getOrderStatus().equals(Order StatusEnum.SUCCESS.getStatus())){
logger.debug("issue 1 token success");
break;
} else if(mintVIP181TokenToAddressResponse.getData().getOrderStatus().equals (OrderStatusEnum.FAIL.getStatus())) {
logger.debug("issue 1 token fail");
break;
}
}
Thread.sleep(20000);
mintVIP181TokenToAddressResponse = (MintVIP181TokenToAddressResponse)toolChainC lient.execute(mintVIP181TokenToAddressRequest);
}
logger.debug("{}", mintVIP181TokenToAddressResponse);
Transfer NFT to user
There are two apis for transfer NFT:
- transfer NFT to a uid.
- transfer NFT to an address.
transfer NFT to uid
Example:
List<String> vids = new ArrayList<String>();
vids.add("0X0F46D8D26497DE5E24CA2E20C056769573170B5CF84F7170A87F0982BA6D4C9D");
vids.add("0X6E0052F95820132D28415325D720C87D8331B20216E0A6D67D7ACFA6E37D91FF");
vids.add("0XFCCBDAEECFD06A330638B056B46E89E46B08CB37D658FDB5E3F60D9E31D00F35");
List<String> uids = new ArrayList<String>();
List<String> addresses = new ArrayList<String>();
uids.add("0x883affe30a72d4d525c0b4c8ffcbe0adb8eabb5d8b000d85fb460011a6644e08");
uids.add("0x4f42ddc2da081a9e6bad9588200e316f8341c2f09caf953872326923aaa5d4cd");
addresses.add("0x928d9e453296d9e449e359b182338448fa0718ea");
addresses.add("0x5ade8414f2a8835794bed572834185096dbfdb1f");
addresses.add("0x5fc828f2a29d75a30d8c97602381302689049811");
TransferToUIDRequest transferToUIDRequest = new TransferToUIDRequest();
transferToUIDRequest.setCurrentOwnerUID(uids.get(0));
transferToUIDRequest.addTransfer(vids.get(0), uids.get(1));
TransferResponse transferResponse = (TransferResponse)toolChainClient.execute(trans ferToUIDRequest);
while (true) {
if(transferResponse.getData() != null ){
if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCE SS.getStatus())){
logger.debug("transfer to uid token success");
break;
} else if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum .FAIL.getStatus())) {
logger.debug("transfer to uid token fail");
break;
}
}
Thread.sleep(20000);
transferResponse = (TransferResponse)toolChainClient.execute(transferToUIDReque
st);
}
transfer NFT to address
Example:
List<String> vids = new ArrayList<String>();
vids.add("0X0F46D8D26497DE5E24CA2E20C056769573170B5CF84F7170A87F0982BA6D4C9D");
vids.add("0X6E0052F95820132D28415325D720C87D8331B20216E0A6D67D7ACFA6E37D91FF");
vids.add("0XFCCBDAEECFD06A330638B056B46E89E46B08CB37D658FDB5E3F60D9E31D00F35");
List<String> uids = new ArrayList<String>();
List<String> addresses = new ArrayList<String>();
uids.add("0x883affe30a72d4d525c0b4c8ffcbe0adb8eabb5d8b000d85fb460011a6644e08");
uids.add("0x4f42ddc2da081a9e6bad9588200e316f8341c2f09caf953872326923aaa5d4cd");
addresses.add("0x928d9e453296d9e449e359b182338448fa0718ea");
addresses.add("0x5ade8414f2a8835794bed572834185096dbfdb1f");
addresses.add("0x5fc828f2a29d75a30d8c97602381302689049811");
TransferToAddressRequest transferToAddressRequest = new TransferToAddressRequest();
transferToAddressRequest.setCurrentOwnerUID(uids.get(1));
transferToAddressRequest.addTransfer(vids.get(0),addresses.get(0));
transferResponse = (TransferResponse)toolChainClient.execute(transferToAddressReque st);
while (true) {
if(transferResponse.getData() != null ){
if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCE SS.getStatus())){
logger.debug("transfer to address token success");
break;
} else if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum .FAIL.getStatus())) {
logger.debug("transfer to address token fail");
break;
}
}
Thread.sleep(10000);
transferResponse = (TransferResponse)toolChainClient.execute(transferToAddressR equest);
}
Ownerof
Client can use ownerOf request to get the owner of the vid of NFT.
Example:
OwnerOfRequest ownerOfRequest = new OwnerOfRequest();
ownerOfRequest.setVid(vids.get(0));
ownerOfResponse = (OwnerOfResponse)toolChainClient.execute(ownerOfRequest);
Approve
Approve request is to approve 3-rd party to have the right to transfer the NFT.
approve
Example:
ApproveToUIDRequest approveRequest = new ApproveToUIDRequest();
approveRequest.setCurrentOwnerUID(uids.get(1));
approveRequest.addApprove(vids.get(1),uids.get(0));
ApproveResponse approveResponse = (ApproveResponse)toolChainClient.execute(approveR equest);
while (true) {
if(approveResponse.getData() != null ){
if(approveResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCES S.getStatus())){
logger.debug("approve to uid success");
break;
} else if(approveResponse.getData().getOrderStatus().equals(OrderStatusEnum. FAIL.getStatus())) {
logger.debug("approve to uid fail");
break;
}
}
Thread.sleep(10000);
approveResponse = (ApproveResponse)toolChainClient.execute(approveRequest);
}
logger.debug("{}",approveResponse);
get approve
Example:
GetApprovedRequest getApprovedRequest = new GetApprovedRequest();
getApprovedRequest.setVid(vids.get(1));
GetApprovedResponse getApprovedResponse = (GetApprovedResponse)toolChainClient.exec ute(getApprovedRequest);
logger.debug("{}",getApprovedResponse.getData().getDelegateUID());
logger.debug("{}",getApprovedResponse.getData().getDelegateAddress());
TransferFrom
After approve request, the delegator can call transferFrom to transfer the NFT from the owner to another address.
Now we support:
- From uid to uid
- From uid to address
- From address to uid
- From address to address
TransferFrom uid to uid
Example:
TransferFromUIDToUIDRequest transferFromUIDToUIDRequest = new TransferFromUIDToUIDR equest();
transferFromUIDToUIDRequest.setDelegateUID(uids.get(0));
transferFromUIDToUIDRequest.addTransferFrom(vids.get(1),uids.get(1),uids.get(0),nul l);
transferResponse = (TransferResponse)toolChainClient.execute(transferFromUIDToUIDRe quest);
while (true) {
if(transferResponse.getData() != null ){
if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCE SS.getStatus())){
logger.debug("transfer from uid to uid token success");
break;
} else if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum .FAIL.getStatus())) {
logger.debug("transfer from uid to uid token fail");
break;
}
}
Thread.sleep(10000);
transferResponse = (TransferResponse)toolChainClient.execute(transferFromUIDToU IDRequest);
}
logger.debug("{}",transferResponse);
TransferFrom uid to address
Example:
TransferFromUIDToAddressRequest transferFromUIDToAddressRequest = new TransferFromU IDToAddressRequest();
transferFromUIDToAddressRequest.setDelegateUID(uids.get(1));
transferFromUIDToAddressRequest.addTransferFrom(vids.get(1),uids.get(0),addresses.g et(1),null);
transferResponse = (TransferResponse)toolChainClient.execute(transferFromUIDToAddre ssRequest);
while (true) {
if(transferResponse.getData() != null ){
if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCE SS.getStatus())){
logger.debug("transfer from uid to address token success");
break;
} else if(transferResponse.getData().getOrderStatus().equals(OrderStatusEnum .FAIL.getStatus())) {
logger.debug("transfer from uid to address token fail");
break;
}
}
Thread.sleep(10000);
transferResponse = (TransferResponse)toolChainClient.execute(transferFromUIDToA ddressRequest);
}
logger.debug("{}",transferResponse);
IsAprovalForAll
IsApprovalForAll request is to check if the delegator to have the right to transfer all the token of the owner.
Example:
IsApprovedForAllUIDByUIDRequest isApprovedForAllRequest = new IsApprovedForAllUIDBy UIDRequest();
isApprovedForAllRequest.setOwnerUID(uids.get(1));
isApprovedForAllRequest.setOperatorUID(uids.get(0));
IsApprovedForAllResponse isApprovedForAllResponse = (IsApprovedForAllResponse)toolC hainClient.execute(isApprovedForAllRequest);
logger.debug("{}",isApprovedForAllResponse.getData().isApproved());
Apply For
ApplyFor request is to request to apply for a NFT. When the owner of this NFT sees this application, then he can choose to do the transfer.
ApplyFor
Example:
ApplyForRequest applyForRequest = new ApplyForRequest();
applyForRequest.setApplicantUID(uids.get(0));
applyForRequest.setVid(vids.get(1));
ApplyForResponse applyForResponse = (ApplyForResponse)toolChainClient.execute(apply ForRequest);
while (true) {
if(applyForResponse.getData() != null ){
if(applyForResponse.getData().getOrderStatus().equals(OrderStatusEnum.SUCCE SS.getStatus())){
logger.debug("apply for token success");
break;
} else if(applyForResponse.getData().getOrderStatus().equals(OrderStatusEnum .FAIL.getStatus())) {
logger.debug("apply for token fail");
break;
}
}
Thread.sleep(10000);
applyForResponse = (ApplyForResponse)toolChainClient.execute(applyForRequest);
}
logger.debug("{}",applyForResponse);
GetApplcation
Example:
GetApplicationOfUIDRequest getApplicationOfUIDRequest = new GetApplicationOfUIDRequ est();
getApplicationOfUIDRequest.setApplicantUID(uids.get(0));
GetApplicationResponse getApplicationResponse = (GetApplicationResponse)toolChainCl ient.execute(getApplicationOfUIDRequest);
logger.debug("{}",getApplicationResponse.getData().getVid().toLowerCase());
Comments
0 comments
Please sign in to leave a comment.