nordigen / nordigen-python Goto Github PK
View Code? Open in Web Editor NEWPython library for the Nordigen API.
License: MIT License
Python library for the Nordigen API.
License: MIT License
Describe the bug
ClientResponseError: 400, message='Bad Request', url=URL('https://ob.nordigen.com/api/v2/accounts/
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Success response
Describe the bug
When calling the exchange token function, it only returns the new access token and access expiration date, and not the refresh token as said in the docstring.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expected to receive a new TokenType with a new access and refresh token in it
I received an email today that the API URL will change in 7 days, on February 20. You already have the necessary changes in this GitHub repository. But the associated version 1.4.0 is not yet on PyPI. Would you please upload it there?
Hi,
nordigen-python/nordigen/types/types.py
Line 81 in 01c61ad
is incomplete, as it could also have a bban
.
example
{
"account": {
"resourceId": "1324307",
"bban": "9611115706498680",
"currency": "USD",
"ownerName": "PINOCCHIO OĆ",
"details": "USD"
}
}
Hi, this is more of a general question regarding the Nordigen API but I couldn't find any documentation describing why I need to provide a user agent and IP address in the request body when accepting an end user agreement via the API.
The route I am talking about: https://nordigen.com/en/docs/account-information/integration/parameters-and-responses/#/agreements/accept%20EUA
Is this a case of "user A with IP X communicates with backend B with IP Y, which communicates with the API" and therefore the backend would need to communicate IP X (and user agent of user A) to the API?
Also do the values of these parameters have any implications on anything?
Edit: Another question: in what case is it possible to use this accept endpoint? (I'm getting: "Your company doesn't have permission to accept EUA")
Attempting to create a new requisition, the agreement parameter expects a List[str] attribute type which is passed as is to the API call POST /requisitions.
This is not consistent with the RequisitionRequest payload schema.
Not too sure if a bug or just incorrect usage of the API.
I have initialized a new session through the following code, clicked the link and authorized:
init = client.initialize_session(institution_id = "ING_INGBNL2A", redirect_uri = "https://nordigen.com", reference_id=str(uuid4()))
print(init.link)
requisition_id = init.requisition_id
print(requisition_id)
Then copied the requisition_id and pasted in the following code:
accounts = client.requisition.get_requisition_by_id(requisition_id = "PASTED HERE")
print(json.dumps(accounts, indent = 2))
If I understand correctly, I have authorized properly, and should not be getting a 401 response.
https://bankaccountdata.gocardless.com/api/docs#/requisitions/Create%20requisition lists parameters including user_language
and ssn
.
{
"redirect": "string",
"institution_id": "string",
"agreement": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reference": "string",
"user_language": "strin",
"ssn": "string",
"account_selection": false,
"redirect_immediate": false
}
create_requisition
lacks the ssn
parameter: https://github.com/nordigen/nordigen-python/blob/master/nordigen/api/requisitions.py#L46C9-L46C27
When using initialize_session
as the README suggests it lacks both the user_language
and the ssn
parameters:
nordigen-python/nordigen/nordigen.py
Line 172 in d6d1eff
So at the moment the only option is to use the HTTP endpoints directly in order to have access to the features.
Is your feature request related to a problem? Please describe.
Nordigen client uses requests
library which makes blocking http calls. This creates bottlenecks when fetching data for multiple requisition ids.
Describe the solution you'd like
Use aiohttp
library which is asycnio-native. This will enable concurrent work using asyncio.gather which will dramatically speed up execution when working with multiple requistion ids.
The codebase is fairly small and I'm happy to make the change if the owners are happy with the idea.
Hi,
According to the example in the README it should be possible to fetch transactions for a specific date range.
However, when I try this I get the following error: get_transactions() got an unexpected keyword argument 'date_from'.
Could it be that this functionality is not yet available in the last released version (v 1.0.1)?
Line 59 fails with the following error:
meta_data = account.get_metadata()
requests.exceptions.HTTPError: {'response': {'summary': 'Not found.', 'detail': 'Not found.', 'status_code': 404}, 'status': 404}
Hello, I've noticed that several type hints are incorrect. For reference, I checked the official API schema.
Below are some examples:
nordigen-python/nordigen/types/types.py
Lines 22 to 30 in c8b9166
enduser_id
is not available in the API responsenordigen-python/nordigen/types/types.py
Lines 40 to 50 in c8b9166
agreements
isn't available in the API response, but instead agreement
(string instead of list) is availableenduser_id
is not available in the API responselink
property is missing in type hintsssn
property is missing in type hintsaccount_selection
property is missing in type hintsredirect_immediate
property is missing in type hintsresults
isn't part of that objectHello, I have a question regarding the auth flow. I have two accounts integrated with a bank. Do I always have to go through the step of generating a link and authenticating through the browser window in order for the accounts to be filled out? Does the requisition id remain static or?
I have Nordigen setup with 1 account (bank : N26).
When executing line 52:
account_id = accounts["accounts"][0]
...I get the following error:
account_id = accounts["accounts"][0] IndexError: list index out of range
I had to correct the code in that line to the following to work around my issue:
account_id = accounts["id"]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ššš
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ā¤ļø Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.