Skillnad mellan versioner av "Surface"
Från Vendre Help
(→How to use) |
(→POST: extended-product-data-field) |
||
| (5 mellanliggande versioner av 2 användare visas inte) | |||
| Rad 25: | Rad 25: | ||
==Available Surface Calls== | ==Available Surface Calls== | ||
| + | All calls to appforsales/history and appforsales/realtime are cached for a short time. | ||
| + | |||
===POST: appforsales/history/orders=== | ===POST: appforsales/history/orders=== | ||
rows | rows | ||
| Rad 37: | Rad 39: | ||
===POST: appforsales/history/invoice=== | ===POST: appforsales/history/invoice=== | ||
| + | invoice_number | ||
| + | |||
| + | ===POST: appforsales/realtime/orders=== | ||
| + | |||
| + | ===POST: appforsales/realtime/order=== | ||
| + | order_number | ||
| + | |||
| + | ===POST: appforsales/realtime/invoices=== | ||
| + | |||
| + | ===POST: appforsales/realtime/invoice=== | ||
invoice_number | invoice_number | ||
| Rad 58: | Rad 70: | ||
===POST: extended-product-data-field=== | ===POST: extended-product-data-field=== | ||
BODY: { "product_id": 5555, "fields": [{ "id": 4553, "languages": [4,5,8] }, { "id": 1234 }] } | BODY: { "product_id": 5555, "fields": [{ "id": 4553, "languages": [4,5,8] }, { "id": 1234 }] } | ||
| + | |||
| + | Examples, (With array and languages) | ||
| + | // Send multiple fields with language specification | ||
| + | fetch('/surface/1/extended-product-data-field', { | ||
| + | method: 'POST', | ||
| + | headers: { | ||
| + | 'Content-Type': 'application/json' | ||
| + | }, | ||
| + | body: JSON.stringify({ | ||
| + | fields: [ | ||
| + | { | ||
| + | id: 1, | ||
| + | languages: [1, 2, 3] // Specific languages id | ||
| + | }, | ||
| + | { | ||
| + | id: 5, | ||
| + | languages: [1, 2] | ||
| + | } | ||
| + | ], | ||
| + | product_id: 123 | ||
| + | }) | ||
| + | }) | ||
| + | .then(response => response.json()) | ||
| + | .then(data => console.log(data)); | ||
| + | |||
| + | Response | ||
| + | { | ||
| + | "123": { | ||
| + | "1": { | ||
| + | "1": "Value on language 1", | ||
| + | "2": "Value on language 2", | ||
| + | "3": "Value on language 3" | ||
| + | }, | ||
| + | "5": { | ||
| + | "1": "Value on language 1", | ||
| + | "2": "Value on language 2" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | Examples, (With list and preset language) | ||
| + | // Send comma-separated field IDs as string | ||
| + | fetch('/surface/1/extended-product-data-field', { | ||
| + | method: 'POST', | ||
| + | headers: { | ||
| + | 'Content-Type': 'application/json' | ||
| + | }, | ||
| + | body: JSON.stringify({ | ||
| + | fields: "1,5,10", // Comma separated string | ||
| + | product_id: 123 | ||
| + | }) | ||
| + | }) | ||
| + | .then(response => response.json()) | ||
| + | .then(data => console.log(data)); | ||
| + | |||
| + | Response | ||
| + | { | ||
| + | "123": { | ||
| + | "1": "Value", | ||
| + | "5": "Another value", | ||
| + | "10": "Third value" | ||
| + | } | ||
| + | } | ||
===POST: login-link=== | ===POST: login-link=== | ||
| Rad 108: | Rad 183: | ||
===POST: vql=== | ===POST: vql=== | ||
Separat dokumentation för Vendre Query Language | Separat dokumentation för Vendre Query Language | ||
| + | https://support.vendre.io/i/for-utvecklare-868/vql-10-vendre-query-language.html | ||
===POST: voucher/value=== | ===POST: voucher/value=== | ||
voucher | voucher | ||
Hämtar currency från sessionen | Hämtar currency från sessionen | ||
| + | ===GET: briqpay/signup/b2b=== | ||
| + | ===GET: briqpay/signup/b2c=== | ||
| + | ===POST: briqpay/pay=== | ||
| + | ===POST: briqpay/pay/validate=== | ||
| + | ===POST: briqpay/approve=== | ||
| + | ===POST: briqpay/reject/hard=== | ||
| + | ===POST: briqpay/reject/soft=== | ||
Nuvarande version från 19 december 2025 kl. 13.23
Innehåll
- 1 Surface API
- 1.1 How to use
- 1.2 NOTE
- 1.3 Available Surface Calls
- 1.3.1 POST: appforsales/history/orders
- 1.3.2 POST: appforsales/history/order
- 1.3.3 POST: appforsales/history/invoices
- 1.3.4 POST: appforsales/history/invoice
- 1.3.5 POST: appforsales/realtime/orders
- 1.3.6 POST: appforsales/realtime/order
- 1.3.7 POST: appforsales/realtime/invoices
- 1.3.8 POST: appforsales/realtime/invoice
- 1.3.9 GET: bankid/status
- 1.3.10 GET: bankid/qr-token
- 1.3.11 POST: bankid/login
- 1.3.12 POST: custom-reports/report-request
- 1.3.13 GET: custom-reports/report
- 1.3.14 POST: extended-product-data-field
- 1.3.15 POST: login-link
- 1.3.16 GET: product-list
- 1.3.17 POST: product-list/shared-cart
- 1.3.18 GET: products/associated
- 1.3.19 GET: products/price-log-prices
- 1.3.20 GET: products/stock
- 1.3.21 GET: products/configuration-price
- 1.3.22 POST: request-for-quotation
- 1.3.23 POST: request-password-change
- 1.3.24 POST: reservations
- 1.3.25 GET: shopping-cart
- 1.3.26 DELETE: shopping-cart
- 1.3.27 GET: shopping-cart/products
- 1.3.28 POST: shopping-cart/products
- 1.3.29 GET: tweakwise/featured-products
- 1.3.30 POST: vql
- 1.3.31 POST: voucher/value
- 1.3.32 GET: briqpay/signup/b2b
- 1.3.33 GET: briqpay/signup/b2c
- 1.3.34 POST: briqpay/pay
- 1.3.35 POST: briqpay/pay/validate
- 1.3.36 POST: briqpay/approve
- 1.3.37 POST: briqpay/reject/hard
- 1.3.38 POST: briqpay/reject/soft
Surface API
Our StoreFront API to fetch data through Vue or other comparable frameworks.
Basepath for all calls, /surface/1/, using version 1.
eg. /surface/1/request-password-change
How to use
$.post(
"/surface/1/appforsales/history/invoice",
{ invoice_number : '000192' },
function(data) {
console.log(data);
}
);
$.post(
"/surface/1/extended-product-data-field",
{ "product_id": 3879, "fields": [{ "id": 11 }] },
function(data) {
console.log(data);
}
);
NOTE
You need an active session to use the Surface-call, otherwise you will get a 401-response. (If you're using Postman or Insomnia). So work on it from the browser.
Available Surface Calls
All calls to appforsales/history and appforsales/realtime are cached for a short time.
POST: appforsales/history/orders
rows offset
POST: appforsales/history/order
order_number
POST: appforsales/history/invoices
rows offset
POST: appforsales/history/invoice
invoice_number
POST: appforsales/realtime/orders
POST: appforsales/realtime/order
order_number
POST: appforsales/realtime/invoices
POST: appforsales/realtime/invoice
invoice_number
GET: bankid/status
status från bankid-sessionen
GET: bankid/qr-token
qr från bankid-sessionen
POST: bankid/login
utgår från bankid som används
POST: custom-reports/report-request
unique_key email format filters Hämtar användaruppgifter från sessionen
GET: custom-reports/report
- Bör ändras till GET-variabler
unique_key format fiilters
POST: extended-product-data-field
BODY: { "product_id": 5555, "fields": [{ "id": 4553, "languages": [4,5,8] }, { "id": 1234 }] }
Examples, (With array and languages)
// Send multiple fields with language specification
fetch('/surface/1/extended-product-data-field', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
fields: [
{
id: 1,
languages: [1, 2, 3] // Specific languages id
},
{
id: 5,
languages: [1, 2]
}
],
product_id: 123
})
})
.then(response => response.json())
.then(data => console.log(data));
Response
{
"123": {
"1": {
"1": "Value on language 1",
"2": "Value on language 2",
"3": "Value on language 3"
},
"5": {
"1": "Value on language 1",
"2": "Value on language 2"
}
}
}
Examples, (With list and preset language)
// Send comma-separated field IDs as string
fetch('/surface/1/extended-product-data-field', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
fields: "1,5,10", // Comma separated string
product_id: 123
})
})
.then(response => response.json())
.then(data => console.log(data));
Response
{
"123": {
"1": "Value",
"5": "Another value",
"10": "Third value"
}
}
POST: login-link
email Hämtar marknad och språk från sessionen
GET: product-list
hash_id
POST: product-list/shared-cart
hämtar varukorgen från sessionen
GET: products/associated
order_by product_id replace_variants type_id
GET: products/price-log-prices
id
GET: products/stock
id
GET: products/configuration-price
product_id configuration quantity
POST: request-for-quotation
hämtar kundid och språk från sessionen
POST: request-password-change
email id hämtar marknad och språk från sessionen
POST: reservations
name email phone Products partner_id data Hämtar kundid från sessionen Postar allt man skickar in
GET: shopping-cart
Hämtar varukorgen från sessionen
DELETE: shopping-cart
Tömmer varukorgen för sessionen
GET: shopping-cart/products
Hämtar varukorgen från sessionen
POST: shopping-cart/products
products
GET: tweakwise/featured-products
display_id
POST: vql
Separat dokumentation för Vendre Query Language https://support.vendre.io/i/for-utvecklare-868/vql-10-vendre-query-language.html
POST: voucher/value
voucher Hämtar currency från sessionen