Skillnad mellan versioner av "Surface"
Från Vendre Help
m (Skapade sidan med 'Finance ministers in Copenhagen have agreed to increase the size of the eurozone's rescue funds. Eurozone countries agreed to boost the joint lending power of the "firewall" fro...') |
(→POST: extended-product-data-field) |
||
| (22 mellanliggande versioner av 2 användare visas inte) | |||
| Rad 1: | Rad 1: | ||
| − | + | =Surface API= | |
| + | Our StoreFront API to fetch data through Vue or other comparable frameworks.<br /> | ||
| + | Basepath for all calls, '''/surface/1/''', using version 1.<br /> | ||
| + | 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 | ||
| + | <br> | ||
| + | ===POST: request-for-quotation=== | ||
| + | hämtar kundid och språk från sessionen | ||
| + | <br> | ||
| + | ===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 | ||
| + | ===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