Introduction Last updated: 2022-01-09
Section intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque finibus condimentum nisl id vulputate. Praesent aliquet varius eros interdum suscipit. Donec eu purus sed nibh convallis bibendum quis vitae turpis. Duis vestibulum diam lorem, vitae dapibus nibh facilisis a. Fusce in malesuada odio.
Github Code Example:
You can embed your code snippets using Github gists
Highlight.js Example:
You can embed your code snippets using highlight.js It supports 185 languages and 89 styles.
This template uses Atom One Dark style for the code blocks: <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.2/styles/atom-one-dark.min.css">
[
{
"title": "apples",
"count": [12000, 20000],
"description": {"text": "...", "sensitive": false}
},
{
"title": "oranges",
"count": [17500, null],
"description": {"text": "...", "sensitive": false}
}
]
Requirements
Vivamus efficitur fringilla ullamcorper. Cras condimentum condimentum mauris, vitae facilisis leo. Aliquam sagittis purus nisi, at commodo augue convallis id.
Code Example: npm install <package>
Unordered List Examples:
- HTML5:
<div id="foo">
- CSS:
#foo { color: red }
- JavaScript:
console.log('#foo\bar');
Ordered List Examples:
- Download lorem ipsum dolor sit amet.
- Click ipsum faucibus venenatis.
- Configure fermentum malesuada nunc.
- Deploy donec non ante libero.
Callout Examples:
Note
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium <code>
, Nemo enim ipsam voluptatem quia voluptas link example sit aspernatur aut odit aut fugit.
Warning
Nunc hendrerit odio quis dignissim efficitur. Proin ut finibus libero. Morbi posuere fringilla felis eget sagittis. Fusce sem orci, cursus in tortor link example tellus vel diam viverra elementum.
Tip
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Link example aenean commodo ligula eget dolor.
Danger
Morbi eget interdum sapien. Donec sed turpis sed nulla lacinia accumsan vitae ut tellus. Aenean vestibulum Link example maximus ipsum vel dignissim. Morbi ornare elit sit amet massa feugiat, viverra dictum ipsum pellentesque.
Alert Examples:
Request/Response Format
Vivamus efficitur fringilla ullamcorper. Cras condimentum condimentum mauris, vitae facilisis leo. Aliquam sagittis purus nisi, at commodo augue convallis id. Sed interdum turpis quis felis bibendum imperdiet. Mauris pellentesque urna eu leo gravida iaculis. In fringilla odio in felis ultricies porttitor. Donec at purus libero. Vestibulum libero orci, commodo nec arcu sit amet, commodo sollicitudin est. Vestibulum ultricies malesuada tempor.
Lightbox Example:
The example below uses the simplelightbox plugin.
Custom Table:
Option 1 | Option 1 desc lorem ipsum dolor sit amet, consectetur adipiscing elit. |
---|---|
Option 2 | Option 2 desc lorem ipsum dolor sit amet, consectetur adipiscing elit. |
Option 3 | Option 3 desc lorem ipsum dolor sit amet, consectetur adipiscing elit. |
Option 4 | Option 4 desc lorem ipsum dolor sit amet, consectetur adipiscing elit. |
Stripped Table:
# | First | Last | Handle |
---|---|---|---|
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry | the Bird |
Bordered Dark Table:
# | First | Last | Handle |
---|---|---|---|
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry | the Bird |
Errors
Vivamus efficitur fringilla ullamcorper. Cras condimentum condimentum mauris, vitae facilisis leo. Aliquam sagittis purus nisi, at commodo augue convallis id. Sed interdum turpis quis felis bibendum imperdiet. Mauris pellentesque urna eu leo gravida iaculis. In fringilla odio in felis ultricies porttitor. Donec at purus libero. Vestibulum libero orci, commodo nec arcu sit amet, commodo sollicitudin est. Vestibulum ultricies malesuada tempor.
Badges Examples:
Button Examples:
Progress Examples:
Parameters
Vivamus efficitur fringilla ullamcorper. Cras condimentum condimentum mauris, vitae facilisis leo. Aliquam sagittis purus nisi, at commodo augue convallis id. Sed interdum turpis quis felis bibendum imperdiet. Mauris pellentesque urna eu leo gravida iaculis. In fringilla odio in felis ultricies porttitor. Donec at purus libero. Vestibulum libero orci, commodo nec arcu sit amet, commodo sollicitudin est. Vestibulum ultricies malesuada tempor.
Pagination Example:
Vivamus efficitur fringilla ullamcorper. Cras condimentum condimentum mauris, vitae facilisis leo. Aliquam sagittis purus nisi, at commodo augue convallis id. Sed interdum turpis quis felis bibendum imperdiet. Mauris pellentesque urna eu leo gravida iaculis. In fringilla odio in felis ultricies porttitor. Donec at purus libero. Vestibulum libero orci, commodo nec arcu sit amet, commodo sollicitudin est. Vestibulum ultricies malesuada tempor.
Authentication
FoodEasy using API-keys for authentication. You can get the API key from FoodEasy Support. If you need new keys or regenerate your keys, please contact FoodEasy Support and they will help you.
The API-keys is free to get and free to use.
Required API-tokens are client-secret and key-token. These keys have to be inside the header of the request. See the examples below.
PHP / CURL
<?php
$curl = curl_init('https://api.foodeasy.se/v1/<merchantNumber>/<endPoint>/');
$options = array(
'Key-Token: <Key-Token>',
'Client-Secret: <Client-Secret>',
'Accept: application/json',
'Content-Type: application/json',
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $options);
$curlResponse = curl_exec($curl);
curl_close($curl);
var client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.Add("Key-Token", "<Key-Token>");
client.DefaultRequestHeaders.Add("Client-Secret", "<Client-Secret>");
var json = await client.GetStringAsync(url);
Retrieve all data
It is possible to get all data from all endpoints at one request. For get all data send a GET request to root of your API address.
PHP / CURL request
<?php
$curl = curl_init('https://api.foodeasy.se/v1/<merchantNumber>/');
$options = array(
'Key-Token: <Key-Token>',
'Client-Secret: <Client-Secret>',
'Accept: application/json',
'Content-Type: application/json',
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $options);
$curlResponse = curl_exec($curl);
curl_close($curl);
{
"Meals":{
"OptionalSides":[
{
"ID":"1",
"Name":"Med glutenfritt br\u00f6d",
"OptionalGroups":[
{
"GroupID":"1"
}
]
},
...
],
"OptionalGroups":[
{
"ID":"1",
"Name":"Med glutenfritt br\u00f6d",
"Required":"0",
"OptionalType":"checkbox",
"Optionals":[
{
"ID":"1",
"Name":"Glutenfritt Br\u00f6d",
"Checked":"0",
"Price":"0"
}
]
},
{
"ID":"2",
"Name":"Extra ingredienser",
"Required":"0",
"OptionalType":"checkbox",
"Optionals":[
{
"ID":"2",
"Name":"Mozzarella",
"Checked":"0",
"Price":"10"
},
...
]
},
...
],
"CategoryList":[
{
"ID":"38",
"Name":"Barnr\u00e4tter",
"Description":"",
"SortOrder":"1",
"ProductDataList":[
{
"ID":"1128",
"Name":"Kycklingfil\u00e9",
"Description":"Med pommes frites och bearnaises\u00e5s",
"MenuOrder":"1",
"RegularPrice":"59",
"Spicy":null,
"Banner":null,
"SalesDateFrom":null,
"SalesDateTo":"1598565600",
"SalePrice":"40",
"Visibility":null,
"TaxClass":"",
"ImageSource":null,
"Taxes":{
"RegularPrice":6.32,
"SalePrice":4.29
},
"optionalSides":[
{
"SideID":"70"
},
...
],
"ingredients":{
"ingredientsString":" Med pommes frites, Bearnaises\u00e5s",
"ingredientsArray":[
{
"Name":"Bearnaises\u00e5s",
"GroupID":"74"
},
...
]
}
},
...
]
},
...
]
},
"Merchant":{
"GoogleRate":"4.3",
"MerchantDetails":{
"CompanyName":"Alexander Engvall",
"PointOfSales":"FoodEasy Merchant",
"OrgNumber":"930525-2414"
},
"ContactDetails":{
"PhoneNumber":"0104055055",
"Email":"support@foodeasy.se",
"Address":{
"Street":"Centralgatan 1",
"PostalCode":"00000",
"City":"Staden"
}
},
"OpeningHours":[
{
"DeliveryMethod":"InEat",
"OpenNow":false,
"Days":[
[
{
"WeekDay":"1",
"OpenTime":"10:00:00",
"CloseTime":"10:00:00"
},
...
]
]
},
{
"DeliveryMethod":"Delivery",
"OpenNow":false,
"Days":[
[
{
"WeekDay":"1",
"OpenTime":"10:00:00",
"CloseTime":"10:00:00"
},
...
]
]
},
{
"DeliveryMethod":"TakeAway",
"OpenNow":false,
"Days":[
[
{
"WeekDay":"1",
"OpenTime":"11:00:00",
"CloseTime":"23:00:00"
},
...
]
]
}
]
},
"Orders":[
{
"ID":"1236",
"status":"completed",
"postDate":"2021-09-04 03:19:34.000000",
"updatedDate":"2021-09-04 03:20:51.000000",
"orderTotal":"66.08",
"orderTax":"7.08",
"foodeasyHow":"takeAway",
"foodeasyWhen":"0",
"shipCost":"0",
"consumer":{
"firstName":"Ronny",
"lastName":"Carlsson",
"street":"Plogenv\u00e4gen 8",
"postcode":"81491",
"city":"Furuvik",
"mobile":"+46766777678",
"email":"ronny.carlsson@gmail.com",
"foodeasyDuration":"0",
"foodeasyDistance":"0"
},
"lineItems":[
{
"productID":1128,
"name":"Kycklingfil\u00e9",
"quantity":1,
"price":{
"subTotal":59,
"subTotalTax":7.08,
"total":59,
"totalTax":7.08
},
"optionalGroup":null
}
],
"localNetsPayment":{
"paymentID":"017100006132c9a7ed955554dcefec64",
"paymentCreated":"2021-09-04T03:19:42.9921+02:00",
"paymentCompleted":"2021-09-04T03:19:50.6220+02:00",
"paymentMethod":"Visa",
"paymentType":"CARD",
"reservationReference":"173637",
"reservationID":"ebd699a9a0104650a2cc6f53802574c0",
"chargeID":null,
"cardDetails":{
"debitIndicator":"D",
"expiryMonth":"1",
"expiryYear":"23",
"issuerCountry":"NO",
"truncatedPan":"492500******0004"
},
"logg":{
"createPayment":{
"request":null,
"response":null
},
"chargePayment":{
"request":{
"amount":6608,
"orderItems":[
{
"reference":1128,
"name":"Kycklingfilu00e9",
"quantity":1,
"unit":"st",
"unitPrice":"6608",
"taxRate":0,
"taxAmount":0,
"grossTotalAmount":6608,
"netTotalAmount":6608
}
]
},
"response":{
"message":"Cannot overcharge payment. Reserved amount: 1000. Previously charged amount: 0. Tried to charge: 6608.",
"code":"1001",
"source":"Internal"
}
},
"cancelPayment":{
"request":null,
"response":null
},
"hooks":{
"CreatePayment":{
"id":"ab4d6b1b9472428ea331efd0b91fab4a",
"merchantId":100023975,
"timestamp":"2021-09-04T03:19:42.9921+02:00",
"event":"payment.created",
"data":{
"order":{
"amount":{
"amount":1000,
"currency":"SEK"
},
"reference":"1236",
"orderItems":[
{
"grossTotalAmount":1000,
"name":"Test name",
"netTotalAmount":1000,
"quantity":1,
"reference":"1",
"taxRate":0,
"taxAmount":0,
"unit":"st",
"unitPrice":1000
}
]
},
"paymentId":"017100006132c9a7ed955554dcefec64"
}
},
"CheckoutCompleted":{
"id":"ab58f26585454beda0ce477c72d9f401",
"merchantId":100023975,
"timestamp":"2021-09-04T03:19:50.6220+02:00",
"event":"payment.checkout.completed",
"data":{
"order":{
"amount":{
"amount":1000,
"currency":"SEK"
},
"reference":"1236",
"orderItems":[
{
"grossTotalAmount":1000,
"name":"Test name",
"netTotalAmount":1000,
"quantity":1,
"reference":"1",
"taxRate":0,
"taxAmount":0,
"unit":"st",
"unitPrice":1000
}
]
},
"consumer":{
"firstName":"Ronny",
"lastName":"Carlsson",
"billingAddress":{
"addressLine1":"Plogenv\u00e4gen 8",
"addressLine2":"",
"city":"Furuvik",
"country":"SWE",
"postcode":"81491",
"receiverLine":"Ronny Carlsson"
},
"country":"SWE",
"email":"ronny.carlsson@gmail.com",
"ip":"198.143.54.12",
"phoneNumber":{
"prefix":"+46",
"number":"766777678"
},
"shippingAddress":{
"addressLine1":"Plogenv\u00e4gen 8",
"addressLine2":"",
"city":"Furuvik",
"country":"SWE",
"postcode":"81491",
"receiverLine":"Ronny Carlsson"
}
},
"paymentId":"017100006132c9a7ed955554dcefec64"
}
},
"ReservationCreated":{
"id":"ebd699a9a0104650a2cc6f53802574c0",
"merchantId":100023975,
"timestamp":"2021-09-04T03:19:50.6220+02:00",
"event":"payment.reservation.created",
"data":{
"cardDetails":{
"creditDebitIndicator":"D",
"expiryMonth":1,
"expiryYear":23,
"issuerCountry":"NO",
"truncatedPan":"492500******0004",
"threeDSecure":{
"acsUrl":"https:\/\/3ds-acs.test.modirum.com\/mdpayacs\/creq",
"authenticationEnrollmentStatus":"Y",
"authenticationStatus":"Y",
"eci":"05"
}
},
"paymentMethod":"Visa",
"paymentType":"CARD",
"consumer":{
"firstName":"Ronny",
"lastName":"Carlsson",
"billingAddress":{
"addressLine1":"Plogenv\u00e4gen 8",
"addressLine2":"",
"city":"Furuvik",
"country":"SWE",
"postcode":"81491",
"receiverLine":"Ronny Carlsson"
},
"country":"SWE",
"email":"ronny.carlsson@gmail.com",
"ip":"198.143.54.12",
"phoneNumber":{
"prefix":"+46",
"number":"766777678"
},
"shippingAddress":{
"addressLine1":"Plogenv\u00e4gen 8",
"addressLine2":"",
"city":"Furuvik",
"country":"SWE",
"postcode":"81491",
"receiverLine":"Ronny Carlsson"
}
},
"reservationReference":"173637",
"reserveId":"ebd699a9a0104650a2cc6f53802574c0",
"amount":{
"amount":1000,
"currency":"SEK"
},
"paymentId":"017100006132c9a7ed955554dcefec64"
}
},
"ChargeCreated":null
}
}
},
"deliveryTime":"2021-09-04 03:55:28"
},
...
],
"Settings":{
"ID":1031,
"App":{
"StartImage":null,
"ColorHex":null
},
"Facebook":{
"ClientID":null,
"ClientSecret":null
},
"Google":{
"AnalyticsUAID":"[CENSURED]",
"PlaceID":"ChIJaXJtWgLHYEYR0BaVeM1I2sk",
"ClientID":"[CENSURED]",
"ClientSecret":"[CENSURED]"
},
"Nets":{
"MerchantNumber":[CENSURED],
"LiveSecretKey":"live-secret-key-[CENSURED]",
"LiveCheckoutKey":"live-checkout-key-[CENSURED]",
"TestSecretKey":"test-secret-key-[CENSURED]",
"TestCheckoutKey":"test-checkout-key-[CENSURED]",
"InvoiceFee":19,
"PaymentMethods":{
"Card":"on",
"Invoice":"on",
"Swish":"on"
}
},
"Status":{
"LastConnected":"2021-09-05 00:37:26",
"TestMode":"yes",
"MerchantAppConnections":[
[
{
"ClientID":"22",
"IP":"[CENSURED]",
"DateTime":"2021-09-05 00:37:26"
},
{
"ClientID":null,
"IP":"[CENSURED]",
"DateTime":"2021-09-05 00:37:00"
},
...
]
]
},
"Web":{
"SiteURL":"https:\/\/dev-wp-alex.foodeasy.se",
"MealDishURL":"https:\/\/dev-wp-alex.foodeasy.se\/var-meny",
"AgreementURL":"https:\/\/dev-wp-alex.foodeasy.se\/villkor"
}
}
}