Overview

Our first Content API in the MENA Region composed of a series of Cloud Microservices, working interchangeably your SSO Account.
The goal is to take over the complex infrastructure, database, storage, and scalability requirements, and leave the frontend channels for you to work in hassle-free environment, with the power of content reuse and multi-language translations. The result is a significant time saving.

Cloud APPS

Your primary profile, where you create web/mobile Apps for your customers. Each App has its own Content and API, with app-specific users (useful to give access to your customers on content management only). In addition to your billing information and history.

Cloud CMS

Custom tool made specifically for end-users (your customers), designed based on common-sense usability rule, in order to lift any technical barriers between them and the system.

  • Media albums (single layer):
    • Multiple types (photo/audio/video/file).
    • Custom thumbnail cropping.
    • Custom default album thumbnail.
    • Custom tags/captions.
    • Linked photos to special albums.
    • Sortable albums/photos.
  • Special albums:
    • Scheduled display.
    • Sortable photos (except linked from albums).
  • Nested pages:
    • Unique page identifier.
    • Page models (default/product/event).
    • Cover photo per page.
    • Custom page models.
    • Custom page tags/summary.
    • Custom content layout.
    • Content blocks (rich text/media/tables/files/form).
    • Sortable pages (multi-level).
  • News feed:
    • Custom date.
    • Cover photo per page.
    • Custom news tags/summary.
    • Custom content layout.
    • Content blocks (rich text/media/tables/files/form).
    • Automated RSS feed.
  • Contacts:
    • Multiple contact emails.
    • Multiple locations on map.
  • Social links.
  • SEO keywords and description.
  • Site search (matches pages/news).
  • Site multi-language content.
  • Responsive design.
  • Automated backups.
  • JSON RESTful API.
Cloud API

This is what it's all about, the actual RESTful API you're going to use for building their web/mobile apps rapidly.

Furthermore, you won't have to worry about losing your content anymore, we protect your content and take a backup on regular basis.
Also you're going to benefit from our free updates, we always work on our CMS and our API to add new features matches the latest technologies.

The Basics

Service Architecture

We host our servers on the cloud, so you'll never have to worry about scalability or how many requests your app might require.
You'll use our one account given to you across all of our Cloud Services (APPS, CMS, and API) using SSO (Single-Sign On).
All uploads will be stored on and delivered from our Cloud Storage.

How it Works

Using our RESTful API is easy in 3 steps:

1. Create an App
  1. Login to your Account (if you don't have an account, request one now).
  2. Create App
    1. Enter App title.
    2. Select App default language.
    3. Optionally, you can set App domain and currency.
    4. Tip:

      In case you do not have a hosting account elsewhere, feel free to use our 100MB micro hosting for your App (included in your App subscription, no additional fees required).

  3. After successful App creation, you'll get the following:
    1. API Key: Primary access to our API (see Developer Access).
    2. API Secret: Secondary access to our API, used in server-side projects, as well as mobile applications and any other standalone projects (do not use in web browsers).
  4. Optionally, you can edit your created App to add the following:
    1. Allowed Hosts: comma-separated IP whitelist.
    2. App Specific Users: limited user accounts for the app (Manage Content only, API Access only, or both).
2. Post App Content
  1. Login to our CMS using either your Developer account or an App Specific User account as mentioned above.
  2. Select your App.
  3. Start creating content (pages, albums, news, and, contacts).
3. Get JSON API
  1. Login to our API Console using either your Developer account or an App Specific User account as mentioned above.
  2. Select your App.
  3. Select API Method (see API Reference).
  4. Make API Request.
  5. Review API Response JSON.

Developer Access

Making API Requests is fairly simple, yet you need to do it carefully, where our servers have strict access to each App in an effort to protect your customers' content.

Request Requiements
# Option Value Required Notes
1 Endpoint https://api.oggeh.com Yes
2 Method POST Yes
3 URL Parameter api_key=[APP_API_KEY] Yes
4 URL Parameter lang=[LANGUAGE_CODE] No Supported languages codes are: en, ar, fr, de, it, fa, ru
5 URL Parameter api_secret=[APP_API_SECRET] No
6 Request Body [{"method":"[VALID_API_METHOD]"}] Yes Must be a JSON String, and contains at least one valid method (see API Reference).
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.pages"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en

Tip:

Request JSON body is composed of an Array, each element must have a valid method. This enables stacking multiple API Responses at once.

Authorized Requests

HTTP Origin

You need to include an Origin header matches your App domain.ltd

Request Example
curl -H "Origin: http://app.domain.ltd" -H "Content-Type: application/json" -X POST -d '[{"method":"get.app","select":"title"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en

IP Whitelist

Optionally, you can add one ot more IP address at your App allowed hosts, like your WAN address.

Sandbox

You might want to access your App content while not in production mode from your local environment, in order to do so, you need to include a SandBox custom header, which holds your App domain.ltd combined with your App API Key calculated as a Hash Message Authentication Code (HMAC + SHA512) using your App Sandbox Key as a shared secret.

Tip:

You will not be charged for your apps in development mode. Please do not use Sandbox headers in production mode to avoid blocking your App along with your Developer Account for violating our terms and conditions!

Code Example
import { sha512 } from "js-sha512";
const APP_DOMAIN = "app.domain.ltd"; // use empty string if not present in your app
fetch("https://api.oggeh.com/?api_key=[APP_API_KEY]", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        SandBox: sha512.hmac(
            "[APP_SANDBOX_KEY]",
            APP_DOMAIN + "[APP_API_KEY]"
        )
    },
    body: JSON.stringify([{ method: "get.app", select: "title" }])
})
    .then(res => Object.freeze(res.json()))
    .then(console.log)
    .catch(console.error);

Tip:

Your Sandbox key expires in 7 days, you can generate a new key after that, but we strongly discourage such behavior to avoid flagging your App for abusing our service.

Client Libraries

For a quick demonstration of our API Usage, we've created a few client libraries that guides you throughout the Frontend implementation (we'll keep updating this section as long as we have to).

Follow our official Github repository for instant updates.

# Library Description
1 JavaScript SDK Custom implementation for both client-side JavaScript projects, as well as NodeJS.
2 Twig Extension Custom implementation on top of Twig template engine, for more control over our API Response (conditional statements, loops, and custom functionality).
3 HTML Parser Custom HTML tag for automating our Content Delivery API. Perfect for skills limited to HTML and CSS only.

API Reference

This is what it's all about, you should be able to make API Requests at this point (see Developer Access).
Typical JSON Response consists of the following:

{
    "error": "",
    "stack": [
        {
            "error": "",
            "alias": "",
            "method": "",
            "output": []
        }
    ],
    "time": 0.0000
}

Since the request JSON body is already an Array (to enable stacking multiple API Responses at once), you'll get multiple responses for each request method, which is represented at the response attribute stack. Each response has a method attribute mapped to your original request, and an output attribute representing your actual response for that particular method.

Hint

Notice the alias attribute in response JSON, you can make use of this to mark each individual request method while you parse multiple responses.

Tip

You can review and test your app API Response using our API Console.

The following section represents all available API Methods:

Get App

Returns App configuration.

Parameters
# Name Default Value Required Description
1 method get.app Yes
2 select No comma-separated attributes to be filtered from the response output.

title app title
domain app domain.ltd
currency app currency
units app units
shipping_sla number of hours for shipping service level agreement.
default_lang app default language code (supported languages codes are: en, ar, fr, de, it, fa, ru)
languages array of all additional app language codes (other than english)
meta object for app keywords and description
social object of all app social links (network name as key, and network url as value)
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.app","select":"title,domain,currency,default_lang,languages,meta,social"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.app",
            "output": {
                "title": "",
                "domain": "",
                "currency": "",
                "default_lang": "",
                "languages": [],
                "meta": {
                    "keywords": "",
                    "description": ""
                },
                "social": {
                    "facebook": "https:\/\/facebook.com\/oggehllc",
                    ..
                }
            }
        }
    ],
    "time": 0.0000
}

Get Pages

Returns nested tree of App pages.

Parameters
# Name Default Value Required Description
1 method get.pages Yes
2 start_key No unique page identifier.
3 model No a string with the following options (omit to include only default pages):

* used to include all custom model pages
product used to include only product pages
event used to include only event pages
4 filters No an optional object (key/value pairs), use page custom model field `name` as `key` with the desired keyword as `value` (model field names are present in api response), for example: a custom model has a field with the name `brand`, so to look for `LG` only brands use:
"filters": {
    "brand": "LG"
}
5 price No an object with the following attributes (works only on `product` and `event` pages):

min start price
max end price
6 rating 0 No
7 start 0 No
8 limit 0 No
9 depth 0 No
10 has_childs false No required when depth >= 1
11 include_childs false No whether to include childs in response
12 include_hidden false No
13 only_hidden false No
14 only_locked false No
15 only_sale false No
16 only_special false No
17 only_models false No returns flat list of pages at the specified model
18 select No comma-separated attributes to be filtered from the response output.

key page unique identifier.
path chained page parents delimited with '/'.
subject page subject.
header page summary.
tags comma-separated keywords.
cover page cover photo.
photos array composed of all photos linked to page body.
audio array composed of all audio linked to page body.
videos array composed of all videos linked to page body.
files array composed of all files linked to page body.
blocks array of page grid blocks (only imported media items are included).
19 block_type No comma-separated types to be filtered from the blocks attribute above.

rte HTML string represents rich text block.
media array composed of linked media uploads block (photo, audio, and video).
files array composed of linked file uploads block.
table array composed of rows, each row is also an array composed of columns.
form array composed of public form fields block.
20 sort No an object with the following attributes (works only on `product` and `event` pages):

by accepts only one of the followign values: latest, price
order accepts only one of the followign values: asc, desc
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.pages","start_key":"","start":0,"limit":0,"depth":0,"rating":0,"has_childs":true,"include_childs":true,"include_hidden":false,"only_hidden":false,"only_locked":false,"only_sale":false,"only_special":false,"only_models":false,"select":"key,path,subject,header,tags,cover,photos,audio,videos,files,blocks","block_type":"rte,media,table,files,form","sort":{"by":"latest","order":"asc"}}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.pages",
            "output": [
                {
                    "key": "",
                    "model": [
                        {
                            "name": "",
                            "label": "",
                            "value": ""
                        }
                    ],
                    "path": "",
                    "subject": "",
                    "header": "",
                    "tags": [],
                    "cover": {
                        "regular": {
                            "url": ""
                        },
                        "maximum": {
                            "url": ""
                        },
                        "original": {
                            "url": ""
                        }
                    },
                    "photos": [
                        {
                            "default": false,
                            "code": "",
                            "ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "audio": [
                        {
                            "code": "",
                            "ext": "mp3",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "videos": [
                        {
                            "code": "",
                            "ext": "mp4",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "files": [
                        {
                            "code": "",
                            "ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "blocks": [
                        {
                            "title": "",
                            "type": "rte",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "html": ""
                        },
                        {
                            "title": "",
                            "type": "table",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "table": [
                                []
                            ]
                        },
                        {
                            "title": "",
                            "type": "media",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "media": [
                                {
                                    "id": 0,
                                    "type": "photo",
                                    "code": "",
                                    "ext": "",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    }
                                },
                                {
                                    "id": 0,
                                    "type": "audio",
                                    "code": "",
                                    "ext": "mp3",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    },
                                    "url": ""
                                },
                                {
                                    "id": 0,
                                    "type": "video",
                                    "code": "",
                                    "ext": "mp4",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    },
                                    "url": ""
                                }
                            ]
                        },
                        {
                            "title": "",
                            "type": "files",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "files": [
                                {
                                    "id": 0,
                                    "type": "file",
                                    "code": "",
                                    "ext": "",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    },
                                    "url": ""
                                }
                            ]
                        },
                        {
                            "title": "",
                            "type": "form",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "token": "",
                            "form": [
                                {
                                    "label": "",
                                    "type": "header",
                                    "subtype": "h1"
                                },
                                {
                                    "label": "",
                                    "type": "paragraph",
                                    "subtype": "p"
                                },
                                {
                                    "type": "hr"
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "text",
                                    "subtype": "text",
                                    "required": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "textarea",
                                    "required": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "checkbox",
                                    "required": false,
                                    "toggle": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "checkbox-group",
                                    "required": false,
                                    "options": [
                                        {
                                            "label": "",
                                            "value": ""
                                        }
                                    ]
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "radio-group",
                                    "required": false,
                                    "options": [
                                        {
                                            "label": "",
                                            "value": ""
                                        }
                                    ]
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "select",
                                    "required": false,
                                    "multiple": false,
                                    "options": [
                                        {
                                            "label": "",
                                            "value": ""
                                        }
                                    ]
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "file",
                                    "required": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "date",
                                    "required": false
                                },
                            ]
                        }
                    ],
                    "childs": []
                }
            ]
        }
    ],
    "time": 0.0000
}

Tip:

Response page model key/value pairs include:

name string model field name
label string model field label
value string or object either a single value or an object with label/value pairs (for multiple option field).
unit string optional model field unit, works only on numeric model fields.
pricing string optional model field pricing type, either `fixed` or `percent`, works only on numeric model fields.
filter boolean optional model filter field, useful for filtering pages (see Get Pages)

Get Pages Count

Returns total count of matching pages.

Parameters
# Name Default Value Required Description
1 method get.pages.count Yes
2 start_key No unique page identifier.
3 model No a string with the following options (omit to include only default pages):

* used to include all custom model pages
product used to include only product pages
event used to include only event pages
4 filters No an optional object (key/value pairs), use page custom model field `name` as `key` with the desired keyword as `value` (model field names are present in api response), for example: a custom model has a field with the name `brand`, so to look for `LG` only brands use:
"filters": {
    "brand": "LG"
}
5 price No an object with the following attributes (works only on `product` and `event` pages):

min start price
max end price
6 rating 0 No
7 start 0 No
8 limit 0 No
9 depth 0 No
10 has_childs false No required when depth >= 1
11 include_childs false No whether to include childs in response
12 include_hidden false No
13 only_hidden false No
14 only_locked false No
15 only_sale false No
16 only_special false No
17 only_models false No returns flat list of pages at the specified model
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.pages.count","start_key":"","start":0,"limit":0,"depth":0,"rating":0,"has_childs":true,"include_childs":true,"include_hidden":false,"only_hidden":false,"only_locked":false,"only_sale":false,"only_special":false,"only_models":false]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.pages.count",
            "output": 0
        }
    ],
    "time": 0.0000
}

Get Pages Filters

Returns available filters on matching pages.

Parameters
# Name Default Value Required Description
1 method get.pages.filters Yes
2 start_key No unique page identifier.
3 model No a string with the following options (omit to include only default pages):

* used to include all custom model pages
product used to include only product pages
event used to include only event pages
4 filters No an optional object (key/value pairs), use page custom model field `name` as `key` with the desired keyword as `value` (model field names are present in api response), for example: a custom model has a field with the name `brand`, so to look for `LG` only brands use:
"filters": {
    "brand": "LG"
}
5 price No an object with the following attributes (works only on `product` and `event` pages):

min start price
max end price
6 rating 0 No
7 start 0 No
8 limit 0 No
9 depth 0 No
10 has_childs false No required when depth >= 1
11 include_childs false No whether to include childs in response
12 include_hidden false No
13 only_hidden false No
14 only_locked false No
15 only_sale false No
16 only_special false No
17 only_models false No returns flat list of pages at the specified model
18 select No comma-separated attributes to be filtered from the response output.

key page unique identifier.
path chained page parents delimited with '/'.
subject page subject.
header page summary.
tags comma-separated keywords.
cover page cover photo.
photos array composed of all photos linked to page body.
audio array composed of all audio linked to page body.
videos array composed of all videos linked to page body.
files array composed of all files linked to page body.
blocks array of page grid blocks (only imported media items are included).
19 block_type No comma-separated types to be filtered from the blocks attribute above.

rte HTML string represents rich text block.
media array composed of linked media uploads block (photo, audio, and video).
files array composed of linked file uploads block.
table array composed of rows, each row is also an array composed of columns.
form array composed of public form fields block.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.pages.filters","start_key":"","start":0,"limit":0,"depth":0,"rating":0,"has_childs":true,"include_childs":true,"include_hidden":false,"only_hidden":false,"only_locked":false,"only_sale":false,"only_special":false,"only_models":false,"select":"key,path,subject,header,tags,cover,photos,audio,videos,files,blocks","block_type":"rte,media,table,files,form"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.pages.filters",
            "output": {
                "filters": [
                    {
                        "label": "Brand",
                        "name": "brand",
                        "options": [
                            "Ariston",
                            "Fresh",
                            "Fagor",
                            "LG"
                        ]
                    },
                    {
                        "label": "Loading Capacity",
                        "name": "loading-capacity",
                        "options": [
                            8,
                            48,
                            77
                        ],
                        "unit": "liter"
                    },
                    {
                        "label": "Loading Type",
                        "name": "loading-type",
                        "options": [
                            {
                                "label": "Front Loading",
                                "value": "option-1"
                            },
                            {
                                "label": "Top Loading",
                                "value": "option-2"
                            }
                        ]
                    }
                ],
                "price": {
                    "min": 554,
                    "max": 12917
                }
            }
        }
    ],
    "time": 0.0000
}

Get Page

Returns single page.

Parameters
# Name Default Value Required Description
1 method get.page Yes
2 key Yes page unique identifier.
3 select No comma-separated attributes to be filtered from the response output.

key page unique identifier.
path chained page parents delimited with '/'.
subject page subject.
header page summary.
tags comma-separated keywords.
cover page cover photo.
photos array composed of all photos linked to page body.
audio array composed of all audio linked to page body.
videos array composed of all videos linked to page body.
files array composed of all files linked to page body.
blocks array of page grid blocks (only imported media items are included).
4 block_type No comma-separated types to be filtered from the blocks attribute above.

rte HTML string represents rich text block.
media array composed of linked media uploads block (photo, audio, and video).
files array composed of linked file uploads block.
table array composed of rows, each row is also an array composed of columns.
form array composed of public form fields block.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.page","key":"[PAGE_UNIQUE_IDENTIFIER]","select":"key,path,subject,header,tags,cover,photos,audio,videos,files,blocks","block_type":"rte,media,table,files,form"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.page",
            "output": {
                "key": "",
                "model": [
                    {
                        "name": "",
                        "label": "",
                        "value": ""
                    }
                ],
                "path": "",
                "subject": "",
                "header": "",
                "tags": [],
                "cover": {
                    "regular": {
                        "url": ""
                    },
                    "maximum": {
                        "url": ""
                    },
                    "original": {
                        "url": ""
                    }
                },
                "photos": [
                    {
                        "default": false,
                        "code": "",
                        "ext": "",
                        "tags": [],
                        "caption": {
                            "title": "",
                            "description": ""
                        },
                        "thumbnail": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    }
                ],
                "audio": [
                    {
                        "code": "",
                        "ext": "mp3",
                        "tags": [],
                        "caption": {
                            "title": "",
                            "description": ""
                        },
                        "url": "",
                        "thumbnail": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    }
                ],
                "videos": [
                    {
                        "code": "",
                        "ext": "mp4",
                        "tags": [],
                        "caption": {
                            "title": "",
                            "description": ""
                        },
                        "url": "",
                        "thumbnail": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    }
                ],
                "files": [
                    {
                        "code": "",
                        "ext": "",
                        "tags": [],
                        "caption": {
                            "title": "",
                            "description": ""
                        },
                        "url": "",
                        "thumbnail": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    }
                ],
                "blocks": [
                    {
                        "title": "",
                        "type": "rte",
                        "col": 1,
                        "row": 1,
                        "size_x": 6,
                        "size_y": 1,
                        "html": ""
                    },
                    {
                        "title": "",
                        "type": "table",
                        "col": 1,
                        "row": 1,
                        "size_x": 6,
                        "size_y": 1,
                        "table": [
                            []
                        ]
                    },
                    {
                        "title": "",
                        "type": "media",
                        "col": 1,
                        "row": 1,
                        "size_x": 6,
                        "size_y": 1,
                        "media": [
                            {
                                "id": 0,
                                "type": "photo",
                                "code": "",
                                "ext": "",
                                "tags": [],
                                "caption": {
                                    "title": "",
                                    "description": ""
                                },
                                "thumbnail": {
                                    "url": ""
                                },
                                "regular": {
                                    "url": ""
                                },
                                "maximum": {
                                    "url": ""
                                },
                                "original": {
                                    "url": ""
                                }
                            },
                            {
                                "id": 0,
                                "type": "audio",
                                "code": "",
                                "ext": "mp3",
                                "tags": [],
                                "caption": {
                                    "title": "",
                                    "description": ""
                                },
                                "thumbnail": {
                                    "url": ""
                                },
                                "regular": {
                                    "url": ""
                                },
                                "maximum": {
                                    "url": ""
                                },
                                "original": {
                                    "url": ""
                                },
                                "url": ""
                            },
                            {
                                "id": 0,
                                "type": "video",
                                "code": "",
                                "ext": "mp4",
                                "tags": [],
                                "caption": {
                                    "title": "",
                                    "description": ""
                                },
                                "thumbnail": {
                                    "url": ""
                                },
                                "regular": {
                                    "url": ""
                                },
                                "maximum": {
                                    "url": ""
                                },
                                "original": {
                                    "url": ""
                                },
                                "url": ""
                            }
                        ]
                    },
                    {
                        "title": "",
                        "type": "files",
                        "col": 1,
                        "row": 1,
                        "size_x": 6,
                        "size_y": 1,
                        "files": [
                            {
                                "id": 0,
                                "type": "file",
                                "code": "",
                                "ext": "",
                                "tags": [],
                                "caption": {
                                    "title": "",
                                    "description": ""
                                },
                                "thumbnail": {
                                    "url": ""
                                },
                                "regular": {
                                    "url": ""
                                },
                                "maximum": {
                                    "url": ""
                                },
                                "original": {
                                    "url": ""
                                },
                                "url": ""
                            }
                        ]
                    },
                    {
                        "title": "",
                        "type": "form",
                        "col": 1,
                        "row": 1,
                        "size_x": 6,
                        "size_y": 1,
                        "token": "",
                        "form": [
                            {
                                "label": "",
                                "type": "header",
                                "subtype": "h1"
                            },
                            {
                                "label": "",
                                "type": "paragraph",
                                "subtype": "p"
                            },
                            {
                                "type": "hr"
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "text",
                                "subtype": "text",
                                "required": false
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "textarea",
                                "required": false
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "checkbox",
                                "required": false,
                                "toggle": false
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "checkbox-group",
                                "required": false,
                                "options": [
                                    {
                                        "label": "",
                                        "value": ""
                                    }
                                ]
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "radio-group",
                                "required": false,
                                "options": [
                                    {
                                        "label": "",
                                        "value": ""
                                    }
                                ]
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "select",
                                "required": false,
                                "multiple": false,
                                "options": [
                                    {
                                        "label": "",
                                        "value": ""
                                    }
                                ]
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "file",
                                "required": false
                            },
                            {
                                "name": "",
                                "label": "",
                                "type": "date",
                                "required": false
                            },
                        ]
                    }
                ]
            }
        }
    ],
    "time": 0.0000
}

Post Page Form

Submit form fields for a single page.

Parameters
# Name Default Value Required Description
1 method post.page.form Yes
2 key Yes page unique identifier.
3 token Yes unique form token (see Get Form Token).
4 url No optional page url, will be visible at the application notification emails.
5 customer No an optional object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_name optional customer name you might want to store along with each application.
user_email optional customer email you might want to store along with each application.
user_phone optional customer phone you might want to store along with each application.
user_address optional customer address you might want to store along with each application.
user_infon optional customer information you might want to store along with each application, you might add nested objects n times for each form additional paramater you want to store with each application (key/value pairs).
ignoren an array of ignored keys at the `extras` attribute, they will not be visible at the application notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
6 extrasn No you might add nested objects n times for each form additional paramater you want to store with each application (key/value pairs).
7 ignoren No an array of ignored keys at the `extras` attribute, they will not be visible at the application notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
8 field_namen Yes your should repeat this parameter n times for each form field name (previously received by a single page).
Request Example
curl -H "Content-Type: application/x-www-form-urlencoded" -X POST https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en&method=post.page.form&key=[PAGE_UNIQUE_IDENTIFIER]&token=[UNIQUE_FORM_TOKEN]&url=&customer[user_id]=&customer[user_name]=&customer[user_email]=&customer[user_phone]=&customer[user_address]=&customer[user_info][custom-key]=&extras[custom-key]=&ignore[]=&field-name-1=&field-name-2=
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Thank you!"
        }
    ],
    "time": 0.0000
}

Tip:

The system sends an email notification to your Account email address each time you receive a new submission. Additionally, your customer will be able to view all requests using our CMS.

Get Page Rating

Returns page rating(s).

Parameters
# Name Default Value Required Description
1 method get.page.rating Yes
2 key Yes page unique identifier.
3 customer No an optional single customer object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_email optional customer email you might want to store along with each rating.
user_phone optional customer phone you might want to store along with each rating.
4 start 0 No
5 limit 0 No
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.page.rating","key":"PAGE_UNIQUE_IDENTIFIER","customer":{"user_id":"","user_phone":"","user_email":""},"start":0,"limit":0}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": [
                {
                    "lang": "",
                    "rating": 0,
                    "review": "",
                    "customer": {
                        "user_id": "",
                        "user_name": "",
                        "user_email": "",
                        "user_phone": "",
                        "user_address": "",
                        "user_info": {}
                    },
                    "date_created": "0000-00-00 00:00:00"
                }
            ]
        }
    ],
    "time": 0.0000
}

Put Page Rating

Creates and Updates a single product page rating.

Parameters
# Name Default Value Required Description
1 method put.page.rating Yes
2 key Yes page unique identifier.
3 rating Yes a single page rating integer.
4 review No an optional single page review.
5 customer No an optional object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_name optional customer name you might want to store along with each rating.
user_email optional customer email you might want to store along with each rating.
user_phone optional customer phone you might want to store along with each rating.
user_address optional customer address you might want to store along with each rating.
user_infon optional customer information you might want to store along with each rating, you might add nested objects n times for each form additional paramater you want to store with each rating (key/value pairs).
ignoren an array of ignored keys at the `extras` attribute, they will not be visible at the rating notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"put.page.rating","key":"[PAGE_UNIQUE_IDENTIFIER]","rating":0,"review":"","customer":{"user_id":"","user_name":"","user_email":"","user_phone":"","user_address":"","user_info":{"user_network":"","ignore":["user_network"]}}}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Page rating has been created/updated"
        }
    ],
    "time": 0.0000
}

Get Page Order

Returns product page order(s).

Parameters
# Name Default Value Required Description
1 method get.page.order Yes
2 order Yes
without `customer` parameter
an optional single order id.
3 customer Yes
without `order` parameter
an optional single customer object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_email optional customer email you might want to store along with each order.
user_phone optional customer phone you might want to store along with each order.
4 start 0 No
5 limit 0 No
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.page.order","order":0,"customer":{"user_id":"","user_phone":"","user_email":""},"start":0,"limit":0}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": [
                {
                    "id": 0,
                    "status": "",
                    "cart": {
                        "items": [
                            {
                                "key": "",
                                "sku": "",
                                "url": "",
                                "model": 0,
                                "price": 0,
                                "width": 0,
                                "height": 0,
                                "length": 0,
                                "weight": 0,
                                "subject": "",
                                "quantity": 0,
                                "subtotal": 0
                            }
                        ],
                        "shipping": {
                            "total": "0.00",
                            "currency": "",
                            "itemized": [
                                {
                                    "fee": "0.00",
                                    "key": ""
                                }
                            ],
                            "pickup": {
                                "fee": "0.00"
                            }
                        },
                        "tax": {
                            "total": "0.00",
                            "currency": "",
                            "itemized": [
                                {
                                    "fee": "0.00",
                                    "key": ""
                                }
                            ],
                            "pickup": {
                                "fee": "0.00"
                            }
                        },
                        "total": 0.00
                    },
                    "customer": {
                        "user_id": "",
                        "user_name": "",
                        "user_email": "",
                        "user_phone": "",
                        "user_address": "",
                        "user_info": {}
                    },
                    "shipping": {
                        "geoname_id": 0,
                        "cost": 0,
                        "provider": "",
                        "tracking_code": "",
                        "shipping_info": {}
                    },
                    "extras": {},
                    "date_created": "0000-00-00 00:00:00"
                }
            ]
        }
    ],
    "time": 0.0000
}

Get Page Booking

Returns event page booking(s).

Parameters
# Name Default Value Required Description
1 method get.page.booking Yes
2 order Yes
without `customer` parameter
an optional single booking id.
3 customer Yes
without `order` parameter
an optional single customer object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_email optional customer email you might want to store along with each booking.
user_phone optional customer phone you might want to store along with each booking.
4 start 0 No
5 limit 0 No
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.page.booking","order":0,"customer":{"user_id":"","user_phone":"","user_email":""},"start":0,"limit":0}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": [
                {
                    "id": 0,
                    "status": "",
                    "cart": {
                        "items": [
                            {
                                "key": "",
                                "sku": "",
                                "url": "",
                                "model": 0,
                                "price": 0,
                                "width": 0,
                                "height": 0,
                                "length": 0,
                                "weight": 0,
                                "subject": "",
                                "quantity": 0,
                                "subtotal": 0
                            }
                        ],
                        "tax": {
                            "total": "0.00",
                            "currency": "",
                            "itemized": [
                                {
                                    "fee": "0.00",
                                    "key": ""
                                }
                            ],
                            "pickup": {
                                "fee": "0.00"
                            }
                        },
                        "total": 0.00
                    },
                    "customer": {
                        "user_id": "",
                        "user_name": "",
                        "user_email": "",
                        "user_phone": "",
                        "user_address": "",
                        "user_info": {}
                    },
                    "extras": {},
                    "date_created": "0000-00-00 00:00:00"
                }
            ]
        }
    ],
    "time": 0.0000
}

Post Page Order

Place a pending order a list of product pages.

Parameters
# Name Default Value Required Description
1 method post.page.order Yes
2 cart Yes an object with the following attributes:

itemsn an array of order items, you might add nested objects n times for each cart item, each item must have both page `key` and `quantity`, and might have `url` which will be visible at the order notification emails.
3 customer No an optional object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_name optional customer name you might want to store along with each order.
user_email optional customer email you might want to store along with each order.
user_phone optional customer phone you might want to store along with each order.
user_address optional customer address you might want to store along with each order.
user_infon optional customer information you might want to store along with each order, you might add nested objects n times for each form additional paramater you want to store with each order (key/value pairs).
ignoren an array of ignored keys at the `extras` attribute, they will not be visible at the order notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
4 shipping No an optional object with the following attributes:

geoname_id optional unique identifier for the delivery geographical location (see GeoNames Geographical Database).
cost optional shipping total cost value, used to override internal shipping rate calculation.
pickup optional boolean to force using local pickup.
provider optional identifier for third-party shipping provider.
tracking_code optional identifier by the third-party shipping provider.
shipping_infon optional shipping information you might want to store along with each order, you might add nested objects n times for each form additional paramater you want to store with each order (key/value pairs).
ignoren an array of ignored keys at the `extras` attribute, they will not be visible at the order notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
5 extrasn No you might add nested objects n times for each form additional paramater you want to store with each order (key/value pairs).
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"post.page.order","cart":{"items":[{"key":"[PAGE_UNIQUE_IDENTIFIER]","quantity":1,"url":""}]},"customer":{"user_id":"","user_name":"","user_email":"","user_phone":"","user_address":"","user_info":{"user_network":"","ignore":["user_network"]}},"shipping":{"geoname_id":0,"cost":0,"provider":"","tracking_code":"","shipping_info":{"reference_id":"","custom_id":"","ignore":["custom_id"]}},"extras":{"payment_id":"","custom_id":"","ignore":["custom_id"]}}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Thank you!"
        }
    ],
    "time": 0.0000
}

Tip:

The system sends an email notification to your Account email address each time you receive a product order. Additionally, your customer will be able to view all requests using our CMS.

Post Page Booking

Place a pending booking a list of even pages.

Parameters
# Name Default Value Required Description
1 method post.page.booking Yes
2 cart Yes an object with the following attributes:

itemsn an array of booking items, you might add nested objects n times for each cart item, each item must have both page `key` and `quantity`, and might have `url` which will be visible at the booking notification emails.
3 customer No an optional object with the following attributes:

user_id optional unique identifier for the app customer (like a facebook connect id).
user_name optional customer name you might want to store along with each booking.
user_email optional customer email you might want to store along with each booking.
user_phone optional customer phone you might want to store along with each booking.
user_address optional customer address you might want to store along with each booking.
user_infon optional customer information you might want to store along with each booking, you might add nested objects n times for each form additional paramater you want to store with each booking (key/value pairs).
ignoren an array of ignored keys at the `extras` attribute, they will not be visible at the booking notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
4 extrasn No you might add nested objects n times for each form additional paramater you want to store with each booking (key/value pairs).
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"post.page.booking","cart":{"items":[{"key":"[PAGE_UNIQUE_IDENTIFIER]","quantity":1,"url":""}]},"customer":{"user_id":"","user_name":"","user_email":"","user_phone":"","user_address":"","user_info":{"user_network":"","ignore":["user_network"]}},"extras":{"payment_id":"","custom_id":"","ignore":["custom_id"]}}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Thank you!"
        }
    ],
    "time": 0.0000
}

Tip:

The system sends an email notification to your Account email address each time you receive an event booking. Additionally, your customer will be able to view all requests using our CMS.

Put Page Order

Updates a single product page order.

Parameters
# Name Default Value Required Description
1 method put.page.order Yes
2 order Yes a single order id.
3 status Yes a single order status with the following options:

in-transit reduces stock on related product pages.
returned restores stock on related product pages.
delivered finalizes order actions at the CMS reports only on orders at `in-transit` status.
canceled finalizes order actions at the CMS reports as a first and last action.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"put.page.order","order":0,"status":""}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Order #[ORDER_ID] is now [STATUS]"
        }
    ],
    "time": 0.0000
}

Put Page Booking

Updates a single event page booking.

Parameters
# Name Default Value Required Description
1 method put.page.booking Yes
2 order Yes a single booking id.
3 status Yes a single booking status.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"put.page.booking","order":0,"status":""}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Order #[ORDER_ID] is now [STATUS]"
        }
    ],
    "time": 0.0000
}

Get Shipping Cost

Calculate shipping cost for a list of product pages.

Parameters
# Name Default Value Required Description
1 method get.shipping.cost Yes
2 cart Yes an object with the following attributes:

itemsn an array of order items, you might add nested objects n times for each cart item, each item must have both page `key` and `quantity`.
3 geoname_id Yes a unique identifier for the delivery geographical location (see GeoNames Geographical Database).
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.shipping.cost","cart":{"items":[{"key":"[PAGE_UNIQUE_IDENTIFIER]","quantity":1}]},"geoname_id":0}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": {
                "total": "0.00",
                "itemized": [
                    {
                        "key": "",
                        "fee": "0.00"
                    },
                    {
                        "key": "",
                        "fee": "0.00"
                    }
                ],
                "pickup": {
                    "fee": "0.00"
                },
                "currency": ""
            }
        }
    ],
    "time": 0.0000
}

Get Tax Cost

Calculate tax cost for a list of product pages.

Parameters
# Name Default Value Required Description
1 method get.tax.cost Yes
2 cart Yes an object with the following attributes:

itemsn an array of order items, you might add nested objects n times for each cart item, each item must have both page `key` and `quantity`.
3 geoname_id Yes a unique identifier for the delivery geographical location (see GeoNames Geographical Database).
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.tax.cost","cart":{"items":[{"key":"[PAGE_UNIQUE_IDENTIFIER]","quantity":1}]},"geoname_id":0}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": {
                "total": "0.00",
                "itemized": [
                    {
                        "key": "",
                        "fee": "0.00"
                    },
                    {
                        "key": "",
                        "fee": "0.00"
                    }
                ],
                "pickup": {
                    "fee": "0.00"
                },
                "currency": ""
            }
        }
    ],
    "time": 0.0000
}

Get User

Returns a single user.

Parameters
# Name Default Value Required Description
1 method get.user Yes
2 user_id Yes a unique identifier for the stored user (like a facebook connect id).
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.user","user_id":""]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": {
                "user_id": "",
                "user_name": "",
                "user_email": "",
                "user_phone": "",
                "user_address": "",
                "ignore": [],
                "user_info": {}
            }
        }
    ],
    "time": 0.0000
}

Put User

Creates and Updates a single user.

Parameters
# Name Default Value Required Description
1 method put.user Yes
2 user Yes an object with the following attributes:

user_id required unique identifier for the app user (like a facebook connect id).
user_name optional user name you might want to store along with each user.
user_email optional user email you might want to store along with each user.
user_phone optional user phone you might want to store along with each user.
user_address optional user address you might want to store along with each user.
user_infon optional user information you might want to store along with each user, you might add nested objects n times for each form additional paramater you want to store with each user (key/value pairs).
ignoren an array of ignored keys at the `extras` attribute, they will not be visible at the user notification emails and/or CMS reports.
you might add nested strings n times for each ignored key.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"put.user","user":{"user_id":"","user_name":"","user_email":"","user_phone":"","user_address":"","user_info":{"user_network":"","ignore":["user_network"]}}}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "User has been created/updated"
        }
    ],
    "time": 0.0000
}

Get Albums

Returns a list of App albums.

Parameters
# Name Default Value Required Description
1 method get.albums Yes
2 media_type No comma-separated types to be filtered from the response output.

photo filter by photo albums
audio filter by audio albums
video filter by video albums
file filter by file albums
3 start 0 No
4 limit 0 No
5 include_hidden false No
6 select No comma-separated attributes to be filtered from the response output.

id album numeric id
media album media type (photo, audio, video, and file)
label album string label
cover album cover photo
linked_key page unique identifier linked to album
items array composed of album items
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.albums","media_type":"photo,audio,video,file","start":0,"limit":0,"include_hidden":false,"select":"id,media,label,cover,linked_key,items"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.albums",
            "output": [
                {
                    "id": 0,
                    "media": "photo",
                    "label": "",
                    "cover": {
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    },
                    "linked_key": "",
                    "items": [
                        {
                            "code": "",
                            "ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ]
                },
                {
                    "id": 0,
                    "media": "audio",
                    "label": "",
                    "cover": {
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    },
                    "linked_key": "",
                    "items": [
                        {
                            "cover_code": "",
                            "cover_ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": ""
                        }
                    ]
                },
                {
                    "id": 0,
                    "media": "video",
                    "label": "",
                    "cover": {
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    },
                    "linked_key": "",
                    "items": [
                        {
                            "cover_code": "",
                            "cover_ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": ""
                        }
                    ]
                },
                {
                    "id": 0,
                    "media": "file",
                    "label": "",
                    "cover": {
                        "regular": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "maximum": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        },
                        "original": {
                            "width": 0,
                            "height": 0,
                            "url": ""
                        }
                    },
                    "linked_key": "",
                    "items": [
                        {
                            "cover_code": "",
                            "cover_ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": ""
                        }
                    ]
                }
            ]
        }
    ],
    "time": 0.0000
}

Get Albums Schedule

Returns a list of photos in scheduled albums.

Parameters
# Name Default Value Required Description
1 method get.albums.schedule Yes
2 start_date No string date 'Y-m-d'
3 limit 0 No
4 include_hidden false No
5 active_only false No
6 select No comma-separated attributes to be filtered from the response output.

album_label album string label
caption object of photo title and description
tags comma-separated keywords
code photo file name
ext photo file extension
thumbnail object of cropped photo width, height, and url
regular object of resized photo width, height, and url
original object of actual photo width, height, and url
schedule object of scheduled date/time (date_time: 'Y-m-d H:i:s', timestamp: UNIX_TIMESTAMP)
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.albums.schedule","start_date":"","limit":0,"include_hidden":false,"active_only":false,"select":"album_label,caption,tags,code,ext,thumbnail,regular,original,schedule"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.albums.schedule",
            "output": [
                {
                    "album_label": "",
                    "caption": {
                        "title": "",
                        "description": ""
                    },
                    "tags": [],
                    "code": "",
                    "ext": "",
                    "thumbnail": {
                        "width": 0,
                        "height": 0,
                        "url": ""
                    },
                    "regular": {
                        "width": 0,
                        "height": 0,
                        "url": ""
                    },
                    "maximum": {
                        "width": 0,
                        "height": 0,
                        "url": ""
                    },
                    "original": {
                        "width": 0,
                        "height": 0,
                        "url": ""
                    },
                    "schedule": {
                        "date_time": "",
                        "timestamp": 0
                    }
                }
            ]
        }
    ],
    "time": 0.0000
}

Get Album

Returns a single album.

Parameters
# Name Default Value Required Description
1 method get.album Yes
2 id/label Yes either use album numeric id or album string label (see Get Albums)
3 start 0 No
4 limit 0 No
5 include_hidden false No
6 select No comma-separated attributes to be filtered from the response output.

caption object of media item title and description
tags comma-separated keywords
code media item file name (does not apply for videos)
ext media item file extension (does not apply for videos)
cover_code media item cover file name (applies for audio, videos, and files)
cover_ext media item cover file extension (applies for audio, videos, and files)
thumbnail object of cropped photo/cover width, height, and url
regular object of resized photo/cover width, height, and url
original object of actual photo/cover width, height, and url
url object of media item url (applies for audio, videos, and files)
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.album","id":0,"label":"[ALBUM_LABEL]","start":0,"limit":0,"include_hidden":false,"select":"caption,tags,code,ext,cover_code,cover_ext,thumbnail,regular,original,url"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.album",
            "output": [
                {
                    "media": "photos",
                    "items": [
                        {
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "tags": [],
                            "code": "",
                            "ext": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ]
                },
                {
                    "media": "audio",
                    "items": [
                        {
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "tags": [],
                            "code": "",
                            "ext": "mp3",
                            "url": "",
                            "cover_code": "",
                            "cover_ext": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ]
                },
                {
                    "media": "videos",
                    "items": [
                        {
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "tags": [],
                            "code": "",
                            "ext": "mp4",
                            "url": "",
                            "cover_code": "",
                            "cover_ext": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ]
                },
                {
                    "media": "files",
                    "items": [
                        {
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "tags": [],
                            "code": "",
                            "ext": "",
                            "url": "",
                            "cover_code": "",
                            "cover_ext": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "time": 0.0000
}

Get News

Returns a list of App news posts.

Parameters
# Name Default Value Required Description
1 method get.news Yes
2 start_date No string date 'Y-m-d'
3 limit 0 No
4 include_hidden false No
5 select No comma-separated attributes to be filtered from the response output.

date news post date 'Y-m-d'.
time news post time 'H:i:s'.
timestamp news post unix timestamp.
subject page subject.
header page summary.
tags comma-separated keywords.
cover page cover photo.
photos array composed of all photos linked to page body.
audio array composed of all audio linked to page body.
videos array composed of all videos linked to page body.
files array composed of all files linked to page body.
blocks array of page grid blocks (only imported media items are included).
6 block_type No comma-separated types to be filtered from the blocks attribute above.

rte HTML string represents rich text block.
media array composed of linked media uploads block (photo, audio, and video).
files array composed of linked file uploads block.
table array composed of rows, each row is also an array composed of columns.
form array composed of public form fields block.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.news","start_date":"","limit":0,"include_hidden":false,"select":"date,time,timestamp,subject,header,tags,cover,photos,audio,videos,files,blocks","block_type":"rte,media,table,files,form"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.news",
            "output": [
                {
                    "date": "",
                    "time": "",
                    "timestamp": 0,
                    "subject": "",
                    "header": "",
                    "tags": [],
                    "cover": {
                        "regular": {
                            "url": ""
                        },
                        "maximum": {
                            "url": ""
                        },
                        "original": {
                            "url": ""
                        }
                    },
                    "photos": [
                        {
                            "default": false,
                            "code": "",
                            "ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "audio": [
                        {
                            "code": "",
                            "ext": "mp3",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "videos": [
                        {
                            "code": "",
                            "ext": "mp4",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "files": [
                        {
                            "code": "",
                            "ext": "",
                            "tags": [],
                            "caption": {
                                "title": "",
                                "description": ""
                            },
                            "url": "",
                            "thumbnail": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "regular": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "maximum": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            },
                            "original": {
                                "width": 0,
                                "height": 0,
                                "url": ""
                            }
                        }
                    ],
                    "blocks": [
                        {
                            "title": "",
                            "type": "rte",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "html": ""
                        },
                        {
                            "title": "",
                            "type": "table",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "table": [
                                []
                            ]
                        },
                        {
                            "title": "",
                            "type": "media",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "media": [
                                {
                                    "id": 0,
                                    "type": "photo",
                                    "code": "",
                                    "ext": "",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    }
                                },
                                {
                                    "id": 0,
                                    "type": "audio",
                                    "code": "",
                                    "ext": "mp3",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    },
                                    "url": ""
                                },
                                {
                                    "id": 0,
                                    "type": "video",
                                    "code": "",
                                    "ext": "mp4",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    },
                                    "url": ""
                                }
                            ]
                        },
                        {
                            "title": "",
                            "type": "files",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "files": [
                                {
                                    "id": 0,
                                    "type": "file",
                                    "code": "",
                                    "ext": "",
                                    "tags": [],
                                    "caption": {
                                        "title": "",
                                        "description": ""
                                    },
                                    "thumbnail": {
                                        "url": ""
                                    },
                                    "regular": {
                                        "url": ""
                                    },
                                    "maximum": {
                                        "url": ""
                                    },
                                    "original": {
                                        "url": ""
                                    },
                                    "url": ""
                                }
                            ]
                        },
                        {
                            "title": "",
                            "type": "form",
                            "col": 1,
                            "row": 1,
                            "size_x": 6,
                            "size_y": 1,
                            "token": "",
                            "form": [
                                {
                                    "label": "",
                                    "type": "header",
                                    "subtype": "h1"
                                },
                                {
                                    "label": "",
                                    "type": "paragraph",
                                    "subtype": "p"
                                },
                                {
                                    "type": "hr"
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "text",
                                    "subtype": "text",
                                    "required": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "textarea",
                                    "required": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "checkbox",
                                    "required": false,
                                    "toggle": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "checkbox-group",
                                    "required": false,
                                    "options": [
                                        {
                                            "label": "",
                                            "value": ""
                                        }
                                    ]
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "radio-group",
                                    "required": false,
                                    "options": [
                                        {
                                            "label": "",
                                            "value": ""
                                        }
                                    ]
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "select",
                                    "required": false,
                                    "multiple": false,
                                    "options": [
                                        {
                                            "label": "",
                                            "value": ""
                                        }
                                    ]
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "file",
                                    "required": false
                                },
                                {
                                    "name": "",
                                    "label": "",
                                    "type": "date",
                                    "required": false
                                },
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "time": 0.0000
}

Get Contacts

Returns a list of App contacts.

Parameters
# Name Default Value Required Description
1 method get.contacts Yes
2 start 0 No
3 limit 0 No
4 select No comma-separated attributes to be filtered from the response output.

name contact name.
email contact email.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.contacts","start":0,"limit":0,"select":"name,email"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.contacts",
            "output": [
                {
                    "name": "",
                    "email": ""
                }
            ]
        }
    ],
    "time": 0.0000
}

Get Contact

Returns a single contacts.

Parameters
# Name Default Value Required Description
1 method get.contact Yes
2 email Yes valid email address
3 select No comma-separated attributes to be filtered from the response output.

name contact name.
email contact email.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.contact","email":"","select":"name,email"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.contact",
            "output": {
                "name": "",
                "email": ""
            }
        }
    ],
    "time": 0.0000
}

Post Contact Form

Submit contact form fields.

Parameters
# Name Default Value Required Description
1 method post.contact.form Yes
2 key contact Yes must use contact as a default value.
3 token Yes unique form token (see Get Form Token).
4 field_namen Yes your should repeat this parameter n times for each form field name (like name, phone, subject, and message, .. etc).
Request Example
curl -H "Content-Type: application/x-www-form-urlencoded" -X POST https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en&method=post.contact.form&key=contact&token=[UNIQUE_FORM_TOKEN]&field-name-1=&field-name-2=
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "output": "Thank you!"
        }
    ],
    "time": 0.0000
}

Get Locations

Returns a list of App locations.

Parameters
# Name Default Value Required Description
1 method get.locations Yes
2 start 0 No
3 limit 0 No
4 select No comma-separated attributes to be filtered from the response output.

title location string title.
address location string address.
zone location object zone for city, region, and country, each with name, alternames, lat, and long.
phone location numeric phone.
fax location numeric fax.
latitude location numeric latitude.
longitude location numeric longitude.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.locations","start":0,"limit":0,"select":"address,latitude,longitude"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.locations",
            "output": [
                {
                    "title": "",
                    "address": "",
                    "zone": {
                        "city": {
                            "name": "",
                            "alternames": [],
                            "lat": "00.0000",
                            "long": "00.0000"
                        },
                        "region": {
                            "name": "",
                            "alternames": [],
                            "lat": "00.0000",
                            "long": "00.0000"
                        },
                        "country": {
                            "name": "",
                            "alternames": [],
                            "lat": "00.0000",
                            "long": "00.0000"
                        }
                    },
                    "phone": 0,
                    "fax": 0,
                    "latitude": 00.0000,
                    "longitude": 00.0000
                }
            ]
        }
    ],
    "time": 0.0000
}

Get Location

Returns a single location.

Parameters
# Name Default Value Required Description
1 method get.location Yes
2 latitude Yes valid numeric latitude.
3 longitude Yes valid numeric longitude.
4 select No comma-separated attributes to be filtered from the response output.

title location string title.
address location string address.
zone location object zone for city, region, and country, each with name, alternames, lat, and long.
phone location numeric phone.
fax location numeric fax.
latitude location numeric latitude.
longitude location numeric longitude.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.location","latitude":00.0000,"longitude":00.0000,"select":"address,latitude,longitude"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.location",
            "output": {
                "title": "",
                "address": "",
                "zone": {
                    "city": {
                        "name": "",
                        "alternames": [],
                        "lat": "00.0000",
                        "long": "00.0000"
                    },
                    "region": {
                        "name": "",
                        "alternames": [],
                        "lat": "00.0000",
                        "long": "00.0000"
                    },
                    "country": {
                        "name": "",
                        "alternames": [],
                        "lat": "00.0000",
                        "long": "00.0000"
                    }
                },
                "phone": 0,
                "fax": 0,
                "latitude": 00.0000,
                "longitude": 00.0000
            }
        }
    ],
    "time": 0.0000
}

Get Search Results

Returns a list of models (page, album, news, contact, and location) matching search keyword.

Parameters
# Name Default Value Required Description
1 method get.search.results Yes
2 keyword Yes string search keyword
3 start 0 No
4 limit 0 No
5 target No comma-separated targets for the response output.

pages search in pages.
news search in news posts.
albums search in albums.
contacts search in contacts.
locations search in locations.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.search.results","keyword":"","start":0,"limit":0,"target":"pages,news,albums,contacts,locations"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.search.results",
            "output": [
                {
                    "target": "pages",
                    "items": [
                        {
                            "key": "",
                            "subject": "",
                            "header": ""
                        }
                    ]
                },
                {
                    "target": "news",
                    "items": [
                        {
                            "timestamp": 0,
                            "subject": "",
                            "header": ""
                        }
                    ]
                },
                {
                    "target": "albums",
                    "items": [
                        {
                            "id": 0,
                            "label": ""
                        }
                    ]
                },
                {
                    "target": "contacts",
                    "items": [
                        {
                            "name": "",
                            "email": ""
                        }
                    ]
                }
            ]
        }
    ],
    "time": 0.0000
}

Hint:

We store all emails encrypted in your App database, yet our API Response decrypts your app emails on the fly.

Get Form Token

Returns a string token required to submit form fields.

Parameters
# Name Default Value Required Description
1 method get.form.token Yes
2 key Yes unique form idetifier.
Request Example
curl -H "Content-Type: application/json" -X POST -d '[{"method":"get.form.token","key":"[UNIQUE_FORM_IDENTIFIER]"}]' https://api.oggeh.com/?api_key=[APP_API_KEY]&lang=en
Response Example
{
    "error": "",
    "stack": [
        {
            "error": "",
            "method": "get.form.token",
            "output": "YOUR_TOKEN"
        }
    ],
    "time": 0.0000
}