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 Object

[]*Clickwrap

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.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

for clickwrapIterator.Next() {
    clickwrap := clickwrapIterator.clickwrap()
}
err = clickwrapIterator.Err()
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Show Clickwrap

SDK Method

clickwrap.Find()

Return Object

Clickwrap

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

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.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Create Clickwrap

SDK Method

clickwrap.Create()

Return Object

Clickwrap

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

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.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Update Clickwrap

SDK Method

clickwrap.Update()

Return Object

Clickwrap

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

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.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Delete Clickwrap

SDK Method

clickwrap.Delete()

Return Object

No return value.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

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.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

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