curl --request POST \
--url https://api.mareaalcalina.com/v1/storefronts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": true
}
},
"delivery": {
"enabled": true,
"fixedPrice": 1,
"ranges": [
{
"fromKm": 1,
"toKm": 1,
"price": 1
}
]
},
"pickup": true,
"dineIn": true,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"blocks": "auto",
"categories": [
{
"name": "<string>",
"position": 123
}
],
"products": [
{
"title": "<string>",
"price": 1,
"description": "<string>",
"salePrice": 1,
"category": "<string>",
"subcategory": "<string>",
"imageUrl": "<string>",
"thumbnailUrl": "<string>",
"sku": "<string>",
"slug": "<string>",
"position": 123,
"cartProduct": true,
"hide": true,
"stock": 1,
"tags": [
"<string>"
],
"extraProductsCategory": [
{
"title": "<string>",
"obligatory": true,
"multipleOption": true,
"maxOptions": 123,
"minOptions": 123,
"extraProducts": [
{
"title": "<string>",
"price": 1,
"available": true,
"stock": 123
}
]
}
]
}
],
"hidden": true
}
'import requests
url = "https://api.mareaalcalina.com/v1/storefronts"
payload = {
"name": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": True
}
},
"delivery": {
"enabled": True,
"fixedPrice": 1,
"ranges": [
{
"fromKm": 1,
"toKm": 1,
"price": 1
}
]
},
"pickup": True,
"dineIn": True,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"blocks": "auto",
"categories": [
{
"name": "<string>",
"position": 123
}
],
"products": [
{
"title": "<string>",
"price": 1,
"description": "<string>",
"salePrice": 1,
"category": "<string>",
"subcategory": "<string>",
"imageUrl": "<string>",
"thumbnailUrl": "<string>",
"sku": "<string>",
"slug": "<string>",
"position": 123,
"cartProduct": True,
"hide": True,
"stock": 1,
"tags": ["<string>"],
"extraProductsCategory": [
{
"title": "<string>",
"obligatory": True,
"multipleOption": True,
"maxOptions": 123,
"minOptions": 123,
"extraProducts": [
{
"title": "<string>",
"price": 1,
"available": True,
"stock": 123
}
]
}
]
}
],
"hidden": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
branding: {
logoUrl: '<string>',
backgroundUrl: '<string>',
theme: {primary: '<string>', secondary: '<string>', tertiary: '<string>'},
font: '<string>'
},
schedule: {
monday: {open: '<string>', close: '<string>', closed: true},
tuesday: {open: '<string>', close: '<string>', closed: true},
wednesday: {open: '<string>', close: '<string>', closed: true},
thursday: {open: '<string>', close: '<string>', closed: true},
friday: {open: '<string>', close: '<string>', closed: true},
saturday: {open: '<string>', close: '<string>', closed: true},
sunday: {open: '<string>', close: '<string>', closed: true}
},
delivery: {enabled: true, fixedPrice: 1, ranges: [{fromKm: 1, toKm: 1, price: 1}]},
pickup: true,
dineIn: true,
whatsapp: '<string>',
biography: {title: '<string>', description: '<string>'},
blocks: 'auto',
categories: [{name: '<string>', position: 123}],
products: [
{
title: '<string>',
price: 1,
description: '<string>',
salePrice: 1,
category: '<string>',
subcategory: '<string>',
imageUrl: '<string>',
thumbnailUrl: '<string>',
sku: '<string>',
slug: '<string>',
position: 123,
cartProduct: true,
hide: true,
stock: 1,
tags: ['<string>'],
extraProductsCategory: [
{
title: '<string>',
obligatory: true,
multipleOption: true,
maxOptions: 123,
minOptions: 123,
extraProducts: [{title: '<string>', price: 1, available: true, stock: 123}]
}
]
}
],
hidden: true
})
};
fetch('https://api.mareaalcalina.com/v1/storefronts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mareaalcalina.com/v1/storefronts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'branding' => [
'logoUrl' => '<string>',
'backgroundUrl' => '<string>',
'theme' => [
'primary' => '<string>',
'secondary' => '<string>',
'tertiary' => '<string>'
],
'font' => '<string>'
],
'schedule' => [
'monday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'tuesday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'wednesday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'thursday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'friday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'saturday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'sunday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
]
],
'delivery' => [
'enabled' => true,
'fixedPrice' => 1,
'ranges' => [
[
'fromKm' => 1,
'toKm' => 1,
'price' => 1
]
]
],
'pickup' => true,
'dineIn' => true,
'whatsapp' => '<string>',
'biography' => [
'title' => '<string>',
'description' => '<string>'
],
'blocks' => 'auto',
'categories' => [
[
'name' => '<string>',
'position' => 123
]
],
'products' => [
[
'title' => '<string>',
'price' => 1,
'description' => '<string>',
'salePrice' => 1,
'category' => '<string>',
'subcategory' => '<string>',
'imageUrl' => '<string>',
'thumbnailUrl' => '<string>',
'sku' => '<string>',
'slug' => '<string>',
'position' => 123,
'cartProduct' => true,
'hide' => true,
'stock' => 1,
'tags' => [
'<string>'
],
'extraProductsCategory' => [
[
'title' => '<string>',
'obligatory' => true,
'multipleOption' => true,
'maxOptions' => 123,
'minOptions' => 123,
'extraProducts' => [
[
'title' => '<string>',
'price' => 1,
'available' => true,
'stock' => 123
]
]
]
]
]
],
'hidden' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mareaalcalina.com/v1/storefronts"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"branding\": {\n \"logoUrl\": \"<string>\",\n \"backgroundUrl\": \"<string>\",\n \"theme\": {\n \"primary\": \"<string>\",\n \"secondary\": \"<string>\",\n \"tertiary\": \"<string>\"\n },\n \"font\": \"<string>\"\n },\n \"schedule\": {\n \"monday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"tuesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"wednesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"thursday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"friday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"saturday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"sunday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n }\n },\n \"delivery\": {\n \"enabled\": true,\n \"fixedPrice\": 1,\n \"ranges\": [\n {\n \"fromKm\": 1,\n \"toKm\": 1,\n \"price\": 1\n }\n ]\n },\n \"pickup\": true,\n \"dineIn\": true,\n \"whatsapp\": \"<string>\",\n \"biography\": {\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"blocks\": \"auto\",\n \"categories\": [\n {\n \"name\": \"<string>\",\n \"position\": 123\n }\n ],\n \"products\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"description\": \"<string>\",\n \"salePrice\": 1,\n \"category\": \"<string>\",\n \"subcategory\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"thumbnailUrl\": \"<string>\",\n \"sku\": \"<string>\",\n \"slug\": \"<string>\",\n \"position\": 123,\n \"cartProduct\": true,\n \"hide\": true,\n \"stock\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"extraProductsCategory\": [\n {\n \"title\": \"<string>\",\n \"obligatory\": true,\n \"multipleOption\": true,\n \"maxOptions\": 123,\n \"minOptions\": 123,\n \"extraProducts\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"available\": true,\n \"stock\": 123\n }\n ]\n }\n ]\n }\n ],\n \"hidden\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mareaalcalina.com/v1/storefronts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"branding\": {\n \"logoUrl\": \"<string>\",\n \"backgroundUrl\": \"<string>\",\n \"theme\": {\n \"primary\": \"<string>\",\n \"secondary\": \"<string>\",\n \"tertiary\": \"<string>\"\n },\n \"font\": \"<string>\"\n },\n \"schedule\": {\n \"monday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"tuesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"wednesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"thursday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"friday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"saturday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"sunday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n }\n },\n \"delivery\": {\n \"enabled\": true,\n \"fixedPrice\": 1,\n \"ranges\": [\n {\n \"fromKm\": 1,\n \"toKm\": 1,\n \"price\": 1\n }\n ]\n },\n \"pickup\": true,\n \"dineIn\": true,\n \"whatsapp\": \"<string>\",\n \"biography\": {\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"blocks\": \"auto\",\n \"categories\": [\n {\n \"name\": \"<string>\",\n \"position\": 123\n }\n ],\n \"products\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"description\": \"<string>\",\n \"salePrice\": 1,\n \"category\": \"<string>\",\n \"subcategory\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"thumbnailUrl\": \"<string>\",\n \"sku\": \"<string>\",\n \"slug\": \"<string>\",\n \"position\": 123,\n \"cartProduct\": true,\n \"hide\": true,\n \"stock\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"extraProductsCategory\": [\n {\n \"title\": \"<string>\",\n \"obligatory\": true,\n \"multipleOption\": true,\n \"maxOptions\": 123,\n \"minOptions\": 123,\n \"extraProducts\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"available\": true,\n \"stock\": 123\n }\n ]\n }\n ]\n }\n ],\n \"hidden\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mareaalcalina.com/v1/storefronts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"branding\": {\n \"logoUrl\": \"<string>\",\n \"backgroundUrl\": \"<string>\",\n \"theme\": {\n \"primary\": \"<string>\",\n \"secondary\": \"<string>\",\n \"tertiary\": \"<string>\"\n },\n \"font\": \"<string>\"\n },\n \"schedule\": {\n \"monday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"tuesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"wednesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"thursday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"friday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"saturday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"sunday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n }\n },\n \"delivery\": {\n \"enabled\": true,\n \"fixedPrice\": 1,\n \"ranges\": [\n {\n \"fromKm\": 1,\n \"toKm\": 1,\n \"price\": 1\n }\n ]\n },\n \"pickup\": true,\n \"dineIn\": true,\n \"whatsapp\": \"<string>\",\n \"biography\": {\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"blocks\": \"auto\",\n \"categories\": [\n {\n \"name\": \"<string>\",\n \"position\": 123\n }\n ],\n \"products\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"description\": \"<string>\",\n \"salePrice\": 1,\n \"category\": \"<string>\",\n \"subcategory\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"thumbnailUrl\": \"<string>\",\n \"sku\": \"<string>\",\n \"slug\": \"<string>\",\n \"position\": 123,\n \"cartProduct\": true,\n \"hide\": true,\n \"stock\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"extraProductsCategory\": [\n {\n \"title\": \"<string>\",\n \"obligatory\": true,\n \"multipleOption\": true,\n \"maxOptions\": 123,\n \"minOptions\": 123,\n \"extraProducts\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"available\": true,\n \"stock\": 123\n }\n ]\n }\n ]\n }\n ],\n \"hidden\": true\n}"
response = http.request(request)
puts response.read_body{
"storefront": {
"id": "stf_abc123",
"name": "<string>",
"language": "es",
"currency": "<string>",
"businessType": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": true
}
},
"delivery": {
"enabled": true,
"type": "fixed",
"fixedPrice": 123,
"ranges": [
{
"fromKm": 123,
"toKm": 123,
"price": 123
}
]
},
"pickup": true,
"dineIn": true,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"categories": [
{
"name": "<string>",
"position": 123
}
],
"slug": "<string>",
"hidden": true,
"published": true,
"_links": {
"editUrl": "<string>",
"publicUrl": "<string>"
},
"createdAt": "<string>",
"updatedAt": "<string>"
},
"errors": [
{
"type": "plan_limit",
"code": "products_over_limit",
"message": "<string>",
"param": "products",
"doc": "<string>",
"recoverable": true,
"recovery": {
"skippedCount": 1,
"skippedProducts": [
{
"index": 1,
"title": "<string>"
}
],
"upgrade": {
"currentPlan": "<string>",
"requiredPlan": "<string>",
"upgradeUrl": "<string>"
}
}
}
]
}{
"storefront": {
"id": "stf_abc123",
"name": "<string>",
"language": "es",
"currency": "<string>",
"businessType": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": true
}
},
"delivery": {
"enabled": true,
"type": "fixed",
"fixedPrice": 123,
"ranges": [
{
"fromKm": 123,
"toKm": 123,
"price": 123
}
]
},
"pickup": true,
"dineIn": true,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"categories": [
{
"name": "<string>",
"position": 123
}
],
"slug": "<string>",
"hidden": true,
"published": true,
"_links": {
"editUrl": "<string>",
"publicUrl": "<string>"
},
"createdAt": "<string>",
"updatedAt": "<string>"
},
"errors": [
{
"type": "plan_limit",
"code": "products_over_limit",
"message": "<string>",
"param": "products",
"doc": "<string>",
"recoverable": true,
"recovery": {
"skippedCount": 1,
"skippedProducts": [
{
"index": 1,
"title": "<string>"
}
],
"upgrade": {
"currentPlan": "<string>",
"requiredPlan": "<string>",
"upgradeUrl": "<string>"
}
}
}
]
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}Use this when the user wants to create a new online storefront from scratch.
Creates a storefront from a StorefrontManifest. Returns 201 with the full storefront. If the manifest contains more products than the plan allows, returns 207 Multi-Status with the storefront created (up to plan cap) plus an errors array describing the over-cap items.
curl --request POST \
--url https://api.mareaalcalina.com/v1/storefronts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": true
}
},
"delivery": {
"enabled": true,
"fixedPrice": 1,
"ranges": [
{
"fromKm": 1,
"toKm": 1,
"price": 1
}
]
},
"pickup": true,
"dineIn": true,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"blocks": "auto",
"categories": [
{
"name": "<string>",
"position": 123
}
],
"products": [
{
"title": "<string>",
"price": 1,
"description": "<string>",
"salePrice": 1,
"category": "<string>",
"subcategory": "<string>",
"imageUrl": "<string>",
"thumbnailUrl": "<string>",
"sku": "<string>",
"slug": "<string>",
"position": 123,
"cartProduct": true,
"hide": true,
"stock": 1,
"tags": [
"<string>"
],
"extraProductsCategory": [
{
"title": "<string>",
"obligatory": true,
"multipleOption": true,
"maxOptions": 123,
"minOptions": 123,
"extraProducts": [
{
"title": "<string>",
"price": 1,
"available": true,
"stock": 123
}
]
}
]
}
],
"hidden": true
}
'import requests
url = "https://api.mareaalcalina.com/v1/storefronts"
payload = {
"name": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": True
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": True
}
},
"delivery": {
"enabled": True,
"fixedPrice": 1,
"ranges": [
{
"fromKm": 1,
"toKm": 1,
"price": 1
}
]
},
"pickup": True,
"dineIn": True,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"blocks": "auto",
"categories": [
{
"name": "<string>",
"position": 123
}
],
"products": [
{
"title": "<string>",
"price": 1,
"description": "<string>",
"salePrice": 1,
"category": "<string>",
"subcategory": "<string>",
"imageUrl": "<string>",
"thumbnailUrl": "<string>",
"sku": "<string>",
"slug": "<string>",
"position": 123,
"cartProduct": True,
"hide": True,
"stock": 1,
"tags": ["<string>"],
"extraProductsCategory": [
{
"title": "<string>",
"obligatory": True,
"multipleOption": True,
"maxOptions": 123,
"minOptions": 123,
"extraProducts": [
{
"title": "<string>",
"price": 1,
"available": True,
"stock": 123
}
]
}
]
}
],
"hidden": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
branding: {
logoUrl: '<string>',
backgroundUrl: '<string>',
theme: {primary: '<string>', secondary: '<string>', tertiary: '<string>'},
font: '<string>'
},
schedule: {
monday: {open: '<string>', close: '<string>', closed: true},
tuesday: {open: '<string>', close: '<string>', closed: true},
wednesday: {open: '<string>', close: '<string>', closed: true},
thursday: {open: '<string>', close: '<string>', closed: true},
friday: {open: '<string>', close: '<string>', closed: true},
saturday: {open: '<string>', close: '<string>', closed: true},
sunday: {open: '<string>', close: '<string>', closed: true}
},
delivery: {enabled: true, fixedPrice: 1, ranges: [{fromKm: 1, toKm: 1, price: 1}]},
pickup: true,
dineIn: true,
whatsapp: '<string>',
biography: {title: '<string>', description: '<string>'},
blocks: 'auto',
categories: [{name: '<string>', position: 123}],
products: [
{
title: '<string>',
price: 1,
description: '<string>',
salePrice: 1,
category: '<string>',
subcategory: '<string>',
imageUrl: '<string>',
thumbnailUrl: '<string>',
sku: '<string>',
slug: '<string>',
position: 123,
cartProduct: true,
hide: true,
stock: 1,
tags: ['<string>'],
extraProductsCategory: [
{
title: '<string>',
obligatory: true,
multipleOption: true,
maxOptions: 123,
minOptions: 123,
extraProducts: [{title: '<string>', price: 1, available: true, stock: 123}]
}
]
}
],
hidden: true
})
};
fetch('https://api.mareaalcalina.com/v1/storefronts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mareaalcalina.com/v1/storefronts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'branding' => [
'logoUrl' => '<string>',
'backgroundUrl' => '<string>',
'theme' => [
'primary' => '<string>',
'secondary' => '<string>',
'tertiary' => '<string>'
],
'font' => '<string>'
],
'schedule' => [
'monday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'tuesday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'wednesday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'thursday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'friday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'saturday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
],
'sunday' => [
'open' => '<string>',
'close' => '<string>',
'closed' => true
]
],
'delivery' => [
'enabled' => true,
'fixedPrice' => 1,
'ranges' => [
[
'fromKm' => 1,
'toKm' => 1,
'price' => 1
]
]
],
'pickup' => true,
'dineIn' => true,
'whatsapp' => '<string>',
'biography' => [
'title' => '<string>',
'description' => '<string>'
],
'blocks' => 'auto',
'categories' => [
[
'name' => '<string>',
'position' => 123
]
],
'products' => [
[
'title' => '<string>',
'price' => 1,
'description' => '<string>',
'salePrice' => 1,
'category' => '<string>',
'subcategory' => '<string>',
'imageUrl' => '<string>',
'thumbnailUrl' => '<string>',
'sku' => '<string>',
'slug' => '<string>',
'position' => 123,
'cartProduct' => true,
'hide' => true,
'stock' => 1,
'tags' => [
'<string>'
],
'extraProductsCategory' => [
[
'title' => '<string>',
'obligatory' => true,
'multipleOption' => true,
'maxOptions' => 123,
'minOptions' => 123,
'extraProducts' => [
[
'title' => '<string>',
'price' => 1,
'available' => true,
'stock' => 123
]
]
]
]
]
],
'hidden' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mareaalcalina.com/v1/storefronts"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"branding\": {\n \"logoUrl\": \"<string>\",\n \"backgroundUrl\": \"<string>\",\n \"theme\": {\n \"primary\": \"<string>\",\n \"secondary\": \"<string>\",\n \"tertiary\": \"<string>\"\n },\n \"font\": \"<string>\"\n },\n \"schedule\": {\n \"monday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"tuesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"wednesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"thursday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"friday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"saturday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"sunday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n }\n },\n \"delivery\": {\n \"enabled\": true,\n \"fixedPrice\": 1,\n \"ranges\": [\n {\n \"fromKm\": 1,\n \"toKm\": 1,\n \"price\": 1\n }\n ]\n },\n \"pickup\": true,\n \"dineIn\": true,\n \"whatsapp\": \"<string>\",\n \"biography\": {\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"blocks\": \"auto\",\n \"categories\": [\n {\n \"name\": \"<string>\",\n \"position\": 123\n }\n ],\n \"products\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"description\": \"<string>\",\n \"salePrice\": 1,\n \"category\": \"<string>\",\n \"subcategory\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"thumbnailUrl\": \"<string>\",\n \"sku\": \"<string>\",\n \"slug\": \"<string>\",\n \"position\": 123,\n \"cartProduct\": true,\n \"hide\": true,\n \"stock\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"extraProductsCategory\": [\n {\n \"title\": \"<string>\",\n \"obligatory\": true,\n \"multipleOption\": true,\n \"maxOptions\": 123,\n \"minOptions\": 123,\n \"extraProducts\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"available\": true,\n \"stock\": 123\n }\n ]\n }\n ]\n }\n ],\n \"hidden\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mareaalcalina.com/v1/storefronts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"branding\": {\n \"logoUrl\": \"<string>\",\n \"backgroundUrl\": \"<string>\",\n \"theme\": {\n \"primary\": \"<string>\",\n \"secondary\": \"<string>\",\n \"tertiary\": \"<string>\"\n },\n \"font\": \"<string>\"\n },\n \"schedule\": {\n \"monday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"tuesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"wednesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"thursday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"friday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"saturday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"sunday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n }\n },\n \"delivery\": {\n \"enabled\": true,\n \"fixedPrice\": 1,\n \"ranges\": [\n {\n \"fromKm\": 1,\n \"toKm\": 1,\n \"price\": 1\n }\n ]\n },\n \"pickup\": true,\n \"dineIn\": true,\n \"whatsapp\": \"<string>\",\n \"biography\": {\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"blocks\": \"auto\",\n \"categories\": [\n {\n \"name\": \"<string>\",\n \"position\": 123\n }\n ],\n \"products\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"description\": \"<string>\",\n \"salePrice\": 1,\n \"category\": \"<string>\",\n \"subcategory\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"thumbnailUrl\": \"<string>\",\n \"sku\": \"<string>\",\n \"slug\": \"<string>\",\n \"position\": 123,\n \"cartProduct\": true,\n \"hide\": true,\n \"stock\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"extraProductsCategory\": [\n {\n \"title\": \"<string>\",\n \"obligatory\": true,\n \"multipleOption\": true,\n \"maxOptions\": 123,\n \"minOptions\": 123,\n \"extraProducts\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"available\": true,\n \"stock\": 123\n }\n ]\n }\n ]\n }\n ],\n \"hidden\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mareaalcalina.com/v1/storefronts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"branding\": {\n \"logoUrl\": \"<string>\",\n \"backgroundUrl\": \"<string>\",\n \"theme\": {\n \"primary\": \"<string>\",\n \"secondary\": \"<string>\",\n \"tertiary\": \"<string>\"\n },\n \"font\": \"<string>\"\n },\n \"schedule\": {\n \"monday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"tuesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"wednesday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"thursday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"friday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"saturday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n },\n \"sunday\": {\n \"open\": \"<string>\",\n \"close\": \"<string>\",\n \"closed\": true\n }\n },\n \"delivery\": {\n \"enabled\": true,\n \"fixedPrice\": 1,\n \"ranges\": [\n {\n \"fromKm\": 1,\n \"toKm\": 1,\n \"price\": 1\n }\n ]\n },\n \"pickup\": true,\n \"dineIn\": true,\n \"whatsapp\": \"<string>\",\n \"biography\": {\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"blocks\": \"auto\",\n \"categories\": [\n {\n \"name\": \"<string>\",\n \"position\": 123\n }\n ],\n \"products\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"description\": \"<string>\",\n \"salePrice\": 1,\n \"category\": \"<string>\",\n \"subcategory\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"thumbnailUrl\": \"<string>\",\n \"sku\": \"<string>\",\n \"slug\": \"<string>\",\n \"position\": 123,\n \"cartProduct\": true,\n \"hide\": true,\n \"stock\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"extraProductsCategory\": [\n {\n \"title\": \"<string>\",\n \"obligatory\": true,\n \"multipleOption\": true,\n \"maxOptions\": 123,\n \"minOptions\": 123,\n \"extraProducts\": [\n {\n \"title\": \"<string>\",\n \"price\": 1,\n \"available\": true,\n \"stock\": 123\n }\n ]\n }\n ]\n }\n ],\n \"hidden\": true\n}"
response = http.request(request)
puts response.read_body{
"storefront": {
"id": "stf_abc123",
"name": "<string>",
"language": "es",
"currency": "<string>",
"businessType": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": true
}
},
"delivery": {
"enabled": true,
"type": "fixed",
"fixedPrice": 123,
"ranges": [
{
"fromKm": 123,
"toKm": 123,
"price": 123
}
]
},
"pickup": true,
"dineIn": true,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"categories": [
{
"name": "<string>",
"position": 123
}
],
"slug": "<string>",
"hidden": true,
"published": true,
"_links": {
"editUrl": "<string>",
"publicUrl": "<string>"
},
"createdAt": "<string>",
"updatedAt": "<string>"
},
"errors": [
{
"type": "plan_limit",
"code": "products_over_limit",
"message": "<string>",
"param": "products",
"doc": "<string>",
"recoverable": true,
"recovery": {
"skippedCount": 1,
"skippedProducts": [
{
"index": 1,
"title": "<string>"
}
],
"upgrade": {
"currentPlan": "<string>",
"requiredPlan": "<string>",
"upgradeUrl": "<string>"
}
}
}
]
}{
"storefront": {
"id": "stf_abc123",
"name": "<string>",
"language": "es",
"currency": "<string>",
"businessType": "<string>",
"branding": {
"logoUrl": "<string>",
"backgroundUrl": "<string>",
"theme": {
"primary": "<string>",
"secondary": "<string>",
"tertiary": "<string>"
},
"font": "<string>"
},
"schedule": {
"monday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"tuesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"wednesday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"thursday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"friday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"saturday": {
"open": "<string>",
"close": "<string>",
"closed": true
},
"sunday": {
"open": "<string>",
"close": "<string>",
"closed": true
}
},
"delivery": {
"enabled": true,
"type": "fixed",
"fixedPrice": 123,
"ranges": [
{
"fromKm": 123,
"toKm": 123,
"price": 123
}
]
},
"pickup": true,
"dineIn": true,
"whatsapp": "<string>",
"biography": {
"title": "<string>",
"description": "<string>"
},
"categories": [
{
"name": "<string>",
"position": 123
}
],
"slug": "<string>",
"hidden": true,
"published": true,
"_links": {
"editUrl": "<string>",
"publicUrl": "<string>"
},
"createdAt": "<string>",
"updatedAt": "<string>"
},
"errors": [
{
"type": "plan_limit",
"code": "products_over_limit",
"message": "<string>",
"param": "products",
"doc": "<string>",
"recoverable": true,
"recovery": {
"skippedCount": 1,
"skippedProducts": [
{
"index": 1,
"title": "<string>"
}
],
"upgrade": {
"currentPlan": "<string>",
"requiredPlan": "<string>",
"upgradeUrl": "<string>"
}
}
}
]
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "https://docs.mareaalcalina.com/concepts/errors",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/menus/profile?changePlan=basic&frequency=monthly&planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Agent-facing storefront input shape (RFC §6.18.1). Every field is PATCHable per §6.18.1.1.
1 - 100es, en, pt AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZWL Restaurante, Comida a domicilio, Cafetería, Bar, Panadería y Repostería, Alimentos en la despensa, Bebidas Alcohólicas, Bebidas no alcohólicas, Licorería, Carnicería, Minimercado, Tienda de barrio, Moda, Belleza y cuidado personal, Barbería y salón de belleza, Estética y salud, Farmacia, Gimnasio, Joyería, Juguetes, Infantil, Mascotas, Muebles y decoración del hogar, Artículos para el hogar, Mejora del hogar, Electrodomésticos, Electrónicos, Celulares, Consolas y videojuegos, Instrumentos musicales, Herramientas, Artículos de oficina, Deportes, Cultura, Refacciones y autopartes, Taller automotriz, Vehículos, Organización de eventos, Servicios educativos, Servicios profesionales, Agencia de Marketing, Otro Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
^\+[1-9]\d{7,14}$Show child attributes
Show child attributes
REPLACES the whole block list. On PATCH, send the complete array — anything you omit is removed, not merged.
auto REPLACES the whole category list. On PATCH, send the complete array — categories you omit are deleted, and products still referencing them keep an orphan category string.
Show child attributes
Show child attributes
100Show child attributes
Show child attributes