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"
]
}
]
}