Tài liệu API

Đây là tài liệu cho các điểm cuối API có sẵn, được xây dựng bằng Kiến trúc REST. Tất cả các điểm cuối API sẽ trả về phản hồi JSON với tiêu chuẩn mã phản hồi HTTP và cần một Xác thực mang thông qua một khóa API.

Xác thực

Tất cả các điểm cuối API yêu cầu một khóa API được gửi bởi Phương thức xác thực.

curl --request GET \
--url 'https://widget.sg/api/{endpoint}' \
--header 'Authorization: Bearer {api_key}' \

Người dùng

GET https://widget.sg/api/user
curl --request GET \
--url 'https://widget.sg/api/user' \
--header 'Authorization: Bearer {api_key}' \
{
    "data": {
        "id":"1",
        "type":"users",
        "email":"example@example.com",
        "billing":{
            "type":"personal",
            "name":"John Doe",
            "address":"Lorem Ipsum",
            "city":"Dolor Sit",
            "county":"Amet",
            "zip":"5000",
            "country":"",
            "phone":"",
            "tax_id":""
        },
        "is_enabled":true,
        "plan_id":"custom",
        "plan_expiration_date":"2025-12-12 00:00:00",
        "plan_settings":{
            ...
        },
        "plan_trial_done":false,
        "language":"english",
        "timezone":"UTC",
        "country":null,
        "date":"2020-01-01 00:00:00",
        "last_activity":"2020-01-01 00:00:00",
        "total_logins":10
    }
}

Chiến dịch

GET https://widget.sg/api/campaigns/
curl --request GET \
--url 'https://widget.sg/api/campaigns/' \
--header 'Authorization: Bearer {api_key}' \
Thông số Chi tiết Mô tả
page Không bắt buộc Số trang mà bạn muốn có kết quả. Mặc định là 1.
results_per_page Không bắt buộc Bạn muốn có bao nhiêu kết quả trên mỗi trang. Các giá trị được phép là: 10 , 25 , 50 , 100 , 250. Mặc định là 25.
{
    "data": [
        {
            "id": 1,
            "pixel_key": "1234567890abcdef",
            "name": "Example",
            "domain": "example.com",
            "include_subdomains": true,
            "branding": {
                "name": "",
                "url": ""
            },
            "is_enabled": true,
            "last_datetime": null,
            "datetime": "2019-05-22 23:40:17"
        }
    ],
    "meta": {
        "page": 1,
        "results_per_page": 25,
        "total": 1,
        "total_pages": 1
    },
    "links": {
        "first": "https://widget.sg/api/campaigns?&page=1",
        "last": "https://widget.sg/api/campaigns?&page=1",
        "next": null,
        "prev": null,
        "self": "https://widget.sg/api/campaigns?&page=1"
    }
}
GET https://widget.sg/api/campaigns/{campaign_id}
curl --request GET \
--url 'https://widget.sg/api/campaigns/{campaign_id}' \
--header 'Authorization: Bearer {api_key}' \
{
    "data": {
        "id": 1,
        "pixel_key": "1234567890abcdef",
        "name": "Example",
        "domain": "example.com",
        "include_subdomains": true,
        "branding": {
            "name": "",
            "url": ""
        },
        "is_enabled": true,
        "last_datetime": null,
        "datetime": "2019-05-22 23:40:17"
    }
}

Thông báo

GET https://widget.sg/api/notifications/
curl --request GET \
--url 'https://widget.sg/api/notifications/' \
--header 'Authorization: Bearer {api_key}' \
Thông số Chi tiết Mô tả
page Không bắt buộc Số trang mà bạn muốn có kết quả. Mặc định là 1.
results_per_page Không bắt buộc Bạn muốn có bao nhiêu kết quả trên mỗi trang. Các giá trị được phép là: 10 , 25 , 50 , 100 , 250. Mặc định là 25.
{
    "data": [
        {
            "id": 1,
            "campaign_id": 1,
            "notification_key": "d4752d29a557a9fdc67b0a9a27cbe3b1",
            "name": "Email Collector",
            "type": "EMAIL_COLLECTOR",
            "settings": {
                ...
            },
            "is_enabled": false,
            "last_datetime": null,
            "datetime": "2019-05-29 22:30:29"
        }
    ],
    "meta": {
        "page": 1,
        "results_per_page": 25,
        "total": 1,
        "total_pages": 1
    },
    "links": {
        "first": "https://widget.sg/api/notifications?&page=1",
        "last": "https://widget.sg/api/notifications?&page=1",
        "next": null,
        "prev": null,
        "self": "https://widget.sg/api/notifications?&page=1"
    }
}
GET https://widget.sg/api/notifications/{notification_id}
curl --request GET \
--url 'https://widget.sg/api/notifications/{notification_id}' \
--header 'Authorization: Bearer {api_key}' \
{
    "data": {
        "id": 1,
        "campaign_id": 1,
        "notification_key": "d4752d29a557a9fdc67b0a9a27cbe3b1",
        "name": "Email Collector",
        "type": "EMAIL_COLLECTOR",
        "settings": {
            ...
        },
        "is_enabled": false,
        "last_datetime": null,
        "datetime": "2019-05-29 22:30:29"
    }
}

Thanh toán

GET https://widget.sg/api/payments/
curl --request GET \
--url 'https://widget.sg/api/payments/' \
--header 'Authorization: Bearer {api_key}' \
Thông số Chi tiết Mô tả
page Không bắt buộc Số trang mà bạn muốn có kết quả. Mặc định là 1.
results_per_page Không bắt buộc Bạn muốn có bao nhiêu kết quả trên mỗi trang. Các giá trị được phép là: 10 , 25 , 50 , 100 , 250. Mặc định là 25.
{
    "data": [
        {
            "id": 1,
            "plan_id": 1,
            "processor": "stripe",
            "type": "one_time",
            "frequency": "monthly",
            "email": "example@example.com",
            "name": null,
            "total_amount": "4.99",
            "currency": "USD",
            "status": true,
            "date": "2021-03-25 15:08:58"
        },
    ],
    "meta": {
        "page": 1,
        "results_per_page": 25,
        "total": 1,
        "total_pages": 1
    },
    "links": {
        "first": "https://widget.sg/api/payments?&page=1",
        "last": "https://widget.sg/api/payments?&page=1",
        "next": null,
        "prev": null,
        "self": "https://widget.sg/api/payments?&page=1"
    }
}
GET https://widget.sg/api/payments/{payment_id}
curl --request GET \
--url 'https://widget.sg/api/payments/{payment_id}' \
--header 'Authorization: Bearer {api_key}' \
{
    "data": {
        "id": 1,
        "plan_id": 1,
        "processor": "stripe",
        "type": "one_time",
        "frequency": "monthly",
        "email": "example@example.com",
        "name": null,
        "total_amount": "4.99",
        "currency": "USD",
        "status": true,
        "date": "2021-03-25 15:08:58"
    }
}

Nhật ký

GET https://widget.sg/api/logs/
curl --request GET \
--url 'https://widget.sg/api/logs/' \
--header 'Authorization: Bearer {api_key}' \
Thông số Chi tiết Mô tả
page Không bắt buộc Số trang mà bạn muốn có kết quả. Mặc định là 1.
results_per_page Không bắt buộc Bạn muốn có bao nhiêu kết quả trên mỗi trang. Các giá trị được phép là: 10 , 25 , 50 , 100 , 250. Mặc định là 25.
{
    "data": [
        {
            "type": "login.success",
            "ip": "127.0.0.1",
            "date": "2021-02-03 12:21:40"
        },
        {
            "type": "login.success",
            "ip": "127.0.0.1",
            "date": "2021-02-03 12:23:26"
        }
    ],
    "meta": {
        "page": 1,
        "results_per_page": 25,
        "total": 1,
        "total_pages": 1
    },
    "links": {
        "first": "https://widget.sg/api/payments?&page=1",
        "last": "https://widget.sg/api/payments?&page=1",
        "next": null,
        "prev": null,
        "self": "https://widget.sg/api/payments?&page=1"
    }
}