Anda membaca versi awal. Untuk integrasi baru, gunakan versi 1: alamatnya lebih rapi dan filter produk berfungsi penuh. Versi awal tetap berjalan untuk aplikasi yang sudah memakainya.
Ketik alamat server API Anda, mis. https://api.perusahaan.co.id.
Semua contoh di halaman ini ikut berubah dan bisa langsung disalin.
Mulai dari sini
Membaca data SysAd lewat API terdiri dari dua tahap: login untuk mendapat token, lalu memakai token itu pada setiap permintaan data.
Login dilakukan dalam empat langkah singkat:
Cek akunKirim user dan pass. Anda mendapat daftar perusahaan.
Pilih entitasKirim id perusahaan. Anda mendapat daftar entitas.
Pilih tahunKirim id perusahaan dan entitas. Anda mendapat daftar tahun.
Minta tokenKirim semua pilihan tadi. Anda mendapat token.
Sudah tahu id perusahaan, entitas, dan tahunnya? Anda boleh langsung ke langkah 4 (minta token). Langkah 1 sampai 3 hanya untuk mengetahui id yang berlaku bagi akun Anda.
Setelah punya token, kirim di header token pada setiap permintaan data. Contoh mengambil data klien:
Status HTTP error kini 401 atau 403, bukan 200 dengan pengalihan. Isi JSON-nya tetap sama.
Batas login per alamat IP (bawaan 10 permintaan per menit; HTTP 429 bila terlampaui).
Pesan error lebih ringkas. Detail teknis hanya ada di log server.
Filter selalu berparameter. Tanda kutip dan karakter khusus pada nilai filter kini aman dan dianggap teks biasa.
Perubahan data persetujuan (approval)
Persetujuan plan kini disimpan sebagai array JSON (name, role, time untuk tiap approver) dan dibaca dari satu tempat yang sama di Daftar plan dan Setujui plan.
Kolom app_by pada respons plan kini berisi array JSON tersebut (berupa teks). Kolom app_datedihapus; waktu persetujuan ada di dalam array (time).
Referensi endpoint
Login
Empat langkah awal untuk mendapatkan token. Dipakai oleh semua versi.
GET/api/lgn/meCek akun dan daftar perusahaan
Memeriksa username dan password Anda, lalu menampilkan daftar perusahaan (company) yang boleh Anda akses. Ini langkah pertama setiap kali login. Perlu user dan pass di header
Catatan. Hasilnya bisa kosong bila akun belum diberi akses ke perusahaan mana pun.
Tahun dalam bentuk teks. Dikirim sebagai header year saat meminta token.
Value
string
Sama dengan Year.
Text
string
Tahun untuk ditampilkan.
GET/api/lgn/tokenMinta token akses
Menukar kredensial dan pilihan perusahaan/entitas/tahun dengan sebuah token. Token inilah yang dikirim di header token pada semua endpoint data. Perlu user dan pass di header
Catatan. Token berlaku 1 hari. Setelah itu minta token baru dengan langkah yang sama.
Catatan. Token terikat pada perusahaan, entitas, dan tahun yang Anda pilih. Ganti salah satunya berarti minta token baru.
Perhatian. Perlakukan token seperti password: jangan ditaruh di URL, kode publik, atau log.
Perhatian. Endpoint login dibatasi per alamat IP (bawaan 10 permintaan per menit; administrator dapat mengubahnya). Bila terlampaui dijawab HTTP 429; tunggu 1 menit.
Total nilai budget setahun, dihitung sesuai jenis budget (Original/Forecast/CPRP).
POST/api/mst/createbudgetBuat budget baru
Membuat satu budget baru untuk sebuah produk. Nomor budget dibuat otomatis oleh sistem dan dikembalikan di respons. Perlu header token, akun harus berhak menulis
Catatan. Hanya objek pertama di dalam array yang diproses. Untuk membuat beberapa budget, kirim satu permintaan per budget.
Perhatian. Butuh akun API yang diberi hak menulis. Tanpa hak itu dijawab HTTP 403.
Perhatian. Bila po_id sudah dipakai, respons berisi success:false, pesan "PO Id ... already exist.", dan result berisi budget yang sudah ada.
Nomor plan, format NOMOR.PLAN/JENIS.GRUP, mis. AAA.260001/T.01 (T = televisi, grup 01).
cust_id
string
Kode klien.
cust
string
Nama klien.
product_id
string
Kode produk.
product
string
Nama produk.
p_date
string
Tanggal plan. Bisa kosong (null).
desc
string
Keterangan plan.
from
string
Awal periode tayang.
to
string
Akhir periode tayang.
ref
string
Nomor referensi/PO klien.
budget_id
string
Nomor budget yang dipakai.
app_by
string
Data persetujuan (approval) berupa array JSON (teks) berisi name, role, dan time setiap approver. Kosong bila belum disetujui.
order_id
string
Nomor order media.
order_date
string
Tanggal order.
ins
number
Jumlah penayangan/insertion.
value
number
Nilai gross.
paid
number
Nilai yang dibayarkan.
nett
number
Nilai nett.
media
string
Jenis media.
adtype_id
string
Jenis iklan.
mcs_id
string
Nomor MCS.
mcs_date
string
Tanggal MCS.
ar_id
string
Nomor invoice (piutang).
ar_date
string
Tanggal invoice. Bisa kosong (null).
status
string
Status plan.
fee
number
Fee agensi.
period
string
Periode data.
POST/api/mda/approveplanSetujui plan media
Mencatat persetujuan (approval) pada satu atau beberapa plan. Data persetujuan disimpan sebagai array JSON berisi nama, jabatan, dan waktu setiap approver. Perlu header token, akun harus berhak menulis
Catatan. Nilai app_by yang disimpan akan menggantikan data persetujuan sebelumnya pada plan itu. Untuk beberapa approver, masukkan semuanya dalam satu array.
Catatan. Data persetujuan yang sama bisa dibaca kembali lewat Daftar plan (kolom app_by).
Perhatian. Butuh akun API yang diberi hak menulis. Tanpa hak itu dijawab HTTP 403.
Perhatian. app_by harus berupa teks (string) yang isinya JSON, bukan array JSON langsung. Bila formatnya salah, respons berisi success:false dengan pesan "app_by must be in correct json format." atau menyebut properti yang kurang (name, role, atau time).
Respons berisi "Invalid token" padahal token saya benar?
Bila status HTTP-nya 200 tetapi pesannya Invalid token, biasanya yang salah adalah isi options:
bukan JSON yang valid, bukan berbentuk array, atau (untuk v1) belum di-URL-encode. Periksa dengan alat seperti jsonlint.com.
Bila status HTTP-nya 401, token memang tidak dikenali atau sudah kedaluwarsa; minta token baru.
Hasilnya kosong ([]) padahal datanya ada?
Periksa bahwa token dibuat untuk perusahaan, entitas, dan tahun yang tepat; data dibaca per tahun sesuai token.
Periksa juga filternya: kode klien/produk harus persis sama, dan beberapa filter sekaligus berarti semuanya harus cocok.
Berapa lama token berlaku? Haruskah login ulang tiap kali?
Token berlaku 1 hari. Simpan token dan pakai berulang sampai kedaluwarsa. Anda tidak perlu login untuk setiap permintaan.
Saya tidak bisa membuat atau menyetujui data (HTTP 403)
Akun API Anda belum diberi hak menulis. Hubungi administrator SysAd Anda untuk mengaktifkannya.
Contoh curl tidak jalan di Windows
Contoh memakai tanda kutip tunggal (') dan \ untuk menyambung baris, yang cocok untuk Git Bash, Linux, dan macOS.
Di Command Prompt Windows, tulis perintahnya dalam satu baris dan ganti kutip tunggal dengan kutip ganda (kutip ganda di dalam JSON diberi \).
Cara termudah: pakai aplikasi seperti Postman atau Insomnia, atau gunakan contoh JavaScript.