Introduction
This documentation aims to provide all the information you need to work with our API.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
Authenticating requests
This API is not authenticated.
Address
Get list of address by customer
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/addresses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/addresses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create new address for customer
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/addresses" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"[email protected]\",
\"phone\": \"0123456789\",
\"country\": \"United States or US\",
\"state\": \"California\",
\"city\": \"Los Angeles\",
\"address\": \"123 Main St\",
\"is_default\": true,
\"zip_code\": \"90001\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/addresses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "[email protected]",
"phone": "0123456789",
"country": "United States or US",
"state": "California",
"city": "Los Angeles",
"address": "123 Main St",
"is_default": true,
"zip_code": "90001"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": {
"id": 1,
"name": "John Doe",
"phone": "0123456789",
"email": "[email protected]",
"country": "United States",
"state": "California",
"city": "Los Angeles",
"address": "123 Main St",
"zip_code": "90001",
"is_default": true
},
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an address
requires authentication
Example request:
curl --request PUT \
"https://nest.botble.com/api/v1/ecommerce/addresses/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"[email protected]\",
\"phone\": \"0123456789\",
\"country\": \"United States or US\",
\"state\": \"California\",
\"city\": \"Los Angeles\",
\"address\": \"123 Main St\",
\"is_default\": true,
\"zip_code\": \"90001\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/addresses/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "[email protected]",
"phone": "0123456789",
"country": "United States or US",
"state": "California",
"city": "Los Angeles",
"address": "123 Main St",
"is_default": true,
"zip_code": "90001"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": {
"id": 1,
"name": "John Doe",
"phone": "0123456789",
"email": "[email protected]",
"country": "United States",
"state": "California",
"city": "Los Angeles",
"address": "123 Main St",
"zip_code": "90001",
"is_default": true
},
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete an address
requires authentication
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/ecommerce/addresses/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/addresses/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": null,
"message": "Address deleted successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get list of available countries
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/countries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/countries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": [
{
"name": "Vietnam",
"code": "VN"
}
],
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Ads
Get ads
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ads?keys[]=homepage-banner&keys[]=sidebar-banner" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"keys\": [
\"homepage-banner\",
\"sidebar-banner\"
]
}"
const url = new URL(
"https://nest.botble.com/api/v1/ads"
);
const params = {
"keys[0]": "homepage-banner",
"keys[1]": "sidebar-banner",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"keys": [
"homepage-banner",
"sidebar-banner"
]
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": false,
"data": [],
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authentication
Register
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Smith\",
\"name\": \"architecto\",
\"email\": \"[email protected]\",
\"password\": \"|]|{+-\",
\"phone\": \"architecto\",
\"password_confirmation\": \"architecto\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Smith",
"name": "architecto",
"email": "[email protected]",
"password": "|]|{+-",
"phone": "architecto",
"password_confirmation": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": null,
"message": "Registered successfully! We emailed you to verify your account!"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"email": [
"The email field is required."
],
"password": [
"The password field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"|]|{+-\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]",
"password": "|]|{+-"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": {
"token": "1|aF5s7p3xxx1lVL8hkSrPN72m4wPVpTvTs..."
},
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check email existing or not
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/email/check" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/email/check"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": {
"exists": true
},
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Forgot password
Send a reset link to the given user.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/password/forgot" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/password/forgot"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resend email verification
Resend the email verification notification.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/resend-verify-account-email" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/resend-verify-account-email"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/logout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Blog
Search post
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"architecto\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "architecto"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "No results found, please try with different keywords."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List posts
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/posts" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/posts"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"name": "4 Expert Tips On How To Choose The Right Men’s Wallet",
"slug": "4-expert-tips-on-how-to-choose-the-right-mens-wallet",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/1.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 2,
"name": "Sexy Clutches: How to Buy & Wear a Designer Clutch Bag",
"slug": "sexy-clutches-how-to-buy-wear-a-designer-clutch-bag",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/2.png",
"categories": [
{
"id": 2,
"name": "Fashion",
"slug": "fashion",
"url": "https://nest.botble.com/blog/fashion",
"description": "Qui autem amet et rerum. Ullam voluptas consequuntur corporis quod molestiae placeat sunt a. Minus quia est animi ut eum ullam molestias officiis."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 3,
"name": "The Top 2020 Handbag Trends to Know",
"slug": "the-top-2020-handbag-trends-to-know",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/3.png",
"categories": [
{
"id": 2,
"name": "Fashion",
"slug": "fashion",
"url": "https://nest.botble.com/blog/fashion",
"description": "Qui autem amet et rerum. Ullam voluptas consequuntur corporis quod molestiae placeat sunt a. Minus quia est animi ut eum ullam molestias officiis."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 4,
"name": "How to Match the Color of Your Handbag With an Outfit",
"slug": "how-to-match-the-color-of-your-handbag-with-an-outfit",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/4.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 4,
"name": "Commercial",
"slug": "commercial",
"url": "https://nest.botble.com/blog/commercial",
"description": "Ipsa sit commodi iste sunt. Accusantium minima rerum vel et eum nostrum. Iure aut expedita perspiciatis voluptas. Et omnis autem a sit qui sunt qui."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 5,
"name": "How to Care for Leather Bags",
"slug": "how-to-care-for-leather-bags",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/5.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 6,
"name": "We're Crushing Hard on Summer's 10 Biggest Bag Trends",
"slug": "were-crushing-hard-on-summers-10-biggest-bag-trends",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/6.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 4,
"name": "Commercial",
"slug": "commercial",
"url": "https://nest.botble.com/blog/commercial",
"description": "Ipsa sit commodi iste sunt. Accusantium minima rerum vel et eum nostrum. Iure aut expedita perspiciatis voluptas. Et omnis autem a sit qui sunt qui."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 7,
"name": "Essential Qualities of Highly Successful Music",
"slug": "essential-qualities-of-highly-successful-music",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/7.png",
"categories": [
{
"id": 2,
"name": "Fashion",
"slug": "fashion",
"url": "https://nest.botble.com/blog/fashion",
"description": "Qui autem amet et rerum. Ullam voluptas consequuntur corporis quod molestiae placeat sunt a. Minus quia est animi ut eum ullam molestias officiis."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 8,
"name": "9 Things I Love About Shaving My Head",
"slug": "9-things-i-love-about-shaving-my-head",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/8.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 9,
"name": "Why Teamwork Really Makes The Dream Work",
"slug": "why-teamwork-really-makes-the-dream-work",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/9.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 4,
"name": "Commercial",
"slug": "commercial",
"url": "https://nest.botble.com/blog/commercial",
"description": "Ipsa sit commodi iste sunt. Accusantium minima rerum vel et eum nostrum. Iure aut expedita perspiciatis voluptas. Et omnis autem a sit qui sunt qui."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 10,
"name": "The World Caters to Average People",
"slug": "the-world-caters-to-average-people",
"description": "You should pay more attention when you choose your wallets. There are a lot of them on the market with the different designs and styles. When you choose carefully, you would be able to buy a wallet that is catered to your needs. Not to mention that it will help to enhance your style significantly.",
"image": "https://nest.botble.com/storage/news/10.png",
"categories": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
}
],
"tags": [
{
"id": 1,
"name": "General",
"slug": "general",
"description": null
},
{
"id": 2,
"name": "Design",
"slug": "design",
"description": null
},
{
"id": 3,
"name": "Fashion",
"slug": "fashion",
"description": null
},
{
"id": 4,
"name": "Branding",
"slug": "branding",
"description": null
},
{
"id": 5,
"name": "Modern",
"slug": "modern",
"description": null
}
],
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
}
],
"links": {
"first": "https://nest.botble.com/api/v1/posts?page=1",
"last": "https://nest.botble.com/api/v1/posts?page=2",
"prev": null,
"next": "https://nest.botble.com/api/v1/posts?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/posts?page=1",
"label": "1",
"active": true
},
{
"url": "https://nest.botble.com/api/v1/posts?page=2",
"label": "2",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/posts?page=2",
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/posts",
"per_page": 10,
"to": 10,
"total": 11
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List categories
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/categories" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/categories"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum.",
"children": [],
"parent": {
"id": null,
"name": null,
"slug": "",
"url": "https://nest.botble.com",
"description": null
}
},
{
"id": 2,
"name": "Fashion",
"slug": "fashion",
"description": "Qui autem amet et rerum. Ullam voluptas consequuntur corporis quod molestiae placeat sunt a. Minus quia est animi ut eum ullam molestias officiis.",
"children": [],
"parent": {
"id": null,
"name": null,
"slug": "",
"url": "https://nest.botble.com",
"description": null
}
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae.",
"children": [],
"parent": {
"id": null,
"name": null,
"slug": "",
"url": "https://nest.botble.com",
"description": null
}
},
{
"id": 4,
"name": "Commercial",
"slug": "commercial",
"description": "Ipsa sit commodi iste sunt. Accusantium minima rerum vel et eum nostrum. Iure aut expedita perspiciatis voluptas. Et omnis autem a sit qui sunt qui.",
"children": [],
"parent": {
"id": null,
"name": null,
"slug": "",
"url": "https://nest.botble.com",
"description": null
}
}
],
"links": {
"first": "https://nest.botble.com/api/v1/categories?page=1",
"last": "https://nest.botble.com/api/v1/categories?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/categories?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/categories",
"per_page": 10,
"to": 4,
"total": 4
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List tags
Filters posts
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/posts/filters?page=16&per_page=16&search=architecto&after=architecto&author=architecto&author_exclude=architecto&before=architecto&exclude=architecto&include=architecto&order=architecto&order_by=architecto&categories=architecto&categories_exclude=architecto&tags=architecto&tags_exclude=architecto&featured=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/posts/filters"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"after": "architecto",
"author": "architecto",
"author_exclude": "architecto",
"before": "architecto",
"exclude": "architecto",
"include": "architecto",
"order": "architecto",
"order_by": "architecto",
"categories": "architecto",
"categories_exclude": "architecto",
"tags": "architecto",
"tags_exclude": "architecto",
"featured": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://nest.botble.com/api/v1/posts/filters?page=1",
"last": "https://nest.botble.com/api/v1/posts/filters?page=1",
"prev": "https://nest.botble.com/api/v1/posts/filters?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://nest.botble.com/api/v1/posts/filters?page=15",
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/posts/filters?page=1",
"label": "1",
"active": false
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/posts/filters",
"per_page": 16,
"to": null,
"total": 0
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get post by slug
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/posts/architecto?slug=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/posts/architecto"
);
const params = {
"slug": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Filters categories
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/categories/filters" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/categories/filters"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 2,
"name": "Fashion",
"slug": "fashion",
"url": "https://nest.botble.com/blog/fashion",
"description": "Qui autem amet et rerum. Ullam voluptas consequuntur corporis quod molestiae placeat sunt a. Minus quia est animi ut eum ullam molestias officiis."
},
{
"id": 3,
"name": "Electronic",
"slug": "electronic",
"url": "https://nest.botble.com/blog/electronic",
"description": "Quis pariatur ipsa non ipsa dolorem voluptatem. Aut sunt dicta maiores debitis et. Est ad modi autem alias sint vitae."
},
{
"id": 1,
"name": "Ecommerce",
"slug": "ecommerce",
"url": "https://nest.botble.com/blog/ecommerce",
"description": "Aut eveniet dolorem nulla non minima sit autem rerum. Nam eveniet qui molestiae voluptas. Aut omnis et sunt accusantium debitis accusamus laborum."
},
{
"id": 4,
"name": "Commercial",
"slug": "commercial",
"url": "https://nest.botble.com/blog/commercial",
"description": "Ipsa sit commodi iste sunt. Accusantium minima rerum vel et eum nostrum. Iure aut expedita perspiciatis voluptas. Et omnis autem a sit qui sunt qui."
}
],
"links": {
"first": "https://nest.botble.com/api/v1/categories/filters?page=1",
"last": "https://nest.botble.com/api/v1/categories/filters?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/categories/filters?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/categories/filters",
"per_page": 10,
"to": 4,
"total": 4
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get category by slug
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/categories/architecto?slug=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/categories/architecto"
);
const params = {
"slug": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Brands
Get list of brands
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/brands?brands=" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_featured\": false
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/brands"
);
const params = {
"brands": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_featured": false
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://nest.botble.com/api/v1/ecommerce/brands?page=1",
"last": "https://nest.botble.com/api/v1/ecommerce/brands?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/ecommerce/brands?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/ecommerce/brands",
"per_page": 16,
"to": null,
"total": 0
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get brand details by slug
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/brands/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/brands/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": ""
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get products by brand
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/brands/1/products" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/brands/1/products"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"slug": "seeds-of-change-organic-quinoe",
"url": "https://nest.botble.com/products/seeds-of-change-organic-quinoe",
"name": "Seeds of Change Organic Quinoe",
"sku": "NQ-122",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 12,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 704,
"price_formatted": "$704.00",
"original_price": 902,
"original_price_formatted": "$902.00",
"reviews_avg": 2.7777777777777777,
"reviews_count": 9,
"images": [
"https://nest.botble.com/storage/products/1.jpg",
"https://nest.botble.com/storage/products/1-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/1-150x150.jpg",
"https://nest.botble.com/storage/products/1-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/1.jpg",
"https://nest.botble.com/storage/products/1-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/1-150x150.jpg",
"https://nest.botble.com/storage/products/1-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/1-800x800.jpg",
"https://nest.botble.com/storage/products/1-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/1-400x400.jpg",
"https://nest.botble.com/storage/products/1-1-400x400.jpg"
]
},
"weight": 851,
"height": 10,
"wide": 16,
"length": 13,
"image_url": "https://nest.botble.com/storage/products/1-150x150.jpg",
"product_options": [],
"store": {
"id": 1,
"slug": "gopro",
"name": "GoPro"
}
},
{
"id": 2,
"slug": "all-natural-italian-style-chicken-meatballs",
"url": "https://nest.botble.com/products/all-natural-italian-style-chicken-meatballs",
"name": "All Natural Italian-Style Chicken Meatballs",
"sku": "LP-104-A1",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 18,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 488,
"price_formatted": "$488.00",
"original_price": 488,
"original_price_formatted": "$488.00",
"reviews_avg": 3.1,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/2.jpg",
"https://nest.botble.com/storage/products/2-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/2-150x150.jpg",
"https://nest.botble.com/storage/products/2-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/2.jpg",
"https://nest.botble.com/storage/products/2-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/2-150x150.jpg",
"https://nest.botble.com/storage/products/2-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/2-800x800.jpg",
"https://nest.botble.com/storage/products/2-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/2-400x400.jpg",
"https://nest.botble.com/storage/products/2-1-400x400.jpg"
]
},
"weight": 745,
"height": 19,
"wide": 17,
"length": 17,
"image_url": "https://nest.botble.com/storage/products/2-150x150.jpg",
"product_options": [],
"store": {
"id": 4,
"slug": "global-store",
"name": "Global Store"
}
},
{
"id": 3,
"slug": "angies-boomchickapop-sweet-salty-kettle-corn",
"url": "https://nest.botble.com/products/angies-boomchickapop-sweet-salty-kettle-corn",
"name": "Angie’s Boomchickapop Sweet & Salty Kettle Corn",
"sku": "SJ-172",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 10,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 529,
"price_formatted": "$529.00",
"original_price": 802,
"original_price_formatted": "$802.00",
"reviews_avg": 2.4,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/3.jpg",
"https://nest.botble.com/storage/products/3-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/3-150x150.jpg",
"https://nest.botble.com/storage/products/3-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/3.jpg",
"https://nest.botble.com/storage/products/3-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/3-150x150.jpg",
"https://nest.botble.com/storage/products/3-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/3-800x800.jpg",
"https://nest.botble.com/storage/products/3-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/3-400x400.jpg",
"https://nest.botble.com/storage/products/3-1-400x400.jpg"
]
},
"weight": 591,
"height": 11,
"wide": 20,
"length": 19,
"image_url": "https://nest.botble.com/storage/products/3-150x150.jpg",
"product_options": [],
"store": {
"id": 3,
"slug": "young-shop",
"name": "Young Shop"
}
},
{
"id": 4,
"slug": "foster-farms-takeout-crispy-classic-digital",
"url": "https://nest.botble.com/products/foster-farms-takeout-crispy-classic-digital",
"name": "Foster Farms Takeout Crispy Classic (Digital)",
"sku": "HK-164",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 17,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 86,
"price_formatted": "$86.00",
"original_price": 1860,
"original_price_formatted": "$1,860.00",
"reviews_avg": 3.1,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/4.jpg",
"https://nest.botble.com/storage/products/4-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/4-150x150.jpg",
"https://nest.botble.com/storage/products/4-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/4.jpg",
"https://nest.botble.com/storage/products/4-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/4-150x150.jpg",
"https://nest.botble.com/storage/products/4-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/4-800x800.jpg",
"https://nest.botble.com/storage/products/4-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/4-400x400.jpg",
"https://nest.botble.com/storage/products/4-1-400x400.jpg"
]
},
"weight": 592,
"height": 10,
"wide": 11,
"length": 10,
"image_url": "https://nest.botble.com/storage/products/4-150x150.jpg",
"product_options": [],
"store": {
"id": 1,
"slug": "gopro",
"name": "GoPro"
}
},
{
"id": 5,
"slug": "blue-diamond-almonds-lightly",
"url": "https://nest.botble.com/products/blue-diamond-almonds-lightly",
"name": "Blue Diamond Almonds Lightly",
"sku": "MS-100",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 15,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 462,
"price_formatted": "$462.00",
"original_price": 535,
"original_price_formatted": "$535.00",
"reviews_avg": 2.9,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/5.jpg",
"https://nest.botble.com/storage/products/5-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/5-150x150.jpg",
"https://nest.botble.com/storage/products/5-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/5.jpg",
"https://nest.botble.com/storage/products/5-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/5-150x150.jpg",
"https://nest.botble.com/storage/products/5-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/5-800x800.jpg",
"https://nest.botble.com/storage/products/5-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/5-400x400.jpg",
"https://nest.botble.com/storage/products/5-1-400x400.jpg"
]
},
"weight": 551,
"height": 17,
"wide": 18,
"length": 17,
"image_url": "https://nest.botble.com/storage/products/5-150x150.jpg",
"product_options": [],
"store": {
"id": 6,
"slug": "stouffer",
"name": "Stouffer"
}
},
{
"id": 6,
"slug": "chobani-complete-vanilla-greek",
"url": "https://nest.botble.com/products/chobani-complete-vanilla-greek",
"name": "Chobani Complete Vanilla Greek",
"sku": "S7-186-A1",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 16,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 1484,
"price_formatted": "$1,484.00",
"original_price": 1484,
"original_price_formatted": "$1,484.00",
"reviews_avg": 3.4,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/6.jpg",
"https://nest.botble.com/storage/products/6-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/6-150x150.jpg",
"https://nest.botble.com/storage/products/6-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/6.jpg",
"https://nest.botble.com/storage/products/6-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/6-150x150.jpg",
"https://nest.botble.com/storage/products/6-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/6-800x800.jpg",
"https://nest.botble.com/storage/products/6-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/6-400x400.jpg",
"https://nest.botble.com/storage/products/6-1-400x400.jpg"
]
},
"weight": 811,
"height": 18,
"wide": 16,
"length": 17,
"image_url": "https://nest.botble.com/storage/products/6-150x150.jpg",
"product_options": [],
"store": {
"id": 6,
"slug": "stouffer",
"name": "Stouffer"
}
},
{
"id": 7,
"slug": "canada-dry-ginger-ale-2-l-bottle",
"url": "https://nest.botble.com/products/canada-dry-ginger-ale-2-l-bottle",
"name": "Canada Dry Ginger Ale – 2 L Bottle",
"sku": "UE-122",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 20,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 764,
"price_formatted": "$764.00",
"original_price": 1025,
"original_price_formatted": "$1,025.00",
"reviews_avg": 3.7,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/7.jpg",
"https://nest.botble.com/storage/products/7-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/7-150x150.jpg",
"https://nest.botble.com/storage/products/7-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/7.jpg",
"https://nest.botble.com/storage/products/7-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/7-150x150.jpg",
"https://nest.botble.com/storage/products/7-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/7-800x800.jpg",
"https://nest.botble.com/storage/products/7-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/7-400x400.jpg",
"https://nest.botble.com/storage/products/7-1-400x400.jpg"
]
},
"weight": 738,
"height": 18,
"wide": 16,
"length": 16,
"image_url": "https://nest.botble.com/storage/products/7-150x150.jpg",
"product_options": [],
"store": {
"id": 3,
"slug": "young-shop",
"name": "Young Shop"
}
},
{
"id": 8,
"slug": "encore-seafoods-stuffed-alaskan-digital",
"url": "https://nest.botble.com/products/encore-seafoods-stuffed-alaskan-digital",
"name": "Encore Seafoods Stuffed Alaskan (Digital)",
"sku": "GM-146-A1",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 16,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 1672.8,
"price_formatted": "$1,672.80",
"original_price": 2091,
"original_price_formatted": "$2,091.00",
"reviews_avg": 2.6,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/8.jpg",
"https://nest.botble.com/storage/products/8-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/8-150x150.jpg",
"https://nest.botble.com/storage/products/8-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/8.jpg",
"https://nest.botble.com/storage/products/8-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/8-150x150.jpg",
"https://nest.botble.com/storage/products/8-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/8-800x800.jpg",
"https://nest.botble.com/storage/products/8-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/8-400x400.jpg",
"https://nest.botble.com/storage/products/8-1-400x400.jpg"
]
},
"weight": 591,
"height": 15,
"wide": 11,
"length": 16,
"image_url": "https://nest.botble.com/storage/products/8-150x150.jpg",
"product_options": [],
"store": {
"id": 4,
"slug": "global-store",
"name": "Global Store"
}
},
{
"id": 9,
"slug": "gortons-beer-battered-fish-fillets",
"url": "https://nest.botble.com/products/gortons-beer-battered-fish-fillets",
"name": "Gorton’s Beer Battered Fish Fillets",
"sku": "86-175-A1",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 11,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 1217,
"price_formatted": "$1,217.00",
"original_price": 1217,
"original_price_formatted": "$1,217.00",
"reviews_avg": 2.9,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/9.jpg",
"https://nest.botble.com/storage/products/9-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/9-150x150.jpg",
"https://nest.botble.com/storage/products/9-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/9.jpg",
"https://nest.botble.com/storage/products/9-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/9-150x150.jpg",
"https://nest.botble.com/storage/products/9-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/9-800x800.jpg",
"https://nest.botble.com/storage/products/9-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/9-400x400.jpg",
"https://nest.botble.com/storage/products/9-1-400x400.jpg"
]
},
"weight": 548,
"height": 12,
"wide": 18,
"length": 17,
"image_url": "https://nest.botble.com/storage/products/9-150x150.jpg",
"product_options": [],
"store": {
"id": 6,
"slug": "stouffer",
"name": "Stouffer"
}
},
{
"id": 10,
"slug": "haagen-dazs-caramel-cone-ice-cream",
"url": "https://nest.botble.com/products/haagen-dazs-caramel-cone-ice-cream",
"name": "Haagen-Dazs Caramel Cone Ice Cream",
"sku": "H5-114-A1",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 14,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 1787,
"price_formatted": "$1,787.00",
"original_price": 1787,
"original_price_formatted": "$1,787.00",
"reviews_avg": 3.7,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/10.jpg",
"https://nest.botble.com/storage/products/10-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/10-150x150.jpg",
"https://nest.botble.com/storage/products/10-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/10.jpg",
"https://nest.botble.com/storage/products/10-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/10-150x150.jpg",
"https://nest.botble.com/storage/products/10-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/10-800x800.jpg",
"https://nest.botble.com/storage/products/10-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/10-400x400.jpg",
"https://nest.botble.com/storage/products/10-1-400x400.jpg"
]
},
"weight": 773,
"height": 15,
"wide": 17,
"length": 13,
"image_url": "https://nest.botble.com/storage/products/10-150x150.jpg",
"product_options": [],
"store": {
"id": 1,
"slug": "gopro",
"name": "GoPro"
}
},
{
"id": 11,
"slug": "nestle-original-coffee-mate-coffee-creamer",
"url": "https://nest.botble.com/products/nestle-original-coffee-mate-coffee-creamer",
"name": "Nestle Original Coffee-Mate Coffee Creamer",
"sku": "2K-110-A1",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 12,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 1639,
"price_formatted": "$1,639.00",
"original_price": 1639,
"original_price_formatted": "$1,639.00",
"reviews_avg": 3.2,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/11.jpg",
"https://nest.botble.com/storage/products/11-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/11-150x150.jpg",
"https://nest.botble.com/storage/products/11-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/11.jpg",
"https://nest.botble.com/storage/products/11-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/11-150x150.jpg",
"https://nest.botble.com/storage/products/11-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/11-800x800.jpg",
"https://nest.botble.com/storage/products/11-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/11-400x400.jpg",
"https://nest.botble.com/storage/products/11-1-400x400.jpg"
]
},
"weight": 848,
"height": 14,
"wide": 20,
"length": 11,
"image_url": "https://nest.botble.com/storage/products/11-150x150.jpg",
"product_options": [],
"store": {
"id": 5,
"slug": "roberts-store",
"name": "Robert’s Store"
}
},
{
"id": 12,
"slug": "naturally-flavored-cinnamon-vanilla-light-roast-coffee-digital",
"url": "https://nest.botble.com/products/naturally-flavored-cinnamon-vanilla-light-roast-coffee-digital",
"name": "Naturally Flavored Cinnamon Vanilla Light Roast Coffee (Digital)",
"sku": "QQ-132",
"description": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline.</p>\n<p><img src=\"/storage/general/clock.png\" alt=\"icon\" style=\"height:15px;\"> 1 Year AL Jazeera Brand Warranty\n</p>\n<p><img src=\"/storage/general/paper-plane.png\" alt=\"icon\" style=\"height:15px;\"> 30 Day Return Policy</p>\n<p><img src=\"/storage/general/credit-card.png\" alt=\"icon\" style=\"height:15px;\"> Cash on Delivery available\n</p>\n",
"content": "<p>Short Hooded Coat features a straight body, large pockets with button flaps, ventilation air holes, and a string\n detail along the hemline. The style is completed with a drawstring hood, featuring Rains’ signature built-in\n cap. Made from waterproof, matte PU, this lightweight unisex rain jacket is an ode to nostalgia through its classic\n silhouette and utilitarian design details.</p>\n<p>- Casual unisex fit</p>\n\n<p>- 64% polyester, 36% polyurethane</p>\n\n<p>- Water column pressure: 4000 mm</p>\n\n<p>- Model is 187cm tall and wearing a size S / M</p>\n\n<p>- Unisex fit</p>\n\n<p>- Drawstring hood with built-in cap</p>\n\n<p>- Front placket with snap buttons</p>\n\n<p>- Ventilation under armpit</p>\n\n<p>- Adjustable cuffs</p>\n\n<p>- Double welted front pockets</p>\n\n<p>- Adjustable elastic string at hempen</p>\n\n<p>- Ultrasonically welded seams</p>\n\n<p>This is a unisex item, please check our clothing & footwear sizing guide for specific Rains jacket sizing\n information. RAINS comes from the rainy nation of Denmark at the edge of the European continent, close to the ocean\n and with prevailing westerly winds; all factors that contribute to an average of 121 rain days each year. Arising\n from these rainy weather conditions comes the attitude that a quick rain shower may be beautiful, as well as moody-\n but first and foremost requires the right outfit. Rains focus on the whole experience of going outside on rainy\n days, issuing an invitation to explore even in the most mercurial weather.</p>\n",
"quantity": 10,
"is_out_of_stock": false,
"stock_status_label": "In stock",
"stock_status_html": "<span class=\"text-success\">In stock</span>",
"price": 174,
"price_formatted": "$174.00",
"original_price": 847,
"original_price_formatted": "$847.00",
"reviews_avg": 3.3,
"reviews_count": 10,
"images": [
"https://nest.botble.com/storage/products/12.jpg",
"https://nest.botble.com/storage/products/12-1.jpg"
],
"images_thumb": [
"https://nest.botble.com/storage/products/12-150x150.jpg",
"https://nest.botble.com/storage/products/12-1-150x150.jpg"
],
"image_with_sizes": {
"origin": [
"https://nest.botble.com/storage/products/12.jpg",
"https://nest.botble.com/storage/products/12-1.jpg"
],
"thumb": [
"https://nest.botble.com/storage/products/12-150x150.jpg",
"https://nest.botble.com/storage/products/12-1-150x150.jpg"
],
"medium": [
"https://nest.botble.com/storage/products/12-800x800.jpg",
"https://nest.botble.com/storage/products/12-1-800x800.jpg"
],
"product-thumb": [
"https://nest.botble.com/storage/products/12-400x400.jpg",
"https://nest.botble.com/storage/products/12-1-400x400.jpg"
]
},
"weight": 831,
"height": 15,
"wide": 11,
"length": 17,
"image_url": "https://nest.botble.com/storage/products/12-150x150.jpg",
"product_options": [],
"store": {
"id": 5,
"slug": "roberts-store",
"name": "Robert’s Store"
}
}
],
"links": {
"first": "https://nest.botble.com/api/v1/ecommerce/brands/1/products?page=1",
"last": "https://nest.botble.com/api/v1/ecommerce/brands/1/products?page=2",
"prev": null,
"next": "https://nest.botble.com/api/v1/ecommerce/brands/1/products?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/ecommerce/brands/1/products?page=1",
"label": "1",
"active": true
},
{
"url": "https://nest.botble.com/api/v1/ecommerce/brands/1/products?page=2",
"label": "2",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/ecommerce/brands/1/products?page=2",
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/ecommerce/brands/1/products",
"per_page": 12,
"to": 12,
"total": 24
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cart
Add product to cart
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/cart" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1,
\"qty\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/cart"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1,
"qty": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add product to cart
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/cart/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1,
\"qty\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/cart/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1,
"qty": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update quantity of a product in cart
Example request:
curl --request PUT \
"https://nest.botble.com/api/v1/ecommerce/cart/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1,
\"qty\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/cart/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1,
"qty": 1
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove a cart item by its ID.
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/ecommerce/cart/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/cart/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a cart item by id.
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/cart/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"customer_id\": 1,
\"id\": \"e70c6c88dae8344b03e39bb147eba66a\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/cart/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"customer_id": 1,
"id": "e70c6c88dae8344b03e39bb147eba66a"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"id": "architecto",
"cart_items": [],
"count": 0,
"raw_total": 0,
"raw_total_formatted": "$0.00",
"sub_total": 0,
"sub_total_formatted": "$0.00",
"tax_amount": 0,
"tax_amount_formatted": "$0.00",
"promotion_discount_amount": 0,
"promotion_discount_amount_formatted": "$0.00",
"coupon_discount_amount": 0,
"coupon_discount_amount_formatted": "$0.00",
"applied_coupon_code": null,
"order_total": 0,
"order_total_formatted": "$0.00"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Refresh cart items
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/cart/refresh" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"products\": [
\"architecto\"
]
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/cart/refresh"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"products": [
"architecto"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Calculate tax for products in cart
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/checkout/taxes/calculate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"products\": [
\"architecto\"
],
\"country\": \"US\",
\"state\": \"CA\",
\"city\": \"Los Angeles\",
\"zip_code\": \"90001\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/checkout/taxes/calculate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"products": [
"architecto"
],
"country": "US",
"state": "CA",
"city": "Los Angeles",
"zip_code": "90001"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"items": [
{
"product_id": 1,
"price": 100,
"price_formatted": "$100.00",
"quantity": 2,
"tax_rate": 10,
"tax_amount": 20,
"tax_amount_formatted": "$20.00",
"subtotal": 200,
"subtotal_formatted": "$200.00",
"total": 220,
"total_formatted": "$220.00"
}
],
"totals": {
"sub_total": 200,
"sub_total_formatted": "$200.00",
"tax_amount": 20,
"tax_amount_formatted": "$20.00",
"total": 220,
"total_formatted": "$220.00"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Checkout
Process Checkout Process the checkout for a specific cart ID. This endpoint restores the cart, generates an order token, and redirects the user to the checkout page.
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/checkout/cart/12345" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/checkout/cart/12345"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (302):
{}
Example response (302):
Show headers
cache-control: no-cache, private
location: https://nest.botble.com/checkout/cf90a0c1836f86641fc16cd7490e96ad
content-type: text/html; charset=utf-8
access-control-allow-origin: *
set-cookie: botble_session=eyJpdiI6IkV2ZEhXZXA0UkRJcnpWVXA1ckhHMEE9PSIsInZhbHVlIjoiSWNIaTVlZVhUMXcyZ3dtL1NHc0RYSlNHVFFsZFNGVW5tQXA1SFNrL3dueUZCRy9YT3oxZVZCM0JhZ1hqcHVxNXdJbGZQZjV5VmJPY25BcDB1WGFhSzFrby9oYVF5R01MTlBmbnNLQUZxNUptSU5NWmtJdENDY2hRNTJMbzZWb2YiLCJtYWMiOiI4MDEwYzEwMTdhZDg4MGRiNjI5ZWJlNDI0NTZlYzFkZDM5NTFmZDM5ZTdlNTRiOTA4NzRmODQzNjFhNTVlY2YxIiwidGFnIjoiIn0%3D; expires=Thu, 03 Jul 2025 10:30:12 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax; botble_footprints_cookie=eyJpdiI6IjYySjVSM3FReWNWdVoyTGJnUFFYTHc9PSIsInZhbHVlIjoiYm9zMno3NU8xeUNtYUdqR1ZrdHpwVEUxeXFrRFBDZXlac0c1WmI5K21GWU1qMC9LOWhkOTU0QWVHeitUSjJsNHZ5U2FlMGs3cDg0TGlScnZzMWhBSzYveTNYbG1VMGE3MFQ0eUVBUzFWL0pFSVlDR0VyTG1EOWQwcWE0dHZXWWciLCJtYWMiOiJkMjUzYzQzNTE2NjVlYzA2MmE2NzRlZThiODkzNzlkMWEyYTczZDA1ODhlODMxMTg3M2Q3OWRlMjdlMThjNmEzIiwidGFnIjoiIn0%3D; expires=Thu, 27 Aug 2026 08:30:07 GMT; Max-Age=36287995; path=/; secure; httponly; samesite=lax; botble_footprints_cookie_data=eyJpdiI6IjI4Z3JZUVJiMi9XWk5wK0UzTFUzcmc9PSIsInZhbHVlIjoiTTFUSVloK21ZT2N2RlNnSkl1ZmpwWkV2NU9kcGlKUEt1b0lUZnFWUFkzc3VTUGRSRVd3Y2w3QVpVKzAzZEFKQXh1UmV4OE15d01KUjc0dmxPMTlKbVMvaGEwandEQ1RrTktTVmRDYWkxbU9CT1R4NGtmVTY3dk41L01DTEVpME9hb2IrQmhFRlZwZVlIbmVLekpvclpFYzRNbk9mdmplM2YwRy81WHhHMkFJVWFEMGRiYnZIcE1oL2tGSEZRZzVkSFZuTjl2Y0xzRndjMnd2VitQSVlVZHl6SlVnZmtrenFLMU94Tk1qMmpGYVlFY1R3RzFaTmRSZEVRSjRiNGwvRTZlUjdsMk1HVWY2Q0t1L09Uc3N0RnY2ZmQxbWg1c01DWit4dGNYSU9KZ3lXV05CNkd1bTgyUEZLWk9jTWgraWw3V2tkRHhRMENLeW5lVUdEVlpTWnBGQWhUSlptZWx2eW1VaXpxaWQ2bDZjbWhwci9CSG9jS2VydGNYbXVvYmRUYVhhQ0VvWU1DTkdpcHp5UGN0cHIzTnBtOVFJVHhBd1cwaHV2TWxoRVNsK3g4MkJRZEdYQjEvNURnb0ZqUklmM2NyemhybVNSKzdQVzQzUndXdTM3UXp2c2pHT04zVW81QlpBdUNraS8xRmtmR0d4ZjhkdHZpaDBjbFRhYm5MdjV4MnJIT0ZVU0VWVjIvYjFublM3dU9nQUYwMHp5TFFrTHl5YWp0WEo3TFBVPSIsIm1hYyI6IjdkMmI3Y2Q3MTJjN2ZiZTliZGNjMDBjODM0ZGViNTE2YTIzMWUwYTQxZTUyNzhkNjcxMDhiODBmOTViMDBiMzYiLCJ0YWciOiIifQ%3D%3D; expires=Thu, 27 Aug 2026 08:30:07 GMT; Max-Age=36287995; path=/; secure; httponly; samesite=lax
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="refresh" content="0;url='https://nest.botble.com/checkout/cf90a0c1836f86641fc16cd7490e96ad'" />
<title>Redirecting to https://nest.botble.com/checkout/cf90a0c1836f86641fc16cd7490e96ad</title>
</head>
<body>
Redirecting to <a href="https://nest.botble.com/checkout/cf90a0c1836f86641fc16cd7490e96ad">https://nest.botble.com/checkout/cf90a0c1836f86641fc16cd7490e96ad</a>.
</body>
</html>
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Cart not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Compare
Add product to compare
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/compare" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/compare"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add product to compare
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/compare/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/compare/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove a product from compare list
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/ecommerce/compare/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/compare/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get compare items
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/compare/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"e70c6c88dae8344b03e39bb147eba66a\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/compare/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "e70c6c88dae8344b03e39bb147eba66a"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"id": "architecto",
"data": {
"count": 0,
"items": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coupons
Get all available coupons
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/coupons?coupon_ids=1%2C2%2C3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/coupons"
);
const params = {
"coupon_ids": "1,2,3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 2,
"title": "Discount 2",
"code": "ZVSN8VWSDPMU",
"description": null,
"value": 881,
"type_option": "shipping",
"target": "all-orders",
"min_order_price": null,
"min_order_price_formatted": "$0.00",
"start_date": "2025-05-16T08:45:15.000000Z",
"end_date": null,
"quantity": null,
"total_used": 0,
"left_quantity": 0,
"can_use_with_promotion": false,
"can_use_with_flash_sale": false,
"apply_via_url": false,
"display_at_checkout": true,
"is_expired": false
},
{
"id": 3,
"title": "Discount 3",
"code": "VWQTOJVTWITN",
"description": null,
"value": 988,
"type_option": "amount",
"target": "all-orders",
"min_order_price": null,
"min_order_price_formatted": "$0.00",
"start_date": "2025-05-16T08:45:15.000000Z",
"end_date": null,
"quantity": null,
"total_used": 0,
"left_quantity": 0,
"can_use_with_promotion": false,
"can_use_with_flash_sale": false,
"apply_via_url": false,
"display_at_checkout": true,
"is_expired": false
}
],
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Apply coupon code
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/coupon/apply" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"coupon_code\": \"DISCOUNT20\",
\"cart_id\": \"e70c6c88dae8344b03e39bb147eba66a\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/coupon/apply"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"coupon_code": "DISCOUNT20",
"cart_id": "e70c6c88dae8344b03e39bb147eba66a"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove coupon code
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/coupon/remove" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"cart_id\": \"e70c6c88dae8344b03e39bb147eba66a\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/coupon/remove"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"cart_id": "e70c6c88dae8344b03e39bb147eba66a"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Currencies
Get list of available currencies
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/currencies" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/currencies"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": [
{
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 2,
"order": 0,
"is_default": true,
"exchange_rate": 1
},
{
"id": 2,
"title": "EUR",
"symbol": "€",
"is_prefix_symbol": false,
"decimals": 2,
"order": 1,
"is_default": false,
"exchange_rate": 0.91
}
],
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get current currency
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/currencies/current" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/currencies/current"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 2,
"order": 0,
"is_default": true,
"exchange_rate": 1
},
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Device Tokens
Register or update device token
Register a new device token or update an existing one for push notifications.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/device-tokens" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"architecto\",
\"platform\": \"architecto\",
\"app_version\": \"architecto\",
\"device_id\": \"architecto\",
\"user_type\": \"architecto\",
\"user_id\": 16
}"
const url = new URL(
"https://nest.botble.com/api/v1/device-tokens"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "architecto",
"platform": "architecto",
"app_version": "architecto",
"device_id": "architecto",
"user_type": "architecto",
"user_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get user's device tokens
Retrieve all device tokens for the authenticated user.
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/device-tokens" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/device-tokens"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update device token
Update an existing device token.
Example request:
curl --request PUT \
"https://nest.botble.com/api/v1/device-tokens/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"platform\": \"architecto\",
\"app_version\": \"architecto\",
\"device_id\": \"architecto\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/device-tokens/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"platform": "architecto",
"app_version": "architecto",
"device_id": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete device token by token value
Delete a device token using the token value.
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/device-tokens/by-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"architecto\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/device-tokens/by-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "architecto"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete device token
Delete a device token to stop receiving push notifications.
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/device-tokens/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/device-tokens/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deactivate device token
Deactivate a device token without deleting it.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/device-tokens/564/deactivate" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/device-tokens/564/deactivate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Downloads
Get list of digital products available for download
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/downloads" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/downloads"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download a digital product
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/downloads/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/downloads/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
Download a file using a token
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/download/architecto/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/download/architecto/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": ""
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download a proof file using a token
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/orders/download-proof/architecto/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/download-proof/architecto/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "No query results for model [Botble\\Ecommerce\\Models\\Order] architecto"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/auth/apple
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/auth/apple" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/auth/apple"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/auth/google
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/auth/google" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/auth/google"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/auth/facebook
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/auth/facebook" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/auth/facebook"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/auth/x
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/auth/x" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/auth/x"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Filters
Get filter data for products
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/filters" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/filters"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": {
"categories": [
{
"id": 1,
"name": "Milks and Dairies",
"slug": "milks-and-dairies",
"url": "product-categories/milks-and-dairies",
"parent_id": 0
},
{
"id": 2,
"name": "Clothing & beauty",
"slug": "clothing-beauty",
"url": "product-categories/clothing-beauty",
"parent_id": 0
},
{
"id": 3,
"name": "Pet Toy",
"slug": "pet-toy",
"url": "product-categories/pet-toy",
"parent_id": 0
},
{
"id": 4,
"name": "Baking material",
"slug": "baking-material",
"url": "product-categories/baking-material",
"parent_id": 0
},
{
"id": 5,
"name": "Fresh Fruit",
"slug": "fresh-fruit",
"url": "product-categories/fresh-fruit",
"parent_id": 0
},
{
"id": 6,
"name": "Wines & Drinks",
"slug": "wines-drinks",
"url": "product-categories/wines-drinks",
"parent_id": 0
},
{
"id": 7,
"name": "Fresh Seafood",
"slug": "fresh-seafood",
"url": "product-categories/fresh-seafood",
"parent_id": 0
},
{
"id": 8,
"name": "Fast food",
"slug": "fast-food",
"url": "product-categories/fast-food",
"parent_id": 0
},
{
"id": 9,
"name": "Vegetables",
"slug": "vegetables",
"url": "product-categories/vegetables",
"parent_id": 0
},
{
"id": 10,
"name": "Bread and Juice",
"slug": "bread-and-juice",
"url": "product-categories/bread-and-juice",
"parent_id": 0
},
{
"id": 11,
"name": "Cake & Milk",
"slug": "cake-milk",
"url": "product-categories/cake-milk",
"parent_id": 0
},
{
"id": 12,
"name": "Coffee & Teas",
"slug": "coffee-teas",
"url": "product-categories/coffee-teas",
"parent_id": 0
},
{
"id": 13,
"name": "Pet Foods",
"slug": "pet-foods",
"url": "product-categories/pet-foods",
"parent_id": 0
},
{
"id": 14,
"name": "Diet Foods",
"slug": "diet-foods",
"url": "product-categories/diet-foods",
"parent_id": 0
}
],
"brands": [
{
"id": 1,
"name": "Perxsion",
"slug": "perxsion",
"url": "https://nest.botble.com/products?brands%5B%5D=1",
"products_count": 9
},
{
"id": 2,
"name": "Hiching",
"slug": "hiching",
"url": "https://nest.botble.com/products?brands%5B%5D=2",
"products_count": 3
},
{
"id": 3,
"name": "Kepslo",
"slug": "kepslo",
"url": "https://nest.botble.com/products?brands%5B%5D=3",
"products_count": 2
},
{
"id": 4,
"name": "Groneba",
"slug": "groneba",
"url": "https://nest.botble.com/products?brands%5B%5D=4",
"products_count": 4
},
{
"id": 5,
"name": "Babian",
"slug": "babian",
"url": "https://nest.botble.com/products?brands%5B%5D=5",
"products_count": 2
},
{
"id": 6,
"name": "Valorant",
"slug": "valorant",
"url": "https://nest.botble.com/products?brands%5B%5D=6",
"products_count": 2
},
{
"id": 7,
"name": "Pure",
"slug": "pure",
"url": "https://nest.botble.com/products?brands%5B%5D=7",
"products_count": 2
}
],
"tags": [
{
"id": 4,
"name": "Clothes",
"slug": "clothes",
"url": "https://nest.botble.com/products?tags%5B%5D=4",
"products_count": 17
},
{
"id": 2,
"name": "Bags",
"slug": "bags",
"url": "https://nest.botble.com/products?tags%5B%5D=2",
"products_count": 16
},
{
"id": 5,
"name": "Hand bag",
"slug": "hand-bag",
"url": "https://nest.botble.com/products?tags%5B%5D=5",
"products_count": 15
},
{
"id": 3,
"name": "Shoes",
"slug": "shoes",
"url": "https://nest.botble.com/products?tags%5B%5D=3",
"products_count": 14
},
{
"id": 1,
"name": "Wallet",
"slug": "wallet",
"url": "https://nest.botble.com/products?tags%5B%5D=1",
"products_count": 10
}
],
"price_ranges": [],
"max_price": 2488,
"current_category_id": 0,
"current_filter_categories": [],
"attributes": [
{
"id": 1,
"title": "Weight",
"slug": "weight",
"display_layout": "text",
"attributes": [
{
"id": 1,
"title": "1KG",
"slug": "1kg",
"color": null,
"image": null,
"is_default": 1,
"is_selected": false
},
{
"id": 2,
"title": "2KG",
"slug": "2kg",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
},
{
"id": 3,
"title": "3KG",
"slug": "3kg",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
},
{
"id": 4,
"title": "4KG",
"slug": "4kg",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
},
{
"id": 5,
"title": "5KG",
"slug": "5kg",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
}
]
},
{
"id": 2,
"title": "Boxes",
"slug": "boxes",
"display_layout": "text",
"attributes": [
{
"id": 6,
"title": "1 Box",
"slug": "1-box",
"color": null,
"image": null,
"is_default": 1,
"is_selected": false
},
{
"id": 7,
"title": "2 Boxes",
"slug": "2-boxes",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
},
{
"id": 8,
"title": "3 Boxes",
"slug": "3-boxes",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
},
{
"id": 9,
"title": "4 Boxes",
"slug": "4-boxes",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
},
{
"id": 10,
"title": "5 Boxes",
"slug": "5-boxes",
"color": null,
"image": null,
"is_default": 0,
"is_selected": false
}
]
}
]
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Flash Sale
Get flash sales
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/flash-sales?keys=" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"keys\": null
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/flash-sales"
);
const params = {
"keys": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"keys": null
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (422):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "The keys field is required."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Languages
Get list of available languages
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/languages" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/languages"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": [
{
"lang_id": 1,
"lang_name": "English",
"lang_locale": "en",
"lang_code": "en_US",
"lang_flag": "<svg ...>",
"lang_is_default": true,
"lang_is_rtl": false,
"lang_order": 0
},
{
"lang_id": 2,
"lang_name": "Vietnamese",
"lang_locale": "vi",
"lang_code": "vi",
"lang_flag": "<svg ...>",
"lang_is_default": false,
"lang_is_rtl": false,
"lang_order": 1
}
],
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get current language
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/languages/current" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/languages/current"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"error": false,
"data": {
"lang_id": 1,
"lang_name": "English",
"lang_locale": "en",
"lang_code": "en_US",
"lang_flag": "us",
"lang_is_default": true,
"lang_is_rtl": false,
"lang_order": 0
},
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications
Get user notifications
Retrieve notifications for the authenticated user.
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/notifications?page=1&per_page=20&unread_only=&type=general" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/notifications"
);
const params = {
"page": "1",
"per_page": "20",
"unread_only": "0",
"type": "general",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get notification statistics
Get notification statistics for the authenticated user.
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/notifications/stats" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/notifications/stats"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark all notifications as read
Mark all notifications as read for the authenticated user.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/notifications/mark-all-read" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/notifications/mark-all-read"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark notification as read
Mark a specific notification as read for the authenticated user.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/notifications/564/read" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/notifications/564/read"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark notification as clicked
Mark a notification as clicked when user taps on it.
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/notifications/564/clicked" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/notifications/564/clicked"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete notification
Delete a notification from user's list.
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/notifications/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/notifications/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Order Returns
Get list of order return requests for the current user
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/order-returns" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/order-returns"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get detail of an order return request
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/order-returns/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/order-returns/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Submit a new order return request
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/order-returns" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order_id\": 1,
\"return_items\": [
\"architecto\"
],
\"reason\": \"DAMAGED_PRODUCT\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/order-returns"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order_id": 1,
"return_items": [
"architecto"
],
"reason": "DAMAGED_PRODUCT"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get order information for return request
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/orders/564/returns" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564/returns"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Orders
APIs for order tracking
Get list of orders by customer
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/orders?status=completed&shipping_status=delivered&payment_status=completed&per_page=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders"
);
const params = {
"status": "completed",
"shipping_status": "delivered",
"payment_status": "completed",
"per_page": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get order detail
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/orders/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel an order
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/orders/564/cancel" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"cancellation_reason\": \"OTHER\",
\"cancellation_reason_description\": \"I found a better deal elsewhere\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564/cancel"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"cancellation_reason": "OTHER",
"cancellation_reason_description": "I found a better deal elsewhere"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Print an order invoice
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/orders/564/invoice?type=download&format=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564/invoice"
);
const params = {
"type": "download",
"format": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload payment proof for an order
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/orders/564/upload-proof" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "file=@/tmp/phpt4k0raf0m9h1cHhWrqt"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564/upload-proof"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download payment proof for an order
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/orders/564/download-proof" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564/download-proof"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Confirm delivery of an order
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/orders/564/confirm-delivery" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/564/confirm-delivery"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Track an order
Track an order by order code and email/phone
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/orders/tracking" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"ORD-12345\",
\"email\": \"[email protected]\",
\"phone\": \"+1234567890\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/orders/tracking"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "ORD-12345",
"email": "[email protected]",
"phone": "+1234567890"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": false,
"message": "Order found successfully",
"data": {
"order": {
"id": 1,
"code": "ORD-12345",
"status": "completed",
"amount": 100,
"shipping_amount": 10,
"payment_fee": 5,
"tax_amount": 5,
"sub_total": 90,
"discount_amount": 0,
"payment_id": 1,
"user_id": 1,
"created_at": "2023-08-10T12:34:56.000000Z",
"updated_at": "2023-08-10T12:34:56.000000Z",
"address": {
"id": 1,
"name": "John Doe",
"email": "[email protected]",
"phone": "+1234567890",
"address": "123 Main St",
"city": "New York",
"state": "NY",
"country": "US",
"zip_code": "10001"
},
"products": [
{
"id": 1,
"name": "Product 1",
"price": 90,
"qty": 1
}
],
"histories": [
{
"id": 1,
"action": "create_order",
"description": "Order was created",
"created_at": "2023-08-10T12:34:56.000000Z"
}
],
"shipment": {
"id": 1,
"status": "delivered",
"tracking_id": "SHIP-12345",
"tracking_link": "https://example.com/tracking/SHIP-12345"
},
"payment": {
"id": 1,
"status": "completed",
"payment_channel": "stripe",
"amount": 100
}
}
}
}
Example response (404):
{
"error": true,
"message": "Order not found",
"code": 404
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Page
List pages
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/pages" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/pages"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"name": "Homepage",
"slug": "homepage",
"description": null,
"image": null,
"template": "homepage",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 2,
"name": "Homepage 2",
"slug": "homepage-2",
"description": null,
"image": null,
"template": "homepage",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 3,
"name": "Homepage 3",
"slug": "homepage-3",
"description": null,
"image": null,
"template": "homepage",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 4,
"name": "Homepage 4",
"slug": "homepage-4",
"description": null,
"image": null,
"template": "homepage",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 5,
"name": "Blog",
"slug": "blog",
"description": null,
"image": null,
"template": "blog-grid",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 6,
"name": "Contact",
"slug": "contact",
"description": null,
"image": null,
"template": "default",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 7,
"name": "About us",
"slug": "about-us",
"description": null,
"image": null,
"template": "right-sidebar",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 8,
"name": "Cookie Policy",
"slug": "cookie-policy",
"description": null,
"image": null,
"template": "default",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 9,
"name": "Terms & Conditions",
"slug": "terms-conditions",
"description": null,
"image": null,
"template": "default",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
},
{
"id": 10,
"name": "Returns & Exchanges",
"slug": "returns-exchanges",
"description": null,
"image": null,
"template": "default",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-05-17T08:45:33.000000Z",
"updated_at": "2025-05-17T08:45:33.000000Z"
}
],
"links": {
"first": "https://nest.botble.com/api/v1/pages?page=1",
"last": "https://nest.botble.com/api/v1/pages?page=2",
"prev": null,
"next": "https://nest.botble.com/api/v1/pages?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/pages?page=1",
"label": "1",
"active": true
},
{
"url": "https://nest.botble.com/api/v1/pages?page=2",
"label": "2",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/pages?page=2",
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/pages",
"per_page": 10,
"to": 10,
"total": 19
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get page by ID
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/pages/564?id=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/pages/564"
);
const params = {
"id": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product Categories
Get list of product categories
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/product-categories" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_featured\": false
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/product-categories"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_featured": false
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 13,
"name": "Pet Foods",
"icon": null,
"icon_image": "product-categories/icon-13.png",
"is_featured": 0,
"parent_id": 0,
"slug": "pet-foods",
"image_with_sizes": {
"origin": "https://nest.botble.com/storage/product-categories/image-13.png",
"thumb": "https://nest.botble.com/storage/product-categories/image-13-150x150.png",
"medium": "https://nest.botble.com/storage/product-categories/image-13-800x800.png",
"product-thumb": "https://nest.botble.com/storage/product-categories/image-13-400x400.png"
}
},
{
"id": 14,
"name": "Diet Foods",
"icon": null,
"icon_image": "product-categories/icon-14.png",
"is_featured": 0,
"parent_id": 0,
"slug": "diet-foods",
"image_with_sizes": {
"origin": "https://nest.botble.com/storage/product-categories/image-14.png",
"thumb": "https://nest.botble.com/storage/product-categories/image-14-150x150.png",
"medium": "https://nest.botble.com/storage/product-categories/image-14-800x800.png",
"product-thumb": "https://nest.botble.com/storage/product-categories/image-14-400x400.png"
}
}
],
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get product category details by slug
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/product-categories/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/product-categories/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": ""
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get products by category
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/product-categories/564/products" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/product-categories/564/products"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "No query results for model [Botble\\Ecommerce\\Models\\ProductCategory] 564"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Products
Get list of products
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/products?sort_by=architecto&price_ranges=%5B%7B%22from%22%3A10%2C%22to%22%3A20%7D%2C%7B%22from%22%3A30%2C%22to%22%3A40%7D%5D&attributes=%5B%7B%22id%22%3A1%2C%22value%22%3A1%7D%2C%7B%22id%22%3A2%2C%22value%22%3A2%7D%5D" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/products"
);
const params = {
"sort_by": "architecto",
"price_ranges": "[{"from":10,"to":20},{"from":30,"to":40}]",
"attributes": "[{"id":1,"value":1},{"id":2,"value":2}]",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://nest.botble.com/api/v1/ecommerce/products?page=1",
"last": "https://nest.botble.com/api/v1/ecommerce/products?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://nest.botble.com/api/v1/ecommerce/products?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://nest.botble.com/api/v1/ecommerce/products",
"per_page": 12,
"to": null,
"total": 0
},
"error": false,
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get product details by slug
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/products/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/products/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": ""
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get related products
Get cross-sale products for a product
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/products/architecto/cross-sale" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/products/architecto/cross-sale"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": ""
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get product's reviews
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/products/architecto/reviews" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/products/architecto/reviews"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": ""
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get product variation by attributes
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/product-variation/564?attributes=" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reference_product\": \"architecto\",
\"attributes\": [
\"architecto\"
]
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/product-variation/564"
);
const params = {
"attributes": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reference_product": "architecto",
"attributes": [
"architecto"
]
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Not available"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile
Get the user profile information.
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/me" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/me"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update profile
requires authentication
Example request:
curl --request PUT \
"https://nest.botble.com/api/v1/me" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"bngz\",
\"last_name\": \"miyv\",
\"name\": \"architecto\",
\"phone\": \"architecto\",
\"dob\": \"architecto\",
\"gender\": \"architecto\",
\"description\": \"Eius et animi quos velit et.\",
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/me"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "bngz",
"last_name": "miyv",
"name": "architecto",
"phone": "architecto",
"dob": "architecto",
"gender": "architecto",
"description": "Eius et animi quos velit et.",
"email": "[email protected]"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Avatar
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/update/avatar" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "avatar=@/tmp/phpr0fjqjoiliat5zCvXT5"
const url = new URL(
"https://nest.botble.com/api/v1/update/avatar"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update password
requires authentication
Example request:
curl --request PUT \
"https://nest.botble.com/api/v1/update/password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"|]|{+-\",
\"old_password\": \"architecto\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/update/password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "|]|{+-",
"old_password": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get user settings
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update user settings
requires authentication
Example request:
curl --request PUT \
"https://nest.botble.com/api/v1/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"biometric_enabled\": false,
\"notification_enabled\": false,
\"language\": \"architecto\",
\"currency\": \"architecto\",
\"theme\": \"architecto\",
\"timezone\": \"America\\/Hermosillo\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"biometric_enabled": false,
"notification_enabled": false,
"language": "architecto",
"currency": "architecto",
"theme": "architecto",
"timezone": "America\/Hermosillo"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reviews
Get list of reviews for the current user
requires authentication
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/reviews" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/reviews"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new review
requires authentication
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/reviews" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1,
\"star\": 5,
\"comment\": \"This is a great product! I highly recommend it.\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/reviews"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1,
"star": 5,
"comment": "This is a great product! I highly recommend it."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a review
requires authentication
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/ecommerce/reviews/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/reviews/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Simple Slider
Get sliders
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/simple-sliders?keys[]=home-slider&keys[]=product-slider" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"keys\": [
\"home-slider\",
\"product-slider\"
]
}"
const url = new URL(
"https://nest.botble.com/api/v1/simple-sliders"
);
const params = {
"keys[0]": "home-slider",
"keys[1]": "product-slider",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"keys": [
"home-slider",
"product-slider"
]
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": false,
"data": [],
"message": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Wishlist
Add product to wishlist
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/wishlist" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/wishlist"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add product to wishlist
Example request:
curl --request POST \
"https://nest.botble.com/api/v1/ecommerce/wishlist/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/wishlist/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove a product from wishlist
Example request:
curl --request DELETE \
"https://nest.botble.com/api/v1/ecommerce/wishlist/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_id\": 1
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/wishlist/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_id": 1
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get wishlist items
Example request:
curl --request GET \
--get "https://nest.botble.com/api/v1/ecommerce/wishlist/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"e70c6c88dae8344b03e39bb147eba66a\"
}"
const url = new URL(
"https://nest.botble.com/api/v1/ecommerce/wishlist/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "e70c6c88dae8344b03e39bb147eba66a"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"id": "architecto",
"data": {
"count": 0,
"items": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.