> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overleaf Import API

### Fitur "Overleaf Import API"

Mulai dari Ayakaleaf Pro v6.3, Anda dapat membuat tautan yang mengimpor file LaTeX atau proyek dalam bentuk zip dari sebuah URL dan membukanya di instans Ayakaleaf Anda sendiri, serupa dengan [API "Open in Overleaf"](https://cn.overleaf.com/devs) milik Overleaf.

Fitur ini diaktifkan secara default; Anda hanya perlu mengunjungi `your.overleaf.com/devs` untuk melihat halaman dan petunjuk terperinci.

<Info>
  Halaman `/devs` memerlukan login kecuali `OVERLEAF_ALLOW_PUBLIC_ACCESS=true`, lihat [Pengunjung yang belum masuk](/id/on-premises/configuration/overleaf-toolkit/overleaf-import-api#signed-out-visitors "mention").
</Info>

<Frame>
  <img src="https://mintcdn.com/ayakaleaf-pro/Wx0mJ_Lfqd9J3VFX/images/on-premises/image-51.png?fit=max&auto=format&n=Wx0mJ_Lfqd9J3VFX&q=85&s=5ba20ae774c684ce71df33d454bda528" alt="" width="2102" height="600" data-path="images/on-premises/image-51.png" />
</Frame>

Misalnya, jika Anda meng-host file LaTeX di `https://example.com/main.tex` atau proyek lengkap di `https://example.com/project.zip`, Anda dapat membuat tautan yang mengimpornya ke instans Ayakaleaf Pro Anda sendiri dan membuka proyek baru tersebut:

<Tabs>
  <Tab title="File LaTeX">
    ```text wrap theme={null}
    https://ayakaleaf.example.com/docs?snip_uri=https%3A%2F%2Fexample.com%2Fmain.tex
    ```
  </Tab>

  <Tab title="Proyek ZIP">
    ```text wrap theme={null}
    https://ayakaleaf.example.com/docs?snip_uri=https%3A%2F%2Fexample.com%2Fproject.zip
    ```
  </Tab>
</Tabs>

Ganti `ayakaleaf.example.com` dengan domain instans Anda.

#### Membuka proyek LaTeX di Ayakaleaf Pro

Mulai dari Ayakaleaf Pro v6.3, Anda dapat membuat tautan yang mengimpor file LaTeX atau proyek dalam bentuk zip ke instans Ayakaleaf Pro Anda sendiri. Saat seseorang membuka tautan tersebut, Ayakaleaf Pro membuat proyek baru dari file yang diberikan dan membukanya di editor.

Kirim tautan ke endpoint `/docs` instans Anda:

| Parameter | Deskripsi | Contoh |
| - | - | - |
| `snip_uri` | URL file LaTeX yang akan diimpor. Satu file ZIP juga diterima, tetapi gunakan `zip_uri` untuk proyek. | `https://example.com/main.tex` |
| `zip_uri` | URL proyek LaTeX dalam bentuk zip yang akan diimpor. | `https://example.com/project.zip` |
| `snip_uri[]` | Impor beberapa file dengan mengulangi parameter ini. | `snip_uri[]=.../main.tex&snip_uri[]=.../refs.bib` |
| `snip_name[]` | Atur nama file untuk setiap `snip_uri[]`, dengan urutan yang sama. | `snip_name[]=main.tex` |
| `engine` | Atur compiler: `latex_dvipdf`, `pdflatex`, `xelatex`, atau `lualatex`. | `engine=xelatex` |
| `main_document` | Atur file `.tex` utama dalam proyek yang diimpor. | `main_document=main.tex` |
| `name` | Atur nama proyek baru. `project_name` juga diterima. | `name=My%20Project` |

Misalnya, jika file Anda di-host di `example.com`, tautan-tautan ini akan mengimpornya ke instans Ayakaleaf Pro yang di-host di `ayakaleaf.example.com` .

#### Mengimpor proyek menggunakan Base64

Anda dapat menyematkan file LaTeX atau proyek dalam bentuk zip langsung di tautan "Open in Ayakaleaf" sebagai data URL Base64. Ini memungkinkan Anda membuat tautan impor tanpa meng-host file di URL terpisah.

| Konten | Parameter | Format data URL |
| - | - | - |
| File LaTeX | `snip_uri` | `data:application/x-tex;base64,<base64-encoded-tex>` |
| Proyek zip | `zip_uri` | `data:application/zip;base64,<base64-encoded-zip>` |

Untuk mengimpor proyek ZIP, enkode file ZIP dengan Base64 dan teruskan melalui `zip_uri` sebagai gantinya. Gunakan `encodeURIComponent` pada data URL lengkap saat membuat salah satu tautan tersebut. Untuk proyek besar, gunakan URL ZIP yang di-host karena batas panjang URL pada browser dan server dapat membuat tautan Base64 tidak praktis.

#### Menambahkan tombol "Open in Ayakaleaf"

Anda dapat menggunakan formulir HTML untuk mengimpor file saat pengunjung mengklik sebuah tombol. Kirim formulir ke endpoint `/docs` instans Anda dengan `method="post"`.

Untuk file LaTeX yang di-host:

```text theme={null}
<form action="https://ayakaleaf.example.com/docs" method="post" target="_blank">
  <input type="hidden" name="snip_uri" value="https://example.com/main.tex">
  <input type="hidden" name="engine" value="xelatex">
  <button type="submit">Open in Ayakaleaf</button>
</form>
```

Untuk mengimpor proyek dalam bentuk zip, ganti `snip_uri` dengan `zip_uri` dan arahkan ke file ZIP. Anda juga dapat mengirim kode sumber LaTeX secara langsung menggunakan `snip` untuk teks mentah atau `encoded_snip` untuk teks yang di-URL-encode.

Ganti `ayakaleaf.example.com` dengan domain instans Anda. Jika instans Anda mengaktifkan pemblokiran permintaan lintas origin (cross-origin), tambahkan situs web yang meng-host formulir ke `ALLOWED_ORIGINS`.

#### Pengunjung yang belum masuk

Proyek baru dibuat di akun pengunjung, sehingga mereka perlu masuk. Bagaimana pengunjung yang belum masuk sampai ke sana bergantung pada cara impor dikirim:

* **Tautan** (`GET /docs?...`) berfungsi di setiap instans: pengunjung diarahkan ke halaman login dan impor dilanjutkan setelah masuk.
* **Formulir** (`POST /docs`) memerlukan `OVERLEAF_ALLOW_PUBLIC_ACCESS=true` untuk pengunjung yang belum masuk. Kiriman formulir kemudian disimpan selama 10 menit hingga pengunjung masuk, dan digunakan satu kali.

<Warning>
  Secara default (`OVERLEAF_ALLOW_PUBLIC_ACCESS` tidak diatur), formulir yang dikirim oleh pengunjung yang belum masuk akan diarahkan ke halaman login sebelum Ayakaleaf Pro membacanya, dan kirimannya akan hilang: setelah masuk, pengunjung akan melihat *no snippet, snip\_uri or zip\_uri provided*. Gunakan tautan, minta pengunjung untuk masuk terlebih dahulu, atau aktifkan akses publik, lihat [Akses Halaman](/id/on-premises/configuration/overleaf-toolkit/public-access#page-access "mention").
</Warning>

<Accordion title="Sumber daya ZIP atau TeX apa yang dapat saya impor?">
  Ayakaleaf Pro menggunakan microservice `linked-url-proxy` (terutama digunakan untuk [external-url.md](/id/on-premises/configuration/overleaf-toolkit/external-url "mention")) untuk mengambil sumber daya eksternal. Secara umum, sumber daya ZIP atau TeX apa pun yang dapat diakses publik melalui Internet dapat diimpor. Sumber daya yang di-host di jaringan privat atau internal diblokir demi alasan keamanan.

  Mulai dari Ayakaleaf Pro 6.3.0 yang dirilis ulang (3 Oktober 2026), Anda dapat mengonfigurasi proxy HTTP(S) untuk mengambil sumber daya ZIP dan TeX eksternal dengan `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`. Lihat [Proxy Keluar](/id/on-premises/configuration/overleaf-toolkit/external-url#outbound-proxy "mention") untuk konfigurasi dan pembatasan akses jaringan.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.