Clickwraps

A Clickwrap is a legal agreement (such as an NDA or Terms of Use) that your Users and/or Bundle/Inbox participants will need to agree to via a "Clickwrap" UI before accessing the site, bundle, or inbox.

The values for use_with_users, use_with_bundles, use_with_inboxes are explained as follows:

  • none - This Clickwrap may not be used in this context.
  • available_to_all_users - This Clickwrap may be assigned in this context by any user.
  • available - This Clickwrap may be assigned in this context, but only by Site Admins. We recognize that the name of this setting is somewhat ambiguous, but we maintain it for legacy reasons.
  • required - This Clickwrap will always be used in this context, and may not be overridden.

List Clickwraps

SDK Method

clickwrap.List()

Return Values

Returns a *clickwrap.Iter and an error. Range over All() to receive files_sdk.Clickwrap values and errors. Check each loop error before using its resource. Next() and Err() remain supported.

Authorization Requirement

Available to all authenticated keys or sessions.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/clickwrap"
)

clickwrapIterator, err := clickwrap.List(files_sdk.ClickwrapListParams{})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

for clickwrap, err := range clickwrapIterator.All() {
    if err != nil {
        var respErr files_sdk.ResponseError
        if errors.As(err, &respErr) {
            fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
        } else {
            fmt.Printf("Request failed: %v\n", err)
        }
        return
    }
    fmt.Println(clickwrap)
}

Show Clickwrap

SDK Method

clickwrap.Find()

Return Values

Returns a files_sdk.Clickwrap value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ClickwrapFindParams Fields

FieldDescription
Id
int64
Required
Clickwrap ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/clickwrap"
)

clickwrap, err := clickwrap.Find(files_sdk.ClickwrapFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(clickwrap)

Create Clickwrap

SDK Method

clickwrap.Create()

Return Values

Returns a files_sdk.Clickwrap value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ClickwrapCreateParams Fields

FieldDefaultDescription
Name
string
Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
Body
string
Body text of Clickwrap (supports Markdown formatting).
UseWithBundles
string
"none"Use this Clickwrap for Bundles?
Possible values: none, available, require, available_to_all_users
UseWithInboxes
string
"none"Use this Clickwrap for Inboxes?
Possible values: none, available, require, available_to_all_users
UseWithUsers
string
"none"Use this Clickwrap for Users? Values: none, require (new user signup via email invitation only), require_all_users_once (show to all users at their next web login; once accepted, not shown again), require_all_users_always (show to all users on every web login).
Possible values: none, require, require_all_users_once, require_all_users_always

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/clickwrap"
)

clickwrap, err := clickwrap.Create(files_sdk.ClickwrapCreateParams{Name: "Example Site NDA for Files.com Use"})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(clickwrap)

Update Clickwrap

SDK Method

clickwrap.Update()

Return Values

Returns a files_sdk.Clickwrap value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ClickwrapUpdateParams Fields

FieldDescription
Id
int64
Required
Clickwrap ID.
Name
string
Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
Body
string
Body text of Clickwrap (supports Markdown formatting).
UseWithBundles
string
Use this Clickwrap for Bundles?
Possible values: none, available, require, available_to_all_users
UseWithInboxes
string
Use this Clickwrap for Inboxes?
Possible values: none, available, require, available_to_all_users
UseWithUsers
string
Use this Clickwrap for Users? Values: none, require (new user signup via email invitation only), require_all_users_once (show to all users at their next web login; once accepted, not shown again), require_all_users_always (show to all users on every web login).
Possible values: none, require, require_all_users_once, require_all_users_always

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/clickwrap"
)

clickwrap, err := clickwrap.Update(files_sdk.ClickwrapUpdateParams{
  Id: 1,
  Name: "Example Site NDA for Files.com Use",
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(clickwrap)

Delete Clickwrap

SDK Method

clickwrap.Delete()

Return Values

Returns an error, or nil on success.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ClickwrapDeleteParams Fields

FieldDescription
Id
int64
Required
Clickwrap ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/clickwrap"
)

err := clickwrap.Delete(files_sdk.ClickwrapDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

The Clickwrap Object

Some of the methods above return a Clickwrap object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Clickwrap ID
Name
string
Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
Body
string
Body text of Clickwrap (supports Markdown formatting).
UseWithUsers
string
Use this Clickwrap for Users? Values: none, require (new user signup via email invitation only), require_all_users_once (show to all users at their next web login; once accepted, not shown again), require_all_users_always (show to all users on every web login).
Possible values: none, require, require_all_users_once, require_all_users_always
UseWithBundles
string
Use this Clickwrap for Bundles?
Possible values: none, available, require, available_to_all_users
UseWithInboxes
string
Use this Clickwrap for Inboxes?
Possible values: none, available, require, available_to_all_users