Partner Site Requests

A PartnerSiteRequest represents a request for a Guest Partner to add their Files.com Site to their Partnership with the Host Partner. The Guest Partner's Files.com Site is referred to as the Guest Site in this relationship.

The Partner Admin user representing the Guest on the Host Partner can initiate a request, which generates a pairing key. The Guest Site admin must then approve the request. This ensures that the Partner Admin user representing the Guest on the Host Partner and the Site Admins of the Site are in agreement that the linking should occur.

List Partner Site Requests

SDK Method

partner_site_request.List()

Return Values

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

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator, a Workspace Administrator for the relevant workspace, or a Partner Administrator for the relevant partner.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

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

partnerSiteRequestIterator, err := partner_site_request.List(files_sdk.PartnerSiteRequestListParams{})
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 partnerSiteRequest, err := range partnerSiteRequestIterator.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(partnerSiteRequest)
}

Find partner site request by pairing key

SDK Method

partner_site_request.FindByPairingKey()

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.

PartnerSiteRequestFindByPairingKeyParams Fields

FieldDescription
PairingKey
string
Required
Pairing key for the partner site request

Example Request

import (
    "fmt"
    "errors"

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

err := partner_site_request.FindByPairingKey(files_sdk.PartnerSiteRequestFindByPairingKeyParams{PairingKey: "pairing_key"})
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
}

Create Partner Site Request

SDK Method

partner_site_request.Create()

Return Values

Returns a files_sdk.PartnerSiteRequest value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator, a Workspace Administrator for the relevant workspace, or a Partner Administrator for the relevant partner.

PartnerSiteRequestCreateParams Fields

FieldDescription
HostPartnerId
int64
Required
Host Partner ID to link with
GuestSiteUrl
string
Required
Guest Site URL to link to

Example Request

import (
    "fmt"
    "errors"

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

partnerSiteRequest, err := partner_site_request.Create(files_sdk.PartnerSiteRequestCreateParams{
  HostPartnerId: 1,
  GuestSiteUrl: "guest_site_url",
})
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(partnerSiteRequest)

Reject partner site request

SDK Method

partner_site_request.Reject()

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.

PartnerSiteRequestRejectParams Fields

FieldDescription
PairingKey
string
Required
Pairing key for the partner site request

Example Request

import (
    "fmt"
    "errors"

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

err := partner_site_request.Reject(files_sdk.PartnerSiteRequestRejectParams{PairingKey: "pairing_key"})
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
}

Approve partner site request

SDK Method

partner_site_request.Approve()

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.

PartnerSiteRequestApproveParams Fields

FieldDescription
PairingKey
string
Required
Pairing key for the partner site request
PartnerId
int64
ID of an existing Partner on this site, with the host role, that represents the requesting organization. The connection binds to that Partner and makes it host_and_guest. When omitted, a guest Partner named after the host site is created.

Example Request

import (
    "fmt"
    "errors"

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

err := partner_site_request.Approve(files_sdk.PartnerSiteRequestApproveParams{PairingKey: "pairing_key"})
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
}

Delete Partner Site Request

SDK Method

partner_site_request.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, a Workspace Administrator for the relevant workspace, or a Partner Administrator for the relevant partner.

PartnerSiteRequestDeleteParams Fields

FieldDescription
Id
int64
Required
Partner Site Request ID.

Example Request

import (
    "fmt"
    "errors"

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

err := partner_site_request.Delete(files_sdk.PartnerSiteRequestDeleteParams{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 PartnerSiteRequest Object

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

AttributeDescription
Id
int64
Partner Site Request ID
HostPartnerId
int64
Host Partner ID
GuestSiteUrl
string
Guest Site URL
Status
string
Request status (pending, approved, rejected)
Possible values: pending, approved, rejected
HostSiteName
string
Host Site Name
PairingKey
string
Pairing key used to approve this request on the Guest Site
CreatedAt
date-time
Request creation date/time
UpdatedAt
date-time
Request last updated date/time