Kalo te dokumentacioni
C#

client.Exports

Çdo metodë në këtë hapësirë emrash: nënshkrimi, parametrat, çfarë kthen dhe një shembull.

Metodat

A zip of the whole workspace, as the Export page makes it: see what it would hold, start one, follow it while it is made and download it once it is ready.

Exports.PreviewAsync

See what an export would hold

Lejetthreads:read
Nënshkrimi
Task<JsonObject> PreviewAsync(string? apiKey = null, CancellationToken cancellationToken = default)

Returns whether the workspace can be exported by the caller now, when the next export can start, the export still being made, if there is one, and how much an export would hold: conversations, attachments and their size, contacts, audiences, calendar events, templates, rules, labels, notes and addresses. When allowed is false, reason says why and counts is null.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an access token connected with every address. A key or token limited to particular addresses or domains is 422 capability_unsupported, and an account the workspace cannot export for is 403 export_not_permitted.

Parametrat

apiKeystring?

Overrides the client's API key for this call only.

cancellationTokenCancellationToken

Cancels the request.

Kthen

A JsonObject with allowed, reason, nextAvailableAt, activeExportId and counts, an object of threads, attachments, attachmentBytes, deletedFiles, contacts, audiences, calendarEvents, templates, rules, labels, notes and addresses.

Shembull

var preview = await client.Exports.PreviewAsync(); if ((bool?)preview["allowed"] != true){    Console.WriteLine($"Cannot export: {preview["reason"]}");}else if (preview["activeExportId"] is not null){    Console.WriteLine($"Export {preview["activeExportId"]} is still being made");}else{    Console.WriteLine($"{preview["counts"]?["threads"]} conversations and {preview["counts"]?["attachments"]} attachments");}

Shënime

  • reason is not-permitted, mailbox-login or two-factor-required.

E disponueshme edhe në

API
GET /exports/preview
TypeScript
exports.preview()
Python
exports.preview()
Ruby
exports.preview
PHP
exports->preview
Go
Exports.Preview
Java
exports().preview
CLI
openemail exports preview

Exports.ListAsync

List the exports

Lejetthreads:read
Nënshkrimi
Task<JsonObject> ListAsync(    int? limit = null,    int? offset = null,    string? apiKey = null,    CancellationToken cancellationToken = default)

Returns every export of the workspace, newest first, a page at a time, with its status, its progress through the conversations and, once it is ready, its size, file name and when it is deleted.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an access token connected with every address. A key or token limited to particular addresses or domains is 422 capability_unsupported, and an account the workspace cannot export for is 403 export_not_permitted.

Parametrat

limitint?

Exports per page, from 1 to 100. The server defaults to 25.

offsetint?

How many exports to skip.

apiKeystring?

Overrides the client's API key for this call only.

cancellationTokenCancellationToken

Cancels the request.

Kthen

A JsonObject, not a Page, with data, a list of export objects shaped like the one Exports.GetAsync returns, plus total and hasMore. Ask for the next page with offset:.

Shembull

using OpenEmail.Constants; var exports = await client.Exports.ListAsync(limit: 10); foreach (var export in exports["data"]?.AsArray() ?? []){    if ((string?)export?["status"] == ExportStatuses.Ready)    {        Console.WriteLine($"{export?["id"]} {export?["fileName"]} {export?["sizeBytes"]} bytes, kept until {export?["expiresAt"]}");    }}

Shënime

  • A workspace can be exported once a day, and each export is kept for a year, so the list stays short.

E disponueshme edhe në

API
GET /exports
TypeScript
exports.list()
Python
exports.list()
Ruby
exports.list
PHP
exports->list
Go
Exports.List
Java
exports().list
CLI
openemail exports list

Exports.GetAsync

Retrieve an export

Lejetthreads:read
Nënshkrimi
Task<JsonObject> GetAsync(    string id,    string? apiKey = null,    CancellationToken cancellationToken = default)

Returns one export: its status, phase and progress while it is made, and once it is ready its size, file name and when it is deleted.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an access token connected with every address. A key or token limited to particular addresses or domains is 422 capability_unsupported, and an account the workspace cannot export for is 403 export_not_permitted.

Parametrat

idstringE detyrueshme

The export id from Exports.StartAsync or Exports.ListAsync.

apiKeystring?

Overrides the client's API key for this call only.

cancellationTokenCancellationToken

Cancels the request.

Kthen

A JsonObject with id, status, phase, createdAt, createdBy, startedAt, finishedAt, expiresAt, sizeBytes, fileName, threadsDone, threadsTotal and error.

Shembull

var export = await client.Exports.GetAsync("exp_8c1e4a7f2b9d3e6a0c5f1b28"); Console.WriteLine($"{export["status"]} {export["error"]}");

Shënime

  • An unknown id is a 404.

E disponueshme edhe në

API
GET /exports/{id}
TypeScript
exports.get()
Python
exports.get()
Ruby
exports.get
PHP
exports->get
Go
Exports.Get
Java
exports().get
CLI
openemail exports get

Exports.StartAsync

Start an export

Lejetthreads:read
Nënshkrimi
Task<JsonObject> StartAsync(string? apiKey = null, CancellationToken cancellationToken = default)

Starts making a zip of the whole workspace, as Export now on the Export page does, and returns the export, queued. It is made in the background: poll Exports.GetAsync until status is ready, then Exports.DownloadAsync it. One export runs at a time, and a workspace can be exported once a day.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an access token connected with every address. A key or token limited to particular addresses or domains is 422 capability_unsupported, and an account the workspace cannot export for is 403 export_not_permitted.

Parametrat

apiKeystring?

Overrides the client's API key for this call only.

cancellationTokenCancellationToken

Cancels the request.

Kthen

A JsonObject for the new export, shaped like the one Exports.GetAsync returns.

Shembull

try{    var export = await client.Exports.StartAsync();     Console.WriteLine($"Export {export["id"]} is {export["status"]}");}catch (OpenEmailApiException error){    Console.WriteLine($"Not now: {error.Message}");}

Shënime

  • With an OAuth access token it asks for a verification code: until the app has verified one, it is refused with 403 step_up_required. An API key is never asked.

  • An export already being made is 409 already_running, and a workspace exported in the last day is 429 export_limit_reached.

  • The SDK does not retry it.

E disponueshme edhe në

API
POST /exports
TypeScript
exports.start()
Python
exports.start()
Ruby
exports.start
PHP
exports->start
Go
Exports.Start
Java
exports().start
CLI
openemail exports start

Exports.DownloadAsync

Download an export

Lejetthreads:read
Nënshkrimi
Task<byte[]> DownloadAsync(    string id,    string? apiKey = null,    CancellationToken cancellationToken = default)

Returns the zip of a ready export, the same file the Download action on the Export page saves.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an access token connected with every address. A key or token limited to particular addresses or domains is 422 capability_unsupported, and an account the workspace cannot export for is 403 export_not_permitted.

Parametrat

idstringE detyrueshme

The export id from Exports.StartAsync or Exports.ListAsync.

apiKeystring?

Overrides the client's API key for this call only.

cancellationTokenCancellationToken

Cancels the request.

Kthen

A string holding the bytes of the zip.

Shembull

var export = await client.Exports.GetAsync("exp_8c1e4a7f2b9d3e6a0c5f1b28"); var zip = await client.Exports.DownloadAsync(export["id"]!.GetValue<string>()); Console.WriteLine($"{zip.Length} bytes saved");

Shënime

  • With an OAuth access token it asks for a verification code: until the app has verified one, it is refused with 403 step_up_required. An API key is never asked.

  • Before the export is ready the call is 409 export_not_ready, and an export older than a year is 409 expired.

  • The whole zip is held in memory, and a large workspace makes a large zip.

E disponueshme edhe në

API
GET /exports/{id}/content
TypeScript
exports.download()
Python
exports.download()
Ruby
exports.download
PHP
exports->download
Go
Exports.Download
Java
exports().download
CLI
openemail exports download