> For the complete documentation index, see [llms.txt](https://maxchat.gitbook.io/v3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://maxchat.gitbook.io/v3/integration/app-service/rest-api.md).

# Rest API

Pada kartu Rest API, Anda dapat melihat data Token (authorization key). Data ini dapat Anda gunakan sebagai authorization key (token) saat Anda memanggil API tertentu, contohnya, saat Anda ingin mengirimkan pesan berkategori authentication seperti pesan OTP.

Setiap API yang ingin Anda jalankan, akan membutuhkan authorization key yang berfungsi untuk mengecek izin pengguna yang memanggil API tersebut.

## Generate Token

Anda bisa mendapatkan token untuk pemanggilan API melalui App Service bagian Rest API. Silakan tekan tombol **Generate Token** untuk mendapatkan token baru.

<figure><img src="/files/XOCQOewIxjAdxOvqH7jf" alt=""><figcaption></figcaption></figure>

## Contoh Penggunaan Token - Mengirim Pesan Outbound

### Base URL

Base URL adalah URL basis yang digunakan dalam API. Base URL pada API yang akan digunakan, sebagai berikut.

{% code title="Base URL" %}

```http
https://app.maxchat.id
```

{% endcode %}

Untuk mengirimkan pesan outbound Anda dapat menggunakan URL berikut.

{% code title="URL" %}

```http
https://app.maxchat.id/api/messages/push
```

{% endcode %}

### Method API

Method API mengacu pada jenis permintaan yang Anda buat ke server. Setiap metode akan memberikan hasil yang berbeda. Pada contoh ini, metode API yang akan digunakan adalah POST.

* POST, adalah metode yang mengirim data ke server untuk menghasilkan data baru.

<figure><img src="/files/fE4iTQFcJ2vt9xzmCwn6" alt=""><figcaption><p>Contoh penggunaan method melalui postman</p></figcaption></figure>

### Body

Body adalah data-data yang akan Anda kirim. Berikut adalah body yang akan Anda temui pada API untuk mengirimkan pesan broadcast.

{% code title="body" overflow="wrap" lineNumbers="true" fullWidth="true" %}

```json
{
    "to":"628xxxxxxxxxx", //isikan dengan nomor tujuan
    "msgType": "text", //type yang tersedia: text, image, video
    "templateId": "bb2e11bd-2f4c-464b-acc0-dxxxxxxx", //template id dari template message yang telah berstatus accepted
    "values": {
        "header": { //jika template Anda tidak memiliki header, Anda dapat menghapus bagian header
            "type": "image", //tipe header
            "attachmentUrl": "https://example.com/example.png" //berikan URL untuk attachment, mohon jangan gunakan URL pada contoh ini
        },
        "body": [ //Anda dapat memberikan nilai parameter dalam atribut body
            {"index": 1, "type": "text", "text": "123456"}
            ]
            // index 1 mewakili parameter ke 1
            // type yang saat ini tersedia hanya berupa text
            // text adalah value dari parameter tersebut
    }
}
```

{% endcode %}

### Auth/Authorization

Pada bagian Auth, Anda akan diminta untuk memasukkan authorization key (token) untuk identitas Anda sebagai Admin. Silakan copy auth key yang Anda bisa dapatkan dari [Generate Token](#generate-token).&#x20;

Jika Anda menggunakan postman, maka ubah Auth Type menjadi Bearer Token, lalu paste auth key ke dalam kolom Token.

<figure><img src="/files/KL0S60QHrrrGDDg4xmt3" alt=""><figcaption><p>Auth pada Postman</p></figcaption></figure>

Namun jika Anda menggunakan Swagger, cukup klik tombol Authorize yang dapat Anda temui pada laman bagian atas, kemudian ketik kan "Bearer " lalu paste auth key dalam kolom token.

<figure><img src="/files/ZgzoTAopPG8kECO6yH7i" alt=""><figcaption><p>Auth pada Swagger</p></figcaption></figure>

### Response Body

Jika Anda telah mengisi data-data yang diperlukan pada bagian Body dan Auth, Anda dapat menekan tombol send (pada postman) atau execute (pada swagger).

Jika **berhasil**, maka Anda akan mendapatkan response berikut

{% code title="Response Berhasil" lineNumbers="true" %}

```json
{
    "meta": {
        "autoformat": true
    },
    "content": "Message sent"
}
```

{% endcode %}

Jika gagal, Anda akan mendapatkan pesan error yang akan serupa dengan contoh dibawah ini. Untuk mengatasi hal ini, Anda dapat melakukan [generasi (generate) ulang](#generate-token).

{% code title="Contoh Response Gagal" lineNumbers="true" %}

```json
{
    "message": "Forbidden resource",
    "error": "Forbidden",
    "statusCode": 403
}
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://maxchat.gitbook.io/v3/integration/app-service/rest-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
