Botcake
English
English
  • Introduction
  • Term explanation
  • Connecting Botcake for the first time
  • Integrated Zalo OA
  • Integrated Instagram
  • Integrated WhatsApp
  • Main function
    • General
    • Dashboard
    • Customer
    • Livechat
    • Facebook Comments
    • Broadcasts
    • Flow
    • Growth Tools
      • QR Code
      • Customer Chat
      • Facebook Ads JSON
      • Messager Ref URL
  • Automation
    • Icebreaker
    • Main Menu
    • Welcome Message
    • Default Reply
    • Keyword
    • Sequences
    • Rules
  • Create Content Message
    • Make an Appointment
    • Components in message setup page
    • Getting the Facebook URL
  • Settings
    • Dynamic Block Docs
    • General and Notification
    • Tag
    • Product Management
    • Custom Field
    • OTN Topic
    • Marketing messages
    • ChatGPT Integration
    • Intergrations
    • Admin and Error Logs
  • Advanced
    • Common Errors while using Botcake
    • Upsell does not violate Facebook's policy
  • Changelog
    • Update feature to hide photos in Gallery
  • Botcake FAQ
    • Botcake is not working
    • The Button Is Disabled
    • "Botcake Reply Failed" on Pancake Display
    • Can We Set Working Hours For Botcake?
    • Cannot find the Pages to connect to Botcake?
    • How to synchronize Data from Botcake to Google Sheet?
  • API Reference
Powered by GitBook
On this page
  • How to generate and authorize your token
  • Get Flows
  • Get Flows by path
  • Get Flow Statistics
  • Get Keywords
  • Get Asked Question
  • Get Main Menu
  • Get Tools
  • Create Keyword
  • Update Keyword
  • Send Flow For Customer
  • Send Content For Customer

Was this helpful?

API Reference

PreviousHow to synchronize Data from Botcake to Google Sheet?

Last updated 12 months ago

Was this helpful?

How to generate and authorize your token

To use Botcake API, you need to generate a token. Navigate to Settings -> API and click Generate your Token button.

Please note: Refreshing and Deleting your token will disable all connected API methods!

After a successful token generation, you can use API.

Get Flows

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/flows

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
    "success": true,
    "data": {
        "folders": [
            {
                "parent_id": 1562,
                "name": "folder hihihi",
                "id": 1566
            },
            {
                "parent_id": 1561,
                "name": "folder hahaha",
                "id": 1564
            },
            {
                "parent_id": null,
                "name": "hello folder 2",
                "id": 1562
            },
            {
                "parent_id": null,
                "name": "hello folder 1",
                "id": 1561
            }
        ],
        "flows": [
            {
                "parent_id": 1562,
                "name": "flow hihihi",
                "id": 1567
            },
            {
                "parent_id": 1561,
                "name": "flow hahaha",
                "id": 1565
            },
            {
                "parent_id": null,
                "name": "hello flow 2",
                "id": 1560
            },
            {
                "parent_id": null,
                "name": "hello flow 1",
                "id": 1559
            }
        ]
    }
}
"Server internal error"

Get Flows by path

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/flows/[:path]

Query Parameters

Name
Type
Description

path*

Array

The directory you want to retrieve (for example, get data in folder id 2, folder id 2 is in folder id 1, folder id 1 has no other folders on it, then path = [1,2])

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
    "success": true,
    "data": {
        "folders": [
            {
                "parent_id": 1561,
                "name": "folder hahaha",
                "id": 1564
            }
        ],
        "flows": [
            {
                "parent_id": 1561,
                "name": "flow hahaha",
                "id": 1565
            }
        ]
    }
}
"Server internal error"

Get Flow Statistics

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/flows/:flow_id/statistics

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

Get Keywords

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/keywords

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
    "success": true,
    "data": [
        {
            "is_activated": false,
            "id": 641,
            "flow_id": null
        }
    ]
}
"Server internal error"

Get Asked Question

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/ice_breaker

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
    "success": true,
    "data": [
        {
            "title": "ice breaker 1",
            "id": 6,
            "flow_id": 1559
        },
        {
            "title": "ice breaker 2",
            "id": 7,
            "flow_id": 1560
        }
    ]
}
"Server internal error"

Get Main Menu

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/main_menu

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
    "success": true,
    "data": [
        {
            "type": "flow",
            "title": "tab 1",
            "id": 389,
            "flow_id": 1559
        },
        {
            "url": "https://solo.com",
            "type": "link",
            "title": "tab 2",
            "id": 390
        }
    ]
}
"Server internal error"

Get Tools

GET https://botcake.io/api/public_api/v1/pages/[:page_id]/tools

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
    "success": true,
    "data": [
        {
            "type": "messenger_ref_url",
            "name": "tool 2",
            "is_published": false,
            "id": 331
        },
        {
            "type": "facebook_ads_json",
            "name": "tool 1",
            "is_published": false,
            "id": 330
        }
    ]
}
"Server internal error"

Create Keyword

POST https://botcake.io/api/public_api/v1/pages/[:page_id]/keywords/create

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

{
  "success": true,
  "keyword": {
    "id": 646,
    "flow_id": null
  }
}
"Server internal error"

Update Keyword

POST https://botcake.io/api/public_api/v1/pages/[:page_id]/keywords/update

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

Request Body

Name
Type
Description

keyword_id*

Integer

The id of the keyword returned in the api get keywords

update*

Object

The fields you want to update.

Currently supported:

{

flow_id(Integer): id của flow sẽ được chạy khi keyword được kích hoạt

}

{
  "success": true,
  "keyword": {
    "id": 642,
    "flow_id": 23
  }
}
"Server internal error"

Send Flow For Customer

POST https://botcake.io/api/public_api/v1/pages/[:page_id]/flows/send_flow

Headers

Name
Type
Description

access-token*

String

Token of page(You can create it in Setting/ API)

Request Body

Name
Type
Description

psid*

String

The returned id string of the customer on the Facebook page

flow_id*

Integer

The id of the flow you want to send to the client

payload

Object

In the Dynamic Block request body, you can use the Full Contact Data variable which contains all contact’s information:

{

"user_first_name": "Firstname", "user_last_name": "Lastname", "user_full_name": "Subscriber", "#GENDER{{MALE|FEMALE|UNKNOWN}}": "MALE",

"psid": "123456xxxxxx", "ad_id": "123456xxxxx", "page_name": "Botcake",

"{{SPIN_1|SPIN_2}}": "SPIN_1",

"email": "abc@gmail.com", "phone": "+8438409xxxx", "address": "Ha Noi", "current_date": "2018-07-02T00:00:00+00:00", "CONVERSATION_LINK": "https://pages.fm/323087334762615?c_id=323087334762615_xxxxxxxxxx",

...

}

Example request

// curl --location 'https://botcake.io/api/public_api/v1/pages/waba_109652325467138/flows/send_flow' \
--header 'access-token: access-token' \
--header 'Content-Type: application/json' \
--data '{
   "psid": "wa_8438409*****",
   "flow_id": 123456,
   "payload": {
          "user_full_name": "toanvv"
    },
}
{
  "success": true
}
"Server internal error"

Send Content For Customer

POST https://botcake.io/api/public_api/v1/pages/[:page_id]/flows/send_content

Headers

Name
Type
Description

access_token*

String

Chuỗi token của page(Khách hàng có thể tạo ở mục Cấu hình/ API Access Token)

Request Body

Name
Type
Description

psid*

String

Chuỗi id của khách hàng trên page Facebook trả về

data*

Object

Data format:

message_tag

String

payload

Object

In the Dynamic Block request body, you can use the Full Contact Data variable which contains all contact’s information:

{

"user_first_name": "Firstname", "user_last_name": "Lastname", "user_full_name": "Subscriber", "#GENDER{{MALE|FEMALE|UNKNOWN}}": "MALE",

"psid": "123456xxxxxx", "ad_id": "123456xxxxx", "page_name": "Botcake",

"{{SPIN_1|SPIN_2}}": "SPIN_1",

"email": "abc@gmail.com", "phone": "+8438409xxxx", "address": "Ha Noi", "current_date": "2018-07-02T00:00:00+00:00", "CONVERSATION_LINK": "https://pages.fm/323087334762615?c_id=323087334762615_xxxxxxxxxx",

...

}

Example request

// curl --location 'https://botcake.io/api/public_api/v1/pages/waba_116701438042188/flows/send_content' \
--header 'access-token: access-token' \
--header 'Content-Type: application/json' \
--data '{
    "psid": "wa_84384*****",
    "payload": {
        "user_full_name": "toanvv"
    },
    "data": {
        "version": "v2",
        "content": {
            "messages": [
                {
                    "type": "text",
                    "text": "hi {{user_full_name}}!"
                }
            ]
        }
    }
}'
{
  "success": true
}

"Server internal error"

Supported message tags:

https://docs.botcake.io/v/english/cau-hinh/response-reference-docs
https://developers.facebook.com/docs/messenger-platform/send-messages/message-tags#supported_tags