J'ai remarque hier qu'ig a modifie la reponse de son API lors d'un changement de compte cfd à risque limité lors d'une session.
Mes applications marchaient tres bien hier matin sur mes differents comptes, mais dans l'apres midi des messages d'erreurs sont apparus en me connectant sur les comptes cfd à risque limité different du compte par defaut :
Status_code : 401
Content : {"errorCode":"error.security.account-token-invalid"}
Si vous disposez de plusieurs comptes cfd à risque limité sous un meme compte ig, via un put a https://api.ig.com/gateway/deal/session vous basculez sur les differents comptes cfd à risque limité, il faut alors recuperer le nouveau X-SECURITY-TOKEN dans le header.
Jusqu'a present le champ correspondant au security token contenait une seule chaine de caracteres qui etait notre X-SECURITY-TOKEN:
{..., 'x-security-token': 'sfkjhasfkjh58df098340ufhsui845787huq37584697w9847598yf98yh9f984798787', ...}
Depuis hier, quand je me connecte sur un compte cfd à risque limité autre que le compte par defaut, le champ 'x-security-token' contient une chaine de caracteres constituee de 2 chaines de caracteres identiques et separees par une virgule :
{..., 'x-security-token': 'sfkjhasfkjh58df098340ufhsui845787huq37584697w9847598yf98yh9f984798787, sfkjhasfkjh58df098340ufhsui845787huq37584697w9847598yf98yh9f984798787', ...}
Il faut alors extraire le X-SECURITY-TOKEN qui est la sous-chaine de caracteres ie 'sfkjhasfkjh58df098340ufhsui845787huq37584697w9847598yf98yh9f984798787'
Cette forme de reponse ne m'apparait que lors d'une connection sur un compte cfd à risque limité qui n'est pas le compte par defaut.
A verifier chez vous si vous constatez des messages d'erreurs nouveaux.
Je n'ai pas demande a ig le pourquoi du comment, et il faut surement surveiller l'evolution de cette modif qui semble, a priori, ne pas avoir de sens...
en python un simple ".split(",")[0]" lors de l'extraction de la valeur du champ x-security-token resoudra le probleme jusqu'a la nouvelle modif surprise
Mr Nomade