Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ module.exports = (ctx) => ({
'.vuepress/nav/top/mainNav.js',
// Sidebars
'.vuepress/nav/sidebars.js',
'.vuepress/nav/left/guides.js',
'.vuepress/nav/left/rest/rest.js',
'.vuepress/nav/left/rest/v1/summary.js',
'.vuepress/nav/left/rest/v1/resources.js',
Expand Down
61 changes: 31 additions & 30 deletions docs/.vuepress/nav/left/guides.js
Original file line number Diff line number Diff line change
@@ -1,39 +1,40 @@
const introduction = require('./guides/introduction.js');
// const introduction = require('./guides/introduction.js');
const quickstarts = require('./guides/quickstarts.js');
const tutorials = require('./guides/tutorials.js');
const best_practices = require('./guides/best-practices.js');


const overview = {
title: 'Overview',
collapsable: false,
sidebarDepth: 0,
children: [
['/api/guides/', 'Settle API Overview'],
],
}

module.exports = [
overview,
introduction,
quickstarts,
tutorials,
best_practices,
]
title: 'Overview',
collapsable: false,
sidebarDepth: 0,
children: [['/api/guides/', 'Settle API Overview']],
};

/**
* @todo #96 @rexgnu Edit the Introductions Sidabar here. Documents are found in '/docs/api/guides/introduction'.
*/
const introduction = {
title: 'Introduction', // required
collapsable: false,
sidebarDepth: 0,
children: [
'/api/guides/introduction/interacting',
'/api/guides/introduction/callbacks',
'/api/guides/introduction/error-responses',
'/api/guides/introduction/media-type',
'/api/guides/introduction/a-note-on-settle-api-users',
'/api/guides/introduction/versioning',
['/api/guides/introduction/resiliency', 'Resiliency'],
],
};

// function getIntroductionSidebar() {
// return [
// '/introduction/',
// '/introduction/interacting',
// '/introduction/callbacks',
// '/introduction/error-responses',
// '/introduction/media-type',
// '/introduction/a-note-on-settle-api-users',
// '/introduction/versioning',
// ['/introduction/resiliency', 'Resiliency'],
// ];
// }
module.exports = [
overview,
introduction,
// quickstarts,
tutorials,
// best_practices,
];

// function getGuidesSidebar() {
// return [
Expand All @@ -46,4 +47,4 @@ module.exports = [
// '/guides/permission-requests',
// '/guides/qr-acceptance',
// ];
// }
// }
8 changes: 2 additions & 6 deletions docs/.vuepress/theme/components/PageReference.vue
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,10 @@
The above services has the following endpoints (resources), and all
methods below are relative to its parent method (service endpoint).
</p>
<div class="md-api_reference_FiraCode">
<div class="md-api_reference_FiraCode" v-if="!resource.internal">
<!-- REST REsources -->

<section
v-if="!resource.internal"
v-for="(resource, index) in $data.resource"
:key="index"
>
<section v-for="(resource, index) in $data.resource" :key="index">
<h3 :id="'v' + resource.version + '-' + resource.headerAnchor">
<router-link
:to="'#v' + resource.version + '-' + resource.headerAnchor"
Expand Down
205 changes: 114 additions & 91 deletions docs/.vuepress/theme/components/PageResource.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,99 +64,92 @@
</div>
</ul>
</div>
<h3 id="status-codes" v-if="statusCodes">
<a href="#status-codes" class="header-anchor">#</a> Status Codes
</h3>
<ul v-if="statusCodes">
<li v-for="(code, index) in statusCodes" :key="index">
<strong>{{ code.code }}</strong> -->
<!-- <strong>{{ code.title }}</strong>, {{ code.description }} -->
<strong>{{ code.title }}</strong>
<span v-if="code.description">, {{ code.description }}</span>
</li>
</ul>
</div>
<h2 id="schema" v-if="schemas.length">
<a href="#schema" class="header-anchor">#</a> Schema
</h2>
<div class="md-api_reference_FiraCode">
<div v-for="(type, entry) in schemas" :key="entry">
<h3 :id="type.name">
<router-link :to="'#' + type.name" class="header-anchor"
>#</router-link
>
{{ type.name }}
<div v-if="statusCodes.length">
<h3 id="status-codes">
<a href="#status-codes" class="header-anchor">#</a> Status Codes
</h3>
<ul>
<li>
Type:
<!-- <code v-if="type.url && type.type">
<router-link :to="type.url">{{ type.type }}</router-link>
</code> -->
<code v-if="type.$ref">
<router-link
:to="'/api/reference/rest/v1/models/#' + type.$ref"
>{{ type.$ref }}</router-link
>
</code>
<code v-else>{{ type.type }}</code>
</li>

<li v-if="type.required">
Required:
<code class="required">{{ type.required }}</code>
</li>
<li v-if="type.enum">
Enum: <code>{{ type.enum }}</code>
</li>
<li v-if="type.default">
Default: <code>{{ type.default }}</code>
</li>
<li
v-if="
type.minLength &&
type.maxLength &&
type.minLength === type.maxLength
"
>
Length: <code>{{ type.minLength }}</code>
</li>
<li v-else-if="type.minLength">
Length: <code>&#8805; {{ type.minLength }}</code>
</li>
<li v-else-if="type.maxLength">
Length: <code>&#8804; {{ type.maxLength }}</code>
</li>
<li v-if="type.minimum && type.type === 'integer'">
Value: <code>&#8805; {{ type.minimum }}</code>
</li>
<li v-if="type.maximum && type.type === 'integer'">
Value: <code>&#8804; {{ type.maximum }}</code>
</li>
<li v-if="type.pattern">
RegExp: <code>{{ type.pattern }}</code>
<li v-for="(code, index) in statusCodes" :key="index">
<strong>{{ code.code }}</strong> -->
<strong>{{ code.title }}</strong
><span v-if="code.description">, {{ code.description }}</span>
</li>
</ul>
<p v-if="type.description">{{ type.description }}</p>
</div>
</div>
<section v-if="schemas.length">
<h2 id="schema">
<a href="#schema" class="header-anchor">#</a> Schema
</h2>
<div class="md-api_reference_FiraCode">
<div v-for="(type, entry) in schemas" :key="entry">
<h3 :id="type.name">
<router-link :to="'#' + type.name" class="header-anchor"
>#</router-link
>
{{ type.name }}
</h3>
<ul>
<li>
Type:
<!-- <code v-if="type.url && type.type">
<router-link :to="type.url">{{ type.type }}</router-link>
</code> -->
<code v-if="type.$ref">
<router-link
:to="'/api/reference/rest/v1/models/#' + type.$ref"
>{{ type.$ref }}</router-link
>
</code>
<code v-else>{{ type.type }}</code>
</li>

<li v-if="type.required">
Required:
<code class="required">{{ type.required }}</code>
</li>
<li v-if="type.enum">
Enum: <code>{{ type.enum }}</code>
</li>
<li v-if="type.default">
Default: <code>{{ type.default }}</code>
</li>
<li
v-if="
type.minLength &&
type.maxLength &&
type.minLength === type.maxLength
"
>
Length: <code>{{ type.minLength }}</code>
</li>
<li v-else-if="type.minLength">
Length: <code>&#8805; {{ type.minLength }}</code>
</li>
<li v-else-if="type.maxLength">
Length: <code>&#8804; {{ type.maxLength }}</code>
</li>
<li v-if="type.minimum && type.type === 'integer'">
Value: <code>&#8805; {{ type.minimum }}</code>
</li>
<li v-if="type.maximum && type.type === 'integer'">
Value: <code>&#8804; {{ type.maximum }}</code>
</li>
<li v-if="type.pattern">
RegExp: <code>{{ type.pattern }}</code>
</li>
</ul>
<p v-if="type.description">{{ type.description }}</p>
</div>
</div>
</section>

<br />
<!-- <h2 id="code-snippets">
<a href="#code-snippets" class="header-anchor">#</a> Code Snippets
</h2>
<div class="language-http extra-class">
<pre class="language-http code-copy-added">
<code>
<span class="token request-line"><span class="token property">POST</span> /some/resource/ HTTP/1.1</span>
<span class="token header-name keyword">HOST:</span> server.test
<span class="token header-name keyword">Accept:</span> application/vnd.mcash.api.merchant.v1+json
<span class="token header-name keyword">Content-Type:</span> application/json
<span class="token header-name keyword">X-Auka-Merchant:</span> T9oWAQ3FSl6oeITuR2ZGWA
<span class="token header-name keyword">X-Auka-User:</span> POS1
<span class="token header-name keyword">Authorization:</span> SECRET MySecretPassword
</code>
</pre>
</div> -->
</h2> -->
<Content slot-key="example" />

<!-- <h2 id="request-body">
<a href="#request-body" class="header-anchor">#</a> Request Body
</h2>
Expand Down Expand Up @@ -342,7 +335,7 @@ export default {

if (unsortedShit.length > 0) {
uniqSchemas = _.uniq(unsortedShit);
// console.log(uniqSchemas);
// console.log("uniqSchemas", uniqSchemas);
}

if (uniqSchemas !== undefined) {
Expand All @@ -351,18 +344,48 @@ export default {
if (mon.operationId === frontmatter.operationId) {
// console.log(mon);
_.filter(mon.responses, function (apu, smithers) {
// console.log(smithers, apu);
let title = apu.description.split(",")[0];
let description = apu.description.split(",")[1];
console.log("code", title + ":" + description);
let title;
let description;

// console.log("apu", apu.$ref);
if (apu.$ref) {
console.log("$ref", apu.$ref);
let currentResponseRef = apu.$ref.split(
"#/components/responses/"
)[1];
console.log("currentResponseRef: ", currentResponseRef);
// _.filter(reference, function (bart, lisa){})
let response =
reference[page.frontmatter.api].components.responses[
currentResponseRef
];
console.log("response: ", response);
title = response.description;
if (title.includes(",")) {
title = title.split(",")[0];
description = title.split(",")[1];
// console.log("code", title + ":" + description);
} else {
title = title;
}
} else {
console.log("apu", apu);
title = apu.description;
if (title.includes(",")) {
title = apu.description.split(",")[0];
description = apu.description.split(",")[1];
// console.log("code", title + ":" + description);
} else {
title = title;
}
}

// let title = apu.description.split(",")[0];
// let description = apu.description.split(",")[1];
let code = {
code: smithers,
title: title,
description: description,
};

data.statusCodes.push(code);
});
//
Expand Down
43 changes: 42 additions & 1 deletion docs/api/reference/rest/v1/merchant.balance/get.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,45 @@ operation: get
method: get
authLevel: SECRET
authRoles: Any
---
---

::: slot example

## Examples

<code-group>
<code-block title="HTTP">
```http
GET /merchant/v1/merchant/5rg1dkk8/balance/ HTTP/1.1
Host: api.sandbox.settle.eu
X-Settle-Merchant: 5rg1dkk8
Authorization: SECRET 2Z49_HoqEdPu0VqGn6vy2679+tYOT0Fl
```
</code-block>

<code-block title="cURL">
```bash
curl \
--request GET 'https://api.sandbox.settle.eu/merchant/v1/merchant/5rg1dkk8/balance/' \
--header 'X-Settle-Merchant: 5rg1dkk8' \
--header 'Authorization: SECRET 2Z49_HoqEdPu0VqGn6vy2679+tYOT0Fl'
```
</code-block>

<code-block title="Python">
```python
import http.client
conn = http.client.HTTPSConnection("api.sandbox.settle.eu")
payload = ''
headers = {
'X-Settle-Merchant': '5rg1dkk8',
'Authorization': 'SECRET 2Z49_HoqEdPu0VqGn6vy2679+tYOT0Fl'
}
conn.request("GET", "/merchant/v1/merchant/5rg1dkk8/balance/", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
</code-block>
</code-group>
:::
Loading