1. Knowledge Center
  2. Client Deliverables

Deliver your practical information

Now with support for tags, multiple languages, folder, link and FAQ support.

Introduction

The Appmiral Pages Importer allows you to import all your practical information (such as FAQs, rules, contact info, etc) from your website into Appmiral and keep them in sync. This importer expects a URL containing a valid JSON file conforming to our provided JSON structure. This URL can be a static .json file hosted online or public API endpoint.

Every 15 minutes, the importer will perform a request to the URL and sync the contents to your Appmiral CMS as Pages. This means that when the info is changed, it takes a maximum of 15 minutes before those changes are reflected in the Appmiral CMS and the app.

Translatable Fields

Translatable fields can be either a string or an object containing strings for multiple languages.

  • When a translatable field contains a simple string, it applies to the default language only.
  • When a translatable field contains an object, it sets values for each specified language. The default language must always be included. The key must be the short locale of the language!

In the example below, the "title" field is translatable but identical across all languages. In such cases, you may simply use a string for the field.

{
"title": "Page title"
}

In the next example, the field name is translatable with different values for English and Dutch. When English is the default language, the "en" key must always be included.

{
"title": {
  "en": "Page title",
  "nl": "Pagina titel"
 }
}

Info: We currently support the following languages and locales: English (en), Arabic (ar), Czech (cs), Danish (da), Dutch (nl), Finnish (fi), French (fr), Galician (gl), German (de), Greenlandic (kl), Hebrew (he), Italian (it), Norwegian (nb), Polish (pl), Romanian (ro), Spanish (es), and Swedish (sv).

Note: Are you unsure which languages your application is using? Check your CMS or reach out to your dedicated Customer Success Manager.

Page Model All

Field Required Type Description
id Yes string The ID of the page. Has to be unique for each page
title Yes string | object (Translatable) The title of the page.
parent no string The parent ID to which the page should be linked to.
body no string | object (Translatable) The body for the page.
url no string | object (Translatable) The url to link to.
priority no integer (Default: 100) The priority of the page.
tags no array of strings A list of tags to link to the page.
Tags are slugs which should be lowercase and can contain a-z, 0-9 and -
faq_items no array of faq_items (see below) A array containing the FAQ items.

 

JSON Example

{
    "pages": [
        {
            "id": "ext_01",
            "title": "Page example 1",
            "body": "Body example 1",
            "priority": 100
        },
        {
            "id": "ext_02",
            "title": {
                "nl": "Titel 2 voorbeeld",
                "en": "Title 2 example"
                
            },
            "body": {
                "nl": "Inhoud 2 voorbeeld",
                "en": "Content 2 example"
            },
            "priority": 100
        },
         {
            "id": "ext_01_f",
            "title": "Directory 1 example",           
            "priority": 100
        },
        {
            "id": "ext_02_f",
            "title": {
                "nl": "Folder 2 voorbeeld",
                "en": "Directory 2 example"  
            },
            "priority": 100
        },
        {
            "id": "ext_06",
            "parent": "ext_01_f",
            "title": "Parent/Child example 1 title",
            "body": "Parent/Child example 1 body",
            "priority": 100
        },
        {
            "id": "ext_04",
            "title": "FAQ example",
            "priority": 100,
            "faq_items": [
                {
                    "id": "ext_01",
                    "question": "question 1",
                    "answer": "anwswer 1",
                    "priority": 100
                },
                {
                    "id": "ext_02",
                    "question": {
                    "nl": "vraag 2",
                    "en": "question 2"
                    },
                    "answer": {
                        "nl": "antwoord 2",
                        "en": "answer 2"
                    },
                    "priority": 101
                },
                {
                    "id": "ext_03",
                    "question": "question 3",
                    "answer": "anwswer 3",
                    "priority": 102
                },
                {
                    "id": "ext_05",
                    "question": {
                    "nl": "vraag 5",
                    "en": "question 5"
                    },
                    "answer": {
                        "nl": "antwoord 5",
                        "en": "answer 5"
                    },
                    "priority": 103
                }
            ]
        }
    ] 
}

Page Model Type Page

Field Required Type Description
id Yes string The ID of the page. Has to be unique for each page
title Yes string | object (Translatable) The title of the page.
parent no string The parent ID to which the page should be linked to.
body Yes string | object (Translatable) The body for the page.
priority no integer (Default: 100) The priority of the page.
tags no array of strings A list of tags to link to the page. Tags are slugs which should be lowercase and can contain a-z, 0-9 and -

 

JSON Example

{
    "pages": [
        {
            "id": "external_001",
            "title": {
                "en": "Page title",
                "nl": "Pagina titel"
            },
            "body": {
                "en": "Page content",
                "nl": "Pagina inhoud"
            },
            "priority": 80,
            "tags": [
                "page",
                "content"
            ]
        }
    ]
}

Page Model Type Folder

Field Required Type Description
id Yes string The ID of the page. Has to be unique for each page
title Yes string | object (Translatable) The title of the page.
parent no string The parent ID to which the page should be linked to.
priority no integer (Default: 100) The priority of the page.
tags no array of strings A list of tags to link to the page. Tags are slugs which should be lowercase and can contain a-z, 0-9 and -

 

JSON Example

{
    "pages": [
        {
            "id": "external_001",
            "title": {
                "en": "Folder name",
                "nl": "Folder naam"
            }
            "priority": 80,
            "tags": [
                "page",
                "content"
            ]
        }
    ]
}

Page Model Type URL

Field Required Type Description
id Yes string The ID of the page. Has to be unique for each page
title Yes string | object (Translatable) The title of the page.
parent no string The parent ID to which the page should be linked to.
url no string | object (Translatable) The url to link to.
priority no integer (Default: 100) The priority of the page.
tags no array of strings A list of tags to link to the page. Tags are slugs which should be lowercase and can contain a-z, 0-9 and -

 

JSON Example

{
    "pages": [
        {
            "id": "external_001",
            "title": {
                "en": "Link name",
                "nl": "link naam"
            }
            "url": {
                "en": https://www.google.com",
                "nl": https://www.google.nl",
                }
            "priority": 80,
            "tags": [
                "page",
                "content"
            ]
        }
    ]
}

Page Model Type FAQ

Field Required Type Description
id Yes string The ID of the page. Has to be unique for each page
title Yes string | object (Translatable) The title of the page.
parent no string The parent ID to which the page should be linked to.
priority no integer (Default: 100) The priority of the page.
tags no array of strings A list of tags to link to the page. Tags are slugs which should be lowercase and can contain a-z, 0-9 and -
faq_items no array of faq_items (see below) A array containing the FAQ items.

FAQ Items Model

Field Required Type Description
id Yes string The ID of the page. Has to be unique for the faq
question Yes string | object (Translatable) The question for the faq_item
answer Yes string | object (Translatable) The question for the faq_item
priority no integer (Default: 100) The priority of the page.

 

JSON Example

{
    "pages": [
        {
            "id": "external_001",
            "title": {
                "en": "FAQ page example",
                "nl": "Veel gestelde vragen voorbeeld"
            },
            "priority": 80,
            "faq_items": [
                {
                    "id": "external_question_1"
                    "question": {
                        "en": "Question 1",
                        "nl": "Vraag 1"
                    }, 
                    "answer": {
                        "en": "Answer 1",
                        "nl": "Antwoord 1"
                    }
                    "priority": 100
                },
                {
                    "id": "external_question_2"
                    "question": {
                        "en": "Question 2",
                        "nl": "Vraag 2"
                    }, 
                    "answer": {
                        "en": "Answer 2",
                        "nl": "Antwoord 2"
                    }
            ]
            "tags": [
                "page",
                "content"
            ]
        }
    ]
}