Jump to content
  • 0

https://demo-api.ig.com/gateway/deal/markets -> error.better-search.invalid-call


KML

Question

Dear all.

I'm playing around with the API using Java. I've been able to log in (version 1), listing accounts (https://demo-api.ig.com/gateway/deal/accounts), listed top level nodes (marketnavigation) and subscribed to some information using the LightStreamer client.

However, I'm now trying the /markets endpoint, but with no success so far. For instance, I get status 401, with error code "error.better-search.invalid-call". I'm not able to find this error message in the documentation. The same endpoint work when I try the API companion.

Any help highly appreciated!

  • Like 1
Link to comment

5 answers to this question

Recommended Posts

  • 0

I'm experiencing the same issue. I can call top-level nodes but when I try to call '/markets' I get the same '{"errorCode":"error.better-search.invalid-call"}' response. 

 

https://demo-api.ig.com/gateway/deal/markets?searchTerm=FTSE is working in the API companion but when I use exactly the same string on my node server it returns the error. 

 

const headers = {
'CST': cst,
'X-IG-API-KEY': key,
'IG-ACCOUNT-ID': accountId,
}
const markets = () => {
console.log(headers)
request({
url: `https://demo-api.ig.com/gateway/deal/markets?searchTerm=FTSE`,
method: "GET",
headers
}, function (error, response, body) {
console.log(body)
});
}
markets()
 
returns '{"errorCode":"error.better-search.invalid-call"}'
  • Like 1
Link to comment
  • 0

Hi @KML and @Will7,
Do you mean the https://github.com/IG-Group/ig-webapi-java-sample?
I cannot connect...
But this is already a step forward, after I failed to get the Schopenhauer Nodes code to work.

Which JDK do you use, Oracle11, too?
On Windows or Linux?
Do you use the "default profile", too?
I only changed  file src/main/resources/environment.properties
ig.api.domain.URL = https://api.ig.com/gateway/deal
I can connect to the production site in the  companion.

 

~/jdk-11.0.21/bin/java -jar target/ig-webapi-java-sample-console-2.2.0-SNAPSHOT.jar usr pwd apikey

 Starting Application v2.2.0-SNAPSHOT on PC with PID 59372 (started by markus in .../ig-webapi-java-sample/ig-webapi-java-sample-console)
No active profile set, falling back to default profiles: default
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (jar:file:.../ig-webapi-java-sample-console/target/ig-webapi-java-sample-console-2.2.0-SNAPSHOT.jar!/BOOT-INF/lib/spring-core-4.3.2.RELEASE.jar!/) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Connecting as usr
Invalid cookie header: "Set-Cookie:  Invalid 'expires' attribute: Fri, 10 Jan 2025 17:16:26 GMT
...4 more invalid cookies...
Unexpected error:
org.springframework.web.client.HttpClientErrorException: 403 Forbidden

 

Edited by m123m123
language
Link to comment
  • 0

Thanks for your input. I started to code from scratch, using JDK 11 on Linux. That is, I did not start with the code from Githup.

Not sure what you mean by default profile, but I had to create a specific username/password for the application in addition to the one I use when I log in myself. As the user interface in Norwegian, I'm not sure on the exact wording in the menues, but the link is https://www.ig.com/no/myig/settings/api-keys. Not that there are different entries for live and demo accounts.

The application uses the same username/password as I do in the API companion.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • image.png

  • Posts

    • The $CATS airdrop has officially started today, which is great news! Bitget is distributing 30k $CATS to the first 200k users, along with other exciting rewards. To qualify, follow these steps: 1. Open the bot. 2. Select Bitget as the exchange to deposit (it’s listed first). 3. Submit your UID and Cats deposit address. 4. Click send. It's that easy! If you've been farming $CATS, this is a great opportunity to boost your holdings with just a few simple tasks.  
    • The changes around sports betting and online gambling have really opened things up. It’s crazy how much the market is growing, and it’s not just for hardcore gamblers—there’s room for casual players too.
    • Cats and Dogs remain the most influential crypto meme community with every blockchain having its own. Recently, Ton blockchain witness the successful listing of its first Dogs meme which did a massive airdrop to users to the point the airdrop is now the yardstick for measuring successful project on Ton blockchain. Well, many feel the project has full backing from Durov and Musk since they are among the top Dogs meme family in this industry. The launch of Dogs sparks the rise of Cats with many teasing the cats meme community to surpass dogs success. I wonder if this rival could mean anything to TON blockchain but we await the listing price. With CATS about to listed, the project has open deposit so users can choose their respective preferred exchange to trade their token. Currently, only Bitget is available with a 30k $cats airdrop to the first 200k users that deposit while the project team continue working tirelessly to open deposit for the remaining exchanges. I wonder if this will pay for hamsterkombat and catizen failure and list above Dogs FDV.
×
×
  • Create New...
us