curl --request POST \
--url https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"content_type": "elements",
"html_source": "<string>",
"page_title": "<string>",
"elements": [
{}
],
"meta_title": "<string>",
"meta_description": "<string>",
"meta_og_image": "<string>",
"is_no_index": true,
"pc_width": 1010,
"background_color": "<string>",
"background_image_src": "<string>",
"background_image_style": "<string>",
"js_head": "<string>",
"js_body_top": "<string>",
"js_body": "<string>",
"css": "<string>",
"use_popup": true,
"popup_width": 800,
"popup_background_color": "<string>",
"popup_elements": [
{}
],
"is_high_speed_mode": true
}
'import requests
url = "https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages"
payload = {
"title": "<string>",
"content_type": "elements",
"html_source": "<string>",
"page_title": "<string>",
"elements": [{}],
"meta_title": "<string>",
"meta_description": "<string>",
"meta_og_image": "<string>",
"is_no_index": True,
"pc_width": 1010,
"background_color": "<string>",
"background_image_src": "<string>",
"background_image_style": "<string>",
"js_head": "<string>",
"js_body_top": "<string>",
"js_body": "<string>",
"css": "<string>",
"use_popup": True,
"popup_width": 800,
"popup_background_color": "<string>",
"popup_elements": [{}],
"is_high_speed_mode": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
content_type: 'elements',
html_source: '<string>',
page_title: '<string>',
elements: [{}],
meta_title: '<string>',
meta_description: '<string>',
meta_og_image: '<string>',
is_no_index: true,
pc_width: 1010,
background_color: '<string>',
background_image_src: '<string>',
background_image_style: '<string>',
js_head: '<string>',
js_body_top: '<string>',
js_body: '<string>',
css: '<string>',
use_popup: true,
popup_width: 800,
popup_background_color: '<string>',
popup_elements: [{}],
is_high_speed_mode: true
})
};
fetch('https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'content_type' => 'elements',
'html_source' => '<string>',
'page_title' => '<string>',
'elements' => [
[
]
],
'meta_title' => '<string>',
'meta_description' => '<string>',
'meta_og_image' => '<string>',
'is_no_index' => true,
'pc_width' => 1010,
'background_color' => '<string>',
'background_image_src' => '<string>',
'background_image_style' => '<string>',
'js_head' => '<string>',
'js_body_top' => '<string>',
'js_body' => '<string>',
'css' => '<string>',
'use_popup' => true,
'popup_width' => 800,
'popup_background_color' => '<string>',
'popup_elements' => [
[
]
],
'is_high_speed_mode' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"content_type\": \"elements\",\n \"html_source\": \"<string>\",\n \"page_title\": \"<string>\",\n \"elements\": [\n {}\n ],\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_og_image\": \"<string>\",\n \"is_no_index\": true,\n \"pc_width\": 1010,\n \"background_color\": \"<string>\",\n \"background_image_src\": \"<string>\",\n \"background_image_style\": \"<string>\",\n \"js_head\": \"<string>\",\n \"js_body_top\": \"<string>\",\n \"js_body\": \"<string>\",\n \"css\": \"<string>\",\n \"use_popup\": true,\n \"popup_width\": 800,\n \"popup_background_color\": \"<string>\",\n \"popup_elements\": [\n {}\n ],\n \"is_high_speed_mode\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"content_type\": \"elements\",\n \"html_source\": \"<string>\",\n \"page_title\": \"<string>\",\n \"elements\": [\n {}\n ],\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_og_image\": \"<string>\",\n \"is_no_index\": true,\n \"pc_width\": 1010,\n \"background_color\": \"<string>\",\n \"background_image_src\": \"<string>\",\n \"background_image_style\": \"<string>\",\n \"js_head\": \"<string>\",\n \"js_body_top\": \"<string>\",\n \"js_body\": \"<string>\",\n \"css\": \"<string>\",\n \"use_popup\": true,\n \"popup_width\": 800,\n \"popup_background_color\": \"<string>\",\n \"popup_elements\": [\n {}\n ],\n \"is_high_speed_mode\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"content_type\": \"elements\",\n \"html_source\": \"<string>\",\n \"page_title\": \"<string>\",\n \"elements\": [\n {}\n ],\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_og_image\": \"<string>\",\n \"is_no_index\": true,\n \"pc_width\": 1010,\n \"background_color\": \"<string>\",\n \"background_image_src\": \"<string>\",\n \"background_image_style\": \"<string>\",\n \"js_head\": \"<string>\",\n \"js_body_top\": \"<string>\",\n \"js_body\": \"<string>\",\n \"css\": \"<string>\",\n \"use_popup\": true,\n \"popup_width\": 800,\n \"popup_background_color\": \"<string>\",\n \"popup_elements\": [\n {}\n ],\n \"is_high_speed_mode\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"title": "<string>",
"page_title": "<string>",
"html_source": "<string>",
"elements": [
{}
],
"meta_title": "<string>",
"meta_description": "<string>",
"meta_og_image": "<string>",
"is_no_index": true,
"pc_width": 123,
"background_color": "<string>",
"background_image_src": "<string>",
"background_image_style": "<string>",
"js_head": "<string>",
"js_body_top": "<string>",
"js_body": "<string>",
"css": "<string>",
"use_popup": true,
"popup_width": 123,
"popup_background_color": "<string>",
"popup_elements": [
{}
],
"is_high_speed_mode": true,
"order": 123,
"is_archived": true,
"created_at": "<string>",
"updated_at": "<string>",
"step_url": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "認証に失敗しました"
}
}{
"error": {
"code": "not_found",
"message": "リソースが見つかりません"
}
}{
"error": {
"code": "validation_error",
"message": "バリデーションエラーが発生しました"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "リクエスト上限を超えました。しばらく時間を空けて再試行してください"
}
}ページ作成
ステップに新しいページを作成します。
content_type で2つの形式を選択できます。
- elements(デフォルト): 要素の階層構造(section > row > col > コンテンツ要素)で作成
- raw_html: HTML直接入力で作成(html/head/bodyタグ必須、最大4MB)
elements形式の場合は、先に要素タイプ定義(GET /element-types/funnel)を取得して要素構造を確認してください。
curl --request POST \
--url https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"content_type": "elements",
"html_source": "<string>",
"page_title": "<string>",
"elements": [
{}
],
"meta_title": "<string>",
"meta_description": "<string>",
"meta_og_image": "<string>",
"is_no_index": true,
"pc_width": 1010,
"background_color": "<string>",
"background_image_src": "<string>",
"background_image_style": "<string>",
"js_head": "<string>",
"js_body_top": "<string>",
"js_body": "<string>",
"css": "<string>",
"use_popup": true,
"popup_width": 800,
"popup_background_color": "<string>",
"popup_elements": [
{}
],
"is_high_speed_mode": true
}
'import requests
url = "https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages"
payload = {
"title": "<string>",
"content_type": "elements",
"html_source": "<string>",
"page_title": "<string>",
"elements": [{}],
"meta_title": "<string>",
"meta_description": "<string>",
"meta_og_image": "<string>",
"is_no_index": True,
"pc_width": 1010,
"background_color": "<string>",
"background_image_src": "<string>",
"background_image_style": "<string>",
"js_head": "<string>",
"js_body_top": "<string>",
"js_body": "<string>",
"css": "<string>",
"use_popup": True,
"popup_width": 800,
"popup_background_color": "<string>",
"popup_elements": [{}],
"is_high_speed_mode": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
content_type: 'elements',
html_source: '<string>',
page_title: '<string>',
elements: [{}],
meta_title: '<string>',
meta_description: '<string>',
meta_og_image: '<string>',
is_no_index: true,
pc_width: 1010,
background_color: '<string>',
background_image_src: '<string>',
background_image_style: '<string>',
js_head: '<string>',
js_body_top: '<string>',
js_body: '<string>',
css: '<string>',
use_popup: true,
popup_width: 800,
popup_background_color: '<string>',
popup_elements: [{}],
is_high_speed_mode: true
})
};
fetch('https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'content_type' => 'elements',
'html_source' => '<string>',
'page_title' => '<string>',
'elements' => [
[
]
],
'meta_title' => '<string>',
'meta_description' => '<string>',
'meta_og_image' => '<string>',
'is_no_index' => true,
'pc_width' => 1010,
'background_color' => '<string>',
'background_image_src' => '<string>',
'background_image_style' => '<string>',
'js_head' => '<string>',
'js_body_top' => '<string>',
'js_body' => '<string>',
'css' => '<string>',
'use_popup' => true,
'popup_width' => 800,
'popup_background_color' => '<string>',
'popup_elements' => [
[
]
],
'is_high_speed_mode' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"content_type\": \"elements\",\n \"html_source\": \"<string>\",\n \"page_title\": \"<string>\",\n \"elements\": [\n {}\n ],\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_og_image\": \"<string>\",\n \"is_no_index\": true,\n \"pc_width\": 1010,\n \"background_color\": \"<string>\",\n \"background_image_src\": \"<string>\",\n \"background_image_style\": \"<string>\",\n \"js_head\": \"<string>\",\n \"js_body_top\": \"<string>\",\n \"js_body\": \"<string>\",\n \"css\": \"<string>\",\n \"use_popup\": true,\n \"popup_width\": 800,\n \"popup_background_color\": \"<string>\",\n \"popup_elements\": [\n {}\n ],\n \"is_high_speed_mode\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"content_type\": \"elements\",\n \"html_source\": \"<string>\",\n \"page_title\": \"<string>\",\n \"elements\": [\n {}\n ],\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_og_image\": \"<string>\",\n \"is_no_index\": true,\n \"pc_width\": 1010,\n \"background_color\": \"<string>\",\n \"background_image_src\": \"<string>\",\n \"background_image_style\": \"<string>\",\n \"js_head\": \"<string>\",\n \"js_body_top\": \"<string>\",\n \"js_body\": \"<string>\",\n \"css\": \"<string>\",\n \"use_popup\": true,\n \"popup_width\": 800,\n \"popup_background_color\": \"<string>\",\n \"popup_elements\": [\n {}\n ],\n \"is_high_speed_mode\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"content_type\": \"elements\",\n \"html_source\": \"<string>\",\n \"page_title\": \"<string>\",\n \"elements\": [\n {}\n ],\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_og_image\": \"<string>\",\n \"is_no_index\": true,\n \"pc_width\": 1010,\n \"background_color\": \"<string>\",\n \"background_image_src\": \"<string>\",\n \"background_image_style\": \"<string>\",\n \"js_head\": \"<string>\",\n \"js_body_top\": \"<string>\",\n \"js_body\": \"<string>\",\n \"css\": \"<string>\",\n \"use_popup\": true,\n \"popup_width\": 800,\n \"popup_background_color\": \"<string>\",\n \"popup_elements\": [\n {}\n ],\n \"is_high_speed_mode\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"title": "<string>",
"page_title": "<string>",
"html_source": "<string>",
"elements": [
{}
],
"meta_title": "<string>",
"meta_description": "<string>",
"meta_og_image": "<string>",
"is_no_index": true,
"pc_width": 123,
"background_color": "<string>",
"background_image_src": "<string>",
"background_image_style": "<string>",
"js_head": "<string>",
"js_body_top": "<string>",
"js_body": "<string>",
"css": "<string>",
"use_popup": true,
"popup_width": 123,
"popup_background_color": "<string>",
"popup_elements": [
{}
],
"is_high_speed_mode": true,
"order": 123,
"is_archived": true,
"created_at": "<string>",
"updated_at": "<string>",
"step_url": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "認証に失敗しました"
}
}{
"error": {
"code": "not_found",
"message": "リソースが見つかりません"
}
}{
"error": {
"code": "validation_error",
"message": "バリデーションエラーが発生しました"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "リクエスト上限を超えました。しばらく時間を空けて再試行してください"
}
}POST
https://api.utage-system.com/v1/funnels/{funnel_id}/steps/{step_id}/pages
Authorizations
APIキーをBearerトークンとして指定
Body
管理名称(管理画面の一覧に表示される名前)
255コンテンツタイプ(elements: 要素の階層構造、raw_html: HTML直接入力)
elements, raw_html HTML文字列(content_type=raw_html時に必須、最大4MB)。html/head/bodyタグ必須、DOCTYPEは任意
ページタイトル(ブラウザのtitleタグに表示。content_type=elementsのみ)
要素の配列(content_type=elements時に必須)。section > row > col > コンテンツ要素のchildren階層構造。
[{
"type": "section",
"children": [{
"type": "row",
"children": [{
"type": "col",
"children": [{
"type": "text",
"content": "<p>テキスト</p>"
}]
}]
}]
}]
タイトル(SNSシェア時に表示されるタイトル)
255説明(SNSシェア時の説明)
500OG画像(og:image)URL(SNSシェア時のサムネイル)
検索エンジン設定(false: 検索エンジンに許可、true: インデックスさせない)
ページ幅(PC)。100=全幅(100%)、640-1200=ピクセル指定(10刻み)。LP向けは600-800px、通常ページは1000-1200pxが一般的
100 <= x <= 1920ページ枠(PC)(shadow: 影、border: 枠線、none: なし)
shadow, border, none ページスワイプ(pc_width=100の場合は使用不可)
none, vertical, horizontal ページ全体の背景色(#RRGGBB形式推奨)。pc_width=100(全幅)の場合のみ指定すること
20ページ全体の背景画像URL(HTTPS)
2048背景画像スタイル(cover_fixed: 全体に表示(スクロール時固定)、w100: 幅100%、h100: 高さ100%、no_repeat: 拡大なし繰り返しなし、repeat: 拡大なし繰り返し を推奨)
30head内に挿入するJavaScript(GTMタグ等)
body直後に挿入するJavaScript
body末尾に挿入するJavaScript
カスタムCSS(ページ固有のスタイル調整)
ポップアップ使用
イグジットポップアップ(exit: ページ離脱時、exit_all: 全ページ離脱時)
exit, exit_all ポップアップ幅(600-1000px)
600 <= x <= 1000ポップアップ背景色(#RRGGBB形式推奨)
20表示位置(top: 上部、centered: 中央)
top, centered ポップアップ要素の配列(elementsと同じ構造)
高速表示モード
Response
作成されたページ
Show child attributes
Show child attributes