Inttegro.UploadRequests (inttegro v0.2.0)

Copy Markdown View Source

Creates secure upload requests that let another party supply a file.

The application defines constraints and display information, then gives the uploader the request ID and token. Fulfilment does not use the application's secret key. Review and status operations let the application accept, reject, or cancel the resulting attempt.

Summary

Functions

Cancels an active delegated upload request so its public upload URL can no longer accept files.

Creates a delegated upload request that can collect one file from a user or customer under purpose, size, format, expiry, and attempt constraints.

Public capability endpoint used by a delegated uploader to submit the requested file. This request does not use API-key authentication.

Retrieves a delegated upload request for the authorized application.

Lists delegated upload requests for the authorized application.

Records a manual approval or rejection for the latest submitted upload attempt.

Functions

cancel(client, request, options \\ [])

Cancels an active delegated upload request so its public upload URL can no longer accept files.

Parameters

Returns

Returns {:ok, Inttegro.UploadRequests.UploadRequest.t()} when Inttegro accepts and decodes the operation. Returns {:error, exception} for API, transport, or decoding failures. A successful API response can still describe an asynchronous resource that has not reached its terminal state.

Example

request = Inttegro.UploadRequests.CancelRequest.new!(request_attributes)

case Inttegro.UploadRequests.cancel(client, request) do
  {:ok, result} -> result
  {:error, error} -> {:error, error}
end

create(client, request, options \\ [])

Creates a delegated upload request that can collect one file from a user or customer under purpose, size, format, expiry, and attempt constraints.

Parameters

Returns

Returns {:ok, Inttegro.UploadRequests.UploadRequest.t()} when Inttegro accepts and decodes the operation. Returns {:error, exception} for API, transport, or decoding failures. A successful API response can still describe an asynchronous resource that has not reached its terminal state.

Example

request = Inttegro.UploadRequests.CreateRequest.new!(request_attributes)

case Inttegro.UploadRequests.create(client, request) do
  {:ok, result} -> result
  {:error, error} -> {:error, error}
end

fulfill(client, request, options \\ [])

Public capability endpoint used by a delegated uploader to submit the requested file. This request does not use API-key authentication.

Parameters

Returns

Returns {:ok, Inttegro.UploadRequests.UploadFulfillment.t()} when Inttegro accepts and decodes the operation. Returns {:error, exception} for API, transport, or decoding failures. A successful API response can still describe an asynchronous resource that has not reached its terminal state.

Example

request = Inttegro.UploadRequests.FulfillRequest.new!(request_attributes)

case Inttegro.UploadRequests.fulfill(client, request) do
  {:ok, result} -> result
  {:error, error} -> {:error, error}
end

lookup(client, request, options \\ [])

Retrieves a delegated upload request for the authorized application.

Parameters

Returns

Returns {:ok, Inttegro.UploadRequests.UploadRequest.t()} when Inttegro accepts and decodes the operation. Returns {:error, exception} for API, transport, or decoding failures. A successful API response can still describe an asynchronous resource that has not reached its terminal state.

Example

request = Inttegro.UploadRequests.LookupRequest.new!(request_attributes)

case Inttegro.UploadRequests.lookup(client, request) do
  {:ok, result} -> result
  {:error, error} -> {:error, error}
end

page(client, request, options \\ [])

Lists delegated upload requests for the authorized application.

Parameters

Returns

Returns {:ok, Inttegro.UploadRequests.Page.t()} when Inttegro accepts and decodes the operation. Returns {:error, exception} for API, transport, or decoding failures. A successful API response can still describe an asynchronous resource that has not reached its terminal state.

Example

request = Inttegro.UploadRequests.PageRequest.new!(request_attributes)

case Inttegro.UploadRequests.page(client, request) do
  {:ok, result} -> result
  {:error, error} -> {:error, error}
end

review(client, request, options \\ [])

Records a manual approval or rejection for the latest submitted upload attempt.

Parameters

Returns

Returns {:ok, Inttegro.UploadRequests.UploadRequest.t()} when Inttegro accepts and decodes the operation. Returns {:error, exception} for API, transport, or decoding failures. A successful API response can still describe an asynchronous resource that has not reached its terminal state.

Example

# Build one of the concrete request variants listed by Inttegro.UploadRequests.ReviewAttemptRequest.t/0.
request = concrete_request

case Inttegro.UploadRequests.review(client, request) do
  {:ok, result} -> result
  {:error, error} -> {:error, error}
end