Create a partner for a program. If partner exists, automatically enrolls them.
require 'dub'
Models = ::OpenApiSDK::Models
s = ::OpenApiSDK::Dub.new(
security: Models::Shared::Security.new(
token: 'DUB_API_KEY',
),
)
req = Models::Operations::CreatePartnerRequestBody.new(
email: 'Summer50@yahoo.com',
link_props: Models::Operations::LinkProps.new(
external_id: '123456',
tag_ids: [
'clux0rgak00011...',
],
test_variants: [
Models::Operations::CreatePartnerTestVariants.new(
url: 'https://example.com/variant-1',
percentage: 50.0,
),
Models::Operations::CreatePartnerTestVariants.new(
url: 'https://example.com/variant-2',
percentage: 50.0,
),
],
),
)
res = s.partners.create(request: req)
unless res.nil?
# handle response
end
{
"id": "<string>",
"name": "<string>",
"email": "<string>",
"image": "<string>",
"description": "<string>",
"country": "<string>",
"paypalEmail": "<string>",
"stripeConnectId": "<string>",
"payoutsEnabledAt": "<string>",
"programId": "<string>",
"groupId": "<string>",
"partnerId": "<string>",
"tenantId": "<string>",
"createdAt": "<string>",
"status": "pending",
"links": [
{
"id": "<string>",
"domain": "<string>",
"key": "<string>",
"shortLink": "<string>",
"url": "<string>",
"clicks": 0,
"leads": 0,
"sales": 0,
"saleAmount": 0
}
],
"totalCommissions": 0,
"clickRewardId": "<string>",
"leadRewardId": "<string>",
"saleRewardId": "<string>",
"discountId": "<string>",
"applicationId": "<string>",
"bannedAt": "<string>",
"bannedReason": "tos_violation",
"clicks": 0,
"leads": 0,
"conversions": 0,
"sales": 0,
"saleAmount": 0,
"netRevenue": 0,
"website": "<string>",
"websiteTxtRecord": "<string>",
"websiteVerifiedAt": "<string>",
"youtube": "<string>",
"youtubeVerifiedAt": "<string>",
"youtubeSubscriberCount": 123,
"youtubeViewCount": 123,
"twitter": "<string>",
"twitterVerifiedAt": "<string>",
"linkedin": "<string>",
"linkedinVerifiedAt": "<string>",
"instagram": "<string>",
"instagramVerifiedAt": "<string>",
"tiktok": "<string>",
"tiktokVerifiedAt": "<string>"
}
Default authentication mechanism
The created partner
The response is of type object
.
require 'dub'
Models = ::OpenApiSDK::Models
s = ::OpenApiSDK::Dub.new(
security: Models::Shared::Security.new(
token: 'DUB_API_KEY',
),
)
req = Models::Operations::CreatePartnerRequestBody.new(
email: 'Summer50@yahoo.com',
link_props: Models::Operations::LinkProps.new(
external_id: '123456',
tag_ids: [
'clux0rgak00011...',
],
test_variants: [
Models::Operations::CreatePartnerTestVariants.new(
url: 'https://example.com/variant-1',
percentage: 50.0,
),
Models::Operations::CreatePartnerTestVariants.new(
url: 'https://example.com/variant-2',
percentage: 50.0,
),
],
),
)
res = s.partners.create(request: req)
unless res.nil?
# handle response
end
{
"id": "<string>",
"name": "<string>",
"email": "<string>",
"image": "<string>",
"description": "<string>",
"country": "<string>",
"paypalEmail": "<string>",
"stripeConnectId": "<string>",
"payoutsEnabledAt": "<string>",
"programId": "<string>",
"groupId": "<string>",
"partnerId": "<string>",
"tenantId": "<string>",
"createdAt": "<string>",
"status": "pending",
"links": [
{
"id": "<string>",
"domain": "<string>",
"key": "<string>",
"shortLink": "<string>",
"url": "<string>",
"clicks": 0,
"leads": 0,
"sales": 0,
"saleAmount": 0
}
],
"totalCommissions": 0,
"clickRewardId": "<string>",
"leadRewardId": "<string>",
"saleRewardId": "<string>",
"discountId": "<string>",
"applicationId": "<string>",
"bannedAt": "<string>",
"bannedReason": "tos_violation",
"clicks": 0,
"leads": 0,
"conversions": 0,
"sales": 0,
"saleAmount": 0,
"netRevenue": 0,
"website": "<string>",
"websiteTxtRecord": "<string>",
"websiteVerifiedAt": "<string>",
"youtube": "<string>",
"youtubeVerifiedAt": "<string>",
"youtubeSubscriberCount": 123,
"youtubeViewCount": 123,
"twitter": "<string>",
"twitterVerifiedAt": "<string>",
"linkedin": "<string>",
"linkedinVerifiedAt": "<string>",
"instagram": "<string>",
"instagramVerifiedAt": "<string>",
"tiktok": "<string>",
"tiktokVerifiedAt": "<string>"
}