IM
ID
Beranda dokumentasi
Menu
Panduan

IMAP Menyinkronkan Kotak Surat dan Pesan

enqueue IMAP pekerjaan sinkronisasi dan mempertahankan metadata pesan untuk alur pencarian dan pembacaan.

inbox-manager client-flow

IMAP Menyinkronkan Kotak Surat dan Pesan

Tujuan: memasukkan pekerjaan sinkronisasi IMAP dan mempertahankan metadata pesan untuk alur pencarian dan pembacaan.

Aliran UI

  1. Pengguna memilih kredensial dan folder.
  2. UI memasukkan sinkronisasi kotak surat atau sinkronisasi pesan.
  3. Pekerjaan/tugas jajak pendapat UI untuk status terminal.
  4. UI menyegarkan /api/accounts/:account_id/emails.

Alur Perpustakaan Klien

const mailboxTask = await api.provider.imap.syncMailboxes(accountId, {
  credential_id: imapCredentialId,
});
const messageTask = await api.provider.imap.syncMessages(accountId, {
  credential_id: imapCredentialId,
  folder: "INBOX",
});
await api.jobs.waitForTask(accountId, messageTask.data.task_id);
const emails = await api.emails.list(accountId, { limit: 20, offset: 0 });

Alur HTTP/curl

API_BASE_URL="https://api.inbox-manager.com"

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/imap/sync-mailboxes" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{\"credential_id\":\"${IMAP_CREDENTIAL_ID}\"}"

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/imap/sync-messages" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{\"credential_id\":\"${IMAP_CREDENTIAL_ID}\",\"folder\":\"INBOX\"}"

curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/jobs?limit=20" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/emails?limit=20&offset=0" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

Skrip Validasi

  • scripts/provider_job_flow.sh