GithubHelp home page GithubHelp logo

bunq / doc Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 18.0 15.55 MB

The bunq API documentation

Home Page: https://doc.bunq.com

License: MIT License

JavaScript 64.18% HTML 1.62% SCSS 34.21%
api-documentation api-reference bank-account bank-card bank-statement banking bunq-api payment

doc's People

Contributors

andrederoos avatar angelomelonas avatar avanheuvelen avatar basst85 avatar bunq-bot avatar crecket avatar jesperromers avatar kojoru avatar lexym avatar nickvandegroes avatar ogkevin avatar painjansen avatar robbertkl avatar root-ish avatar sailingdeveloper avatar sandervdo avatar stevenbunq avatar wvteijlingen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

doc's Issues

Add Google Tag Manager snippet to Doc

In order to improve the experience developers have on doc.bunq.com we will add some trackers via Google Tag Manager.

The same cookie policy we have on https:://www.bunq.com will be applied here.

Events response section can not be rendered

Viewing the event endpoint in the docs shows an error and the response data can't be viewed because of it. Probably caused by a schema issue of some sort.

The console shows the following error in both Chrome and Firefox.

swagger-ui.js:7382 TypeError: Cannot read property 'anyOf' of undefined
    at e (swagger-ui.js:3154)
    at e (swagger-ui.js:3136)
    at e (swagger-ui.js:3136)
    at e (swagger-ui.js:3136)
    at e (swagger-ui.js:3166)
    at configure-map.js:63
    at t.getSampleSchema (swagger-ui.js:784)
    at t.value (swagger-ui.js:26540)
    at t.render (swagger-ui.js:7380)
    at s._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:815)
t.render @ swagger-ui.js:7382

Fix response id header.

Steps to reproduce:

1.Check the response headers of.

What should happen:

  1. There should be X-Bunq-Client-Response-Id

What happens:

  1. Instead there is X-Bunq-Server-Response-Id

PSD2 production request

I've tried to make requests for to enlist with our PSD2 certificates, but there looks like some stuff is missing from the docs.

SDK's weren't a help in trying to rebuild the request.

Is it possible to provide detailed info on how to form the request and sign them with QSEAL?

Signing section contains duplicate request example

Scrolling on https://doc.bunq.com/#/signing, there is exactly the same post request. The section after

Let's sign that request. First create a variable $dataToSign, starting with the type and endpoint url. Follow that by a list of headers only including Cache-Control, User-Agent and headers starting with X-Bunq-. Add an extra (so double) linefeed after the list of headers. Finally end with the body of the request:

should contain something similar at "Response verifying example" (basically, the concatenation of the data to create the request signature)

Move to static HTML page

The pre-render command from redoc overwrites our custom tags so a script to insert these automatically would be useful

Add nullables to response

Title says it all, ATM you cant tell if a response is always there or if it can return null every now and then.

However, this will be quite hard to implement do to internal reasons and therefore might take a lot of man hours.

Service workers

I was thinking it'd be nice to add a service worker to the new documentation page which could significantly speed up the loading time for the new documentation. And since the service worker works in the background it wouldn't require some kind of rewrite in the theme/template that is currently used.

If you want I can create a pull request to set this up using something like sw-precahe which is Google's library to easily create a service worker script.

The trade-off then becomes that new versions of the documentation won't be visible instantly since a cached version will be shown first but you would have sub 1 second/near instant load times

Code generation using swagger / openapi specification file

Hi,

I tried to use the openapi-generator-cli to generate a client for the bunq api using the provided swagger/openapi specification file (https://raw.githubusercontent.com/bunq/doc/master/swagger.json) but I am having trouble with the code generation.

How are the bunq sdks (python, php, csharp) generated? Are they also using the openapi generator?

Code generation

Using the following command:

java -jar openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/bunq/doc/master/swagger.json -g go -o ./bunq

Gives me the following error output:

java.net.URISyntaxException: Illegal character in path at index 36: https://public-api.sandbox.bunq.com/{basePath}
	at java.net.URI$Parser.fail(URI.java:2848)
	at java.net.URI$Parser.checkChars(URI.java:3021)
	at java.net.URI$Parser.parseHierarchical(URI.java:3105)
	at java.net.URI$Parser.parse(URI.java:3053)
	at java.net.URI.<init>(URI.java:588)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServer(OpenAPIDeserializer.java:397)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServersList(OpenAPIDeserializer.java:363)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.parseRoot(OpenAPIDeserializer.java:157)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.deserialize(OpenAPIDeserializer.java:111)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:104)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:142)
	at io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:45)
	at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:19)
	at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:552)
	at org.openapitools.codegen.cmd.Generate.run(Generate.java:348)
	at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:62)
java.net.URISyntaxException: Illegal character in path at index 21: https://api.bunq.com/{basePath}
	at java.net.URI$Parser.fail(URI.java:2848)
	at java.net.URI$Parser.checkChars(URI.java:3021)
	at java.net.URI$Parser.parseHierarchical(URI.java:3105)
	at java.net.URI$Parser.parse(URI.java:3053)
	at java.net.URI.<init>(URI.java:588)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServer(OpenAPIDeserializer.java:397)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServersList(OpenAPIDeserializer.java:363)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.parseRoot(OpenAPIDeserializer.java:157)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.deserialize(OpenAPIDeserializer.java:111)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:104)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:142)
	at io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:45)
	at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:19)
	at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:552)
	at org.openapitools.codegen.cmd.Generate.run(Generate.java:348)
	at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:62)
Exception in thread "main" org.openapitools.codegen.SpecValidationException: There were issues with the specification. The option can be disabled via validateSpec (Maven/Gradle) or --skip-validate-spec (CLI).
 | Error count: 52, Warning count: 2
Errors: 
	-attribute components.schemas.NoteAttachmentIdealMerchantTransaction_5be1e76160c9d.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentPayment_5be1e76173c42.properties is not of type `object`
	-attribute components.schemas.DraftShareInviteApiKeyQrCodeContent_5be1e75ebc5ad.properties is not of type `object`
	-attribute components.schemas.TabQrCodeContent_5be1e765a27f4.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentPaymentBatch_5be1e7616bfd1.properties is not of type `object`
	-attribute components.schemas.TabUsageSingle_5be1e765ac20a.properties is not of type `object`
	-attribute components.schemas.NoteTextSofortMerchantTransaction_5be1e7618aa66.properties is not of type `object`
	-attribute components.schemas.AttachmentTab.properties is not of type `object`
	-attribute components.schemas.TabUsageMultiple_5be1e765a522c.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentScheduleInstance_5be1e761841b9.properties is not of type `object`
	-attribute components.schemas.NoteTextWhitelistResult_5be1e7618e74b.properties is not of type `object`
	-attribute components.schemas.NoteTextMasterCardAction_5be1e7616a142.properties is not of type `object`
	-attribute components.schemas.NoteTextIdealMerchantTransaction_5be1e7616501a.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentBunqMeFundraiserResult_5be1e76159505.properties is not of type `object`
	-attribute components.schemas.AttachmentPublicContent_5be1e75e5b254.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentRequestInquiryBatch_5be1e76177e58.properties is not of type `object`
	-attribute components.schemas.ScheduleUser_5be1e765663e0.properties is not of type `object`
	-attribute components.schemas.AttachmentConversationContent_5be1e75e5a571.properties is not of type `object`
	-attribute components.schemas.NoteTextRequestResponse_5be1e761824fb.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentBankSwitchServiceNetherlandsIncomingPayment_5be1e76154f08.properties is not of type `object`
	-attribute components.schemas.Session_5be1e7657b84d.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentMasterCardAction_5be1e7616704c.properties is not of type `object`
	-attribute components.schemas.TabItemShop_5be1e7657fc43.properties is not of type `object`
	-attribute components.schemas.NoteTextDraftPayment_5be1e7615f12c.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentWhitelistResult_5be1e7618c958.properties is not of type `object`
	-attribute components.schemas.ExportAnnualOverview_5be1e76103da1.properties is not of type `object`
	-attribute components.schemas.DraftShareInviteBankQrCodeContent_5be1e75ebf101.properties is not of type `object`
	-attribute components.schemas.SchedulePaymentBatch_5be1e7652e387.properties is not of type `object`
	-attribute components.schemas.CertificatePinned_5be1e75e979d5.properties is not of type `object`
	-attribute components.schemas.SandboxUser.properties is not of type `object`
	-attribute components.schemas.SchedulePayment_5be1e76537a3a.properties is not of type `object`
	-attribute components.schemas.AttachmentTabContent_5be1e75e5bb2d.properties is not of type `object`
	-attribute components.schemas.ExportAnnualOverviewContent_5be1e761027be.properties is not of type `object`
	-attribute components.schemas.NoteTextRequestInquiryBatch_5be1e7617a11c.properties is not of type `object`
	-attribute components.schemas.CustomerStatementExportContent_5be1e761051d6.properties is not of type `object`
	-attribute components.schemas.AttachmentPublic.properties is not of type `object`
	-attribute components.schemas.NoteTextScheduleInstance_5be1e76186266.properties is not of type `object`
	-attribute components.schemas.Whitelist_5be1e75f4f26d.properties is not of type `object`
	-attribute components.schemas.CashRegisterQrCodeContent_5be1e75e85b04.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentRequestResponse_5be1e7618030d.properties is not of type `object`
	-attribute components.schemas.NoteTextPayment_5be1e76175f59.properties is not of type `object`
	-attribute components.schemas.TabAttachmentTabContent_5be1e75e5c5bf.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentRequestInquiry_5be1e7617bdb3.properties is not of type `object`
	-attribute components.schemas.NoteTextPaymentBatch_5be1e76171b90.properties is not of type `object`
	-attribute components.schemas.AttachmentMonetaryAccount.properties is not of type `object`
	-attribute components.schemas.CustomerStatementExport_5be1e761085da.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentSofortMerchantTransaction_5be1e76188575.properties is not of type `object`
	-attribute components.schemas.NoteTextRequestInquiry_5be1e7617dea5.properties is not of type `object`
	-attribute components.schemas.ShareInviteBankAmountUsed_5be1e7610d237.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentDraftPayment_5be1e7615cd09.properties is not of type `object`
	-attribute components.schemas.NoteTextBankSwitchServiceNetherlandsIncomingPayment_5be1e7615755e.properties is not of type `object`
	-attribute components.schemas.NoteTextBunqMeFundraiserResult_5be1e7615b22c.properties is not of type `object`
Warnings: 
	-Unused model: Avatar_5be1e75e3de25
	-Unused model: Tab_5be1e75f49f9e

	at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:569)
	at org.openapitools.codegen.cmd.Generate.run(Generate.java:348)
	at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:62)

Validation

Trying to validate the openapi file gives the following errors:

java -jar openapi-generator-cli.jar validate -i https://raw.githubusercontent.com/bunq/doc/master/swagger.json
Validating spec (https://raw.githubusercontent.com/bunq/doc/master/swagger.json)
java.net.URISyntaxException: Illegal character in path at index 36: https://public-api.sandbox.bunq.com/{basePath}
	at java.net.URI$Parser.fail(URI.java:2848)
	at java.net.URI$Parser.checkChars(URI.java:3021)
	at java.net.URI$Parser.parseHierarchical(URI.java:3105)
	at java.net.URI$Parser.parse(URI.java:3053)
	at java.net.URI.<init>(URI.java:588)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServer(OpenAPIDeserializer.java:397)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServersList(OpenAPIDeserializer.java:363)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.parseRoot(OpenAPIDeserializer.java:157)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.deserialize(OpenAPIDeserializer.java:111)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:104)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:142)
	at io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:45)
	at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:19)
	at org.openapitools.codegen.cmd.Validate.run(Validate.java:46)
	at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:62)
java.net.URISyntaxException: Illegal character in path at index 21: https://api.bunq.com/{basePath}
	at java.net.URI$Parser.fail(URI.java:2848)
	at java.net.URI$Parser.checkChars(URI.java:3021)
	at java.net.URI$Parser.parseHierarchical(URI.java:3105)
	at java.net.URI$Parser.parse(URI.java:3053)
	at java.net.URI.<init>(URI.java:588)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServer(OpenAPIDeserializer.java:397)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.getServersList(OpenAPIDeserializer.java:363)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.parseRoot(OpenAPIDeserializer.java:157)
	at io.swagger.v3.parser.util.OpenAPIDeserializer.deserialize(OpenAPIDeserializer.java:111)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:104)
	at io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:142)
	at io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:45)
	at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:19)
	at org.openapitools.codegen.cmd.Validate.run(Validate.java:46)
	at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:62)
Errors:
	-attribute components.schemas.NoteAttachmentIdealMerchantTransaction_5be1e76160c9d.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentPayment_5be1e76173c42.properties is not of type `object`
	-attribute components.schemas.DraftShareInviteApiKeyQrCodeContent_5be1e75ebc5ad.properties is not of type `object`
	-attribute components.schemas.TabQrCodeContent_5be1e765a27f4.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentPaymentBatch_5be1e7616bfd1.properties is not of type `object`
	-attribute components.schemas.TabUsageSingle_5be1e765ac20a.properties is not of type `object`
	-attribute components.schemas.NoteTextSofortMerchantTransaction_5be1e7618aa66.properties is not of type `object`
	-attribute components.schemas.AttachmentTab.properties is not of type `object`
	-attribute components.schemas.TabUsageMultiple_5be1e765a522c.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentScheduleInstance_5be1e761841b9.properties is not of type `object`
	-attribute components.schemas.NoteTextWhitelistResult_5be1e7618e74b.properties is not of type `object`
	-attribute components.schemas.NoteTextMasterCardAction_5be1e7616a142.properties is not of type `object`
	-attribute components.schemas.NoteTextIdealMerchantTransaction_5be1e7616501a.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentBunqMeFundraiserResult_5be1e76159505.properties is not of type `object`
	-attribute components.schemas.AttachmentPublicContent_5be1e75e5b254.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentRequestInquiryBatch_5be1e76177e58.properties is not of type `object`
	-attribute components.schemas.ScheduleUser_5be1e765663e0.properties is not of type `object`
	-attribute components.schemas.AttachmentConversationContent_5be1e75e5a571.properties is not of type `object`
	-attribute components.schemas.NoteTextRequestResponse_5be1e761824fb.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentBankSwitchServiceNetherlandsIncomingPayment_5be1e76154f08.properties is not of type `object`
	-attribute components.schemas.Session_5be1e7657b84d.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentMasterCardAction_5be1e7616704c.properties is not of type `object`
	-attribute components.schemas.TabItemShop_5be1e7657fc43.properties is not of type `object`
	-attribute components.schemas.NoteTextDraftPayment_5be1e7615f12c.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentWhitelistResult_5be1e7618c958.properties is not of type `object`
	-attribute components.schemas.ExportAnnualOverview_5be1e76103da1.properties is not of type `object`
	-attribute components.schemas.DraftShareInviteBankQrCodeContent_5be1e75ebf101.properties is not of type `object`
	-attribute components.schemas.SchedulePaymentBatch_5be1e7652e387.properties is not of type `object`
	-attribute components.schemas.CertificatePinned_5be1e75e979d5.properties is not of type `object`
	-attribute components.schemas.SandboxUser.properties is not of type `object`
	-attribute components.schemas.SchedulePayment_5be1e76537a3a.properties is not of type `object`
	-attribute components.schemas.AttachmentTabContent_5be1e75e5bb2d.properties is not of type `object`
	-attribute components.schemas.ExportAnnualOverviewContent_5be1e761027be.properties is not of type `object`
	-attribute components.schemas.NoteTextRequestInquiryBatch_5be1e7617a11c.properties is not of type `object`
	-attribute components.schemas.CustomerStatementExportContent_5be1e761051d6.properties is not of type `object`
	-attribute components.schemas.AttachmentPublic.properties is not of type `object`
	-attribute components.schemas.NoteTextScheduleInstance_5be1e76186266.properties is not of type `object`
	-attribute components.schemas.Whitelist_5be1e75f4f26d.properties is not of type `object`
	-attribute components.schemas.CashRegisterQrCodeContent_5be1e75e85b04.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentRequestResponse_5be1e7618030d.properties is not of type `object`
	-attribute components.schemas.NoteTextPayment_5be1e76175f59.properties is not of type `object`
	-attribute components.schemas.TabAttachmentTabContent_5be1e75e5c5bf.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentRequestInquiry_5be1e7617bdb3.properties is not of type `object`
	-attribute components.schemas.NoteTextPaymentBatch_5be1e76171b90.properties is not of type `object`
	-attribute components.schemas.AttachmentMonetaryAccount.properties is not of type `object`
	-attribute components.schemas.CustomerStatementExport_5be1e761085da.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentSofortMerchantTransaction_5be1e76188575.properties is not of type `object`
	-attribute components.schemas.NoteTextRequestInquiry_5be1e7617dea5.properties is not of type `object`
	-attribute components.schemas.ShareInviteBankAmountUsed_5be1e7610d237.properties is not of type `object`
	-attribute components.schemas.NoteAttachmentDraftPayment_5be1e7615cd09.properties is not of type `object`
	-attribute components.schemas.NoteTextBankSwitchServiceNetherlandsIncomingPayment_5be1e7615755e.properties is not of type `object`
	-attribute components.schemas.NoteTextBunqMeFundraiserResult_5be1e7615b22c.properties is not of type `object`

[error] Spec has 52 errors.

Replace ReDoc with Swagger

As above: since ReDoc has been giving issues to people (e.g. loading times) we are replacing it with SwaggerUI.

Current issues:

  • Deeplinking to tags works, while doing the same for a tag/method does not.

Document how to permit a wildcard IP on device-server

According to this thread on together you can add a wildcard IP to a device-server by using a *.

(...) it is possible to create a wildcard key if you populate the permitted_ips with the current IP you're making calls from and * to also add wildcard.

This information is critical when you're dealing with dynamic IPs (which is most of the time I think). Therefore I think this information should be added to the documentation.

SANDBOX/PRODUCTION API key to context mprovements

See also: https://together.bunq.com/d/4883-api-production-and-sandbox-context-creation-issues

Two small suggestions for improvements for new API users (rookie level):
a) To prevent failing PRODUCTION context creation issues make the quickfix of removing line 315 (CURLOPT_PINNEDPUBLICKEY) in ApiClient.php a definite one. If this balances out the problems which the current SDK causes (spend a lot of time trying to figure out the problem and upgrading cUrl on CentOS/PHP7.0 is not that easy) versus the benefits (which I don't have knowledge about).

b) Update in https://doc.bunq.com/, introduction, 4th bullet point to explain the difference between the production API key obtained through the App and the sandbox API key obtained through (link to article, current link https://doc.bunq.com/#/android-emulator goes to the same page, tipo in link?). Someting like: 'The sandbox API key is different from the production API key. Instructions to get it are found in <page with at least the curl option, maybe more options?>

Info on auto savings

I'm looking for info on how to recognize automated savings, ie. when a user makes bunq round up all transactions to 5 euro's. When the user pays for something that costs 4,-, 1,- is transferred to a savings goal.

I can see these transactions in the API (List_all_Payment_for_User_MonetaryAccount) but they are listed under a type "SAVINGS" that is not documented.

Likewise, the type "MASTERCARD" isn't documented either.

But anyway, can I distinguish these transactions in anyway? Is it the type that tells me these are automated?

Signing response return error without explanation

Hello,

I'm trying to call /v1/session-server url. I can successfully call before endpoints. In this url, It returns me;

{ "Error" : [ { "error_description_translated" : "For this operation a request signature is required. Check the urls for more information.", "error_description" : "For this operation a request signature is required. Check the urls for more information.", "error_additional_parameter" : [ { "url_together_post" : "https:\/\/together.bunq.com\/d\/15399" } ] } ] }
error. I tried to call it with IGNORE_ONLY_FOR_TESTING but It returns me the same error. I'm using javascript function which is also in postman to sign it with private key. My data to sign is in as below;

Post /v1/session-server\nX-Bunq-Region: en_US\nX-Bunq-Language: en_US\nX-Bunq-Geolocation: 0 0 0 0 000\nX-Bunq-Client-Request-Id: mp3vuWWoH2vVF368BGOs\nX-Bunq-Client-Authentication: ef3e3252270456bedf53ed775761f642ecfce89a75fb881ee2890085548dacee\nUser-Agent: postman\nCache-Control: no-cache\n\n{secret:sandbox_5b987d687645854c8d2414aa1fdd6be5780d304bf8c36c7809b35e92}"

What am I doing wrong? Thank you.

Explain getting sandbox API Key

E. g.
curl https://public-api.sandbox.bunq.com/v1/sandbox-user -X POST --header "Content-Type: application/json" --header "Cache-Control: none" --header "User-Agent: curl-request" --header "X-Bunq-Client-Request-Id: $(date)randomId" --header "X-Bunq-Language: nl_NL" --header "X-Bunq-Region: nl_NL" --header "X-Bunq-Geolocation: 0 0 0 0 000"

See https://together.bunq.com/d/6347-documentation-update

Pagination instructions seem incorrect

The section about pagination states:

The older_id is always the ID of the first item in the current page.

However: by default Payments are sorted descending by creation date: the newest Payment is the first item in the current page, for example when GETting 5 Payments out of 10:

  • GET /v1/user/1/monetary-account/1/payment?count=5
    • Payment#10
    • Payment#9
    • Payment#8
    • Payment#7
    • Payment#6

According to the documentation, for the next page the older_id should be the ID of the first item: 10:

  • GET /v1/user/1/monetary-account/1/payment?count=5&older_id=10:
    • Payment#9
    • Payment#8
    • Payment#7
    • Payment#6
    • Payment#5

This seems incorrect: Payment#9 to Payment#6 were already returned on the first "page".

Instead, older_id should be 6, so the next page with older items would be:

  • GET /v1/user/1/monetary-account/1/payment?count=5&older_id=6:
    • Payment#5
    • Payment#4
    • Payment#3
    • Payment#2
    • Payment#1

I guess that would mean that "the older_id is always the ID of the LAST item in the current page".

A proper/complete and logical example in the documentation would clarify a lot.

I would say that the documentation should be agnostic of the order the Payments are retrieved by using an explanation like:

"The older_id is always the ID of the oldest item in the current page".

Sandbox Android App Stuck in "Your Submission is Under Review"

As part of my development process, I installed
https://appstore.bunq.com/api/android/builds/bunq-android-sandbox-master.apk
in my android phone. Entered all the details, was able to validate the number with smscode 123456, then entered address, email, copy of ID document, validated bank address and also set a pin.

Next it comes into a screen "Your Submission is Under Review" for more than 24 hours. I tried reinstalling with a different name and number (This time I gave a Netherlands address, phone number, nationality and all other details). Still it ends up in the same screen. Please let me know how to handle this.
I work from India for a client who wants some development done. Does country from where the install happen, matter?

Typo's in base.json

Found two small typo's in the base.json file.

tranlsated -> translated
lenguage -> language

Update Doc to improve usability

Doc has been moved to Swagger, but it still needs some work to improve it.

The following is required:

  • Add a sidebar with links to all topics and endpoints
  • Remove hashes from model names
  • Add a mapping between pre-Swagger doc urls and new ones

Improve doc: not clear if is possible to exchange real money between two accounts using the api

Reading through https://doc.bunq.com/, I don't get if is possible to exchange real money between two accounts using the api.

The OAuth Section says, under the "What can my apps do with OAuth?" section:

  • Create new Payments, but only between Monetary Accounts belonging to the same user.

So, probably, this means that I cannot create an app on top of the api where an user give his permission, so then he can simply tap a button and the app can get money from his bank account right?

What I think I can do, based on the Payment Request Section, is to ask the user to make a payment each time he taps the button. In this way he can select his preferred way of payment (through ideal, for example). Is this right?

Can you please confirm my assumptions? Thanks for your time ๐Ÿ‘

Mention default pincode for sandbox app

Hi,

It might be nice to add the pincode 000000 and 992266 to the documentation and how to get a account (tell them its through a tinker script) to help developers start quicker with developing.

Fix broken internal links and add external resources

Since the update to Swagger some of the links have been broken because of the very specific scrolling navigation it introduced. They should be fixed.

Moreover we should include also links to external resources such as GitHub and Stack Overflow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.