Tất cả các requests yêu cầu tiêu đềAuthorizationX-Press-Team.

import requests

headers = {
    "Authorization": "Token <api-key>:<api-secret>",
    "X-Press-Team": "<team>"
}
requests.get("https://frappecloud.com/api/method/press.api.account.me", headers=headers).json()

Tuy nhiên, để cho ngắn gọn, đoạn mã trên được trình bày dưới dạng

requests.get("https://frappecloud.com/api/method/press.api.account.me")

Danh sách tất cả các trang web

Request

requests.get("https://frappecloud.com/api/method/press.api.site.all")

Response

{
    "message": [
        {
            "name": "shared",
            "shared": true,
            "status": "Active",
            "sites": [
                {
                    "name": "site-1.erpnext.com",
                    "status": "Active",
                    "bench": "bench-0198-002761-f3"
                }
            ]
        },
        {
            "name": "bench-0000",
            "title": "Version 13",
            "version": "Version 13",
            "benches": [
                {
                    "name": "bench-0000-000000-f0",
                    "status": "Active"
                }
            ],
            "sites": [
                {
                    "name": "site-2.frappe.cloud",
                    "status": "Active",
                    "bench": "bench-0000-000000-f0"
                }
            ]
        }
    ]
}

Lấy một trang web

Request

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.get", json=data)

Response

{
    "message": {
        "name": "site-0.frappe.cloud",
        "status": "Active",
        "frappe_version": "Version 13",
        "server_region_info": {
            "title": "Cape Town, South Africa"
        }
    }
}

Lấy các tùy chọn để tạo trang web

requests.get("https://frappecloud.com/api/method/press.api.site.options_for_new")

Response

{
    "message": {
        "plans": [
            {
                "name": "USD 10"
            },
            {
                "name": "USD 25"
            }
        ],
        "versions": [
            {
                "name": "Version 13",
                "groups": [
                    {
                        "name": "bench-0001",
                        "title": "Version 13",
                        "apps": [
                            {
                                "app": "frappe",
                                "repository_url": "https://github.com/frappe/frappe",
                                "branch": "version-13"
                            },
                            {
                                "app": "erpnext",
                                "repository_url": "https://github.com/frappe/erpnext",
                                "branch": "version-13"
                            }
                        ],
                        "clusters": [
                            {
                                "name": "Mumbai"
                            },
                            {
                                "name": "Frankfurt"
                            },
                            {
                                "name": "Bahrain"
                            },
                            {
                                "name": "Cape Town"
                            },
                            {
                                "name": "N. Virginia"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Tạo một trang web

Request

data = {
    "site": {
        "name": "site-0",
        "apps": [
            "frappe",
            "erpnext"
        ],
        "group": "bench-0001",
        "cluster": "Cape Town",
        "plan": "USD 10",
    }
}

requests.post("https://frappecloud.com/api/method/press.api.site.new", json=data)

Response

{
    "message": {
        "site": "site-0.frappe.cloud",
        "job": "0000000000"
    }
}

Bạn sẽ ngay lập tức nhận được phản hồi cho yêu cầu này, kèm theo tên trang web. Sau đó, bạn có thể thăm dò trạng thái trang web bằng cách sử dụng Lấy một trang web (Get a Site). Trang web có thể được sử dụng sau khi trạng thái trang web là Hoạt động.

Loại bỏ một trang web

Request

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.archive", json=data)

Response

{}

Vô hiệu hóa một trang web

Request

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.deactivate", json=data)

Response

{}

Kích hoạt một trang web

Request

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.activate", json=data)

Response

{}

Liệt kê các bản sao lưu

Request

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.backups", json=data)

Response

{
    "message": [
        {
            "with_files": 1,
            "database_url": "https://site-0.frappe.cloud/backups/00000000_000000-site-0_frappe_cloud-database.sql.gz",
            "private_url": "https://site-0.frappe.cloud/backups/00000000_000000-site-0_frappe_cloud-private-files.tar",
            "public_url": "https://site-0.frappe.cloud/backups/00000000_000000-site-0_frappe_cloud-files.tar",
            "creation": "0000-00-00 00:00:00.000000",
            "offsite": 1
        }
    ]
}

Lập lịch sao lưu

Request

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.backup", json=data)

Response

{}

Đăng nhập với quyền quản trị

data = {
    "name": "site-0.frappe.cloud",
}

requests.post("https://frappecloud.com/api/method/press.api.site.login", json=data)

Response

{
    "message": "00000000000000000000000000000000000000000000000000000000"
}

You could the use the response as sid cookie to login to your site

cookies = {
    "sid": "00000000000000000000000000000000000000000000000000000000",
}

requests.post("https://site-0.frappe.cloud/api/method/frappe.auth.get_logged_user", cookies=cookies).json()
# {'message': 'Administrator'}

On this page