dub

Creator: coderz1093

Last updated:

0 purchases

dub Image
dub Images

Languages

Categories

Add to Cart

Description:

dub

dub (EXPERIMENTAL) #
Dub is link management infrastructure for companies to create marketing campaigns, link sharing features, and referral programs.
For more information, please visit https://dub.co/api
Requirements #

Dart 2.15.0+ or Flutter 2.8.0+
Dio 5.0.0+ (https://pub.dev/packages/dio)
JSON Serializable 6.1.5+ (https://pub.dev/packages/json_serializable)

Installation & Usage #
pub.dev #
To use the package from pub.dev, please include the following in pubspec.yaml
dependencies:
dub: 0.0.1
copied to clipboard
Github #
To use this package from Github, please include the following in pubspec.yaml
dependencies:
dub:
git:
url: https://github.com/thealphamerc/dub-dart.git
#ref: main
copied to clipboard
Local development #
To use the package from your local drive, please include the following in pubspec.yaml
dependencies:
dub:
path: /path/to/dub
copied to clipboard
Getting Started #
Please follow the installation procedure and then run the following:
import 'package:dub/dub.dart';


final api = Dub().getLinksApi();
final analyticsApi = Dub().getAnalyticsApi();
final String workspaceId = 'ws_cluuwcv0r....' // String | The ID of the workspace.

// Create a link
try {
final response = await api.createLink(
workspaceId: workspaceId!,
createLinkRequest: CreateLinkRequest(
url: 'https://www.google.com',
externalId: "12345", // Optional
),
);
print(response);
} catch on DioException (e) {
print("Exception when calling LinkAPI->createLink: $e\n");
}

// Upsert a link
// Update the link if same URL already exists or create a new link
try {
final response = await api.upsertLink(
workspaceId: workspaceId!,
createLinkRequest: CreateLinkRequest(
url: 'https://www.google.com',
externalId: "12345", // Optional
),
);
print(response);
} catch on DioException (e) {
print("Exception when calling LinkAPI->upsertLink: $e\n");
}

// Update a link
try {
final response = await api.upsertLink(
linkId: 'clv3o9p9q000au1h0mc7r6l63',
workspaceId: workspaceId!,
createLinkRequest: CreateLinkRequest(
url: 'https://www.google.com',
),
);

// Update a link by its externalId
final response2 = await api.upsertLink(
linkId: 'ext_12345',
workspaceId: workspaceId!,
createLinkRequest: CreateLinkRequest(
url: 'https://www.google.com',
),
);
print(response);
} catch on DioException (e) {
print("Exception when calling LinkAPI->upsertLink: $e\n");
}

// Retrieve the timeseries analytics for the last 7 days for a link
try {
final response = await analyticsApi.retrieveAnalytics(
linkId: 'clv3o9p9q000au1h0mc7r6l63',
workspaceId: workspaceId,
interval: '7d',
event: 'click',
groupBy: 'timeseries'
);
print(response);
} catch on DioException (e) {
print("Exception when calling AnalyticsAPI->retrieveAnalytics: $e\n");
}
copied to clipboard
Documentation for API Endpoints #
All URIs are relative to https://api.dub.co



Class
Method
HTTP request
Description




AnalyticsApi
retrieveAnalytics
GET /analytics
Retrieve analytics for a link, a domain, or the authenticated workspace.


DomainsApi
addDomain
POST /domains
Add a domain


DomainsApi
deleteDomain
DELETE /domains/{slug}
Delete a domain


DomainsApi
listDomains
GET /domains
Retrieve a list of domains


DomainsApi
setPrimaryDomain
POST /domains/{slug}/primary
Set a domain as primary


DomainsApi
transferDomain
POST /domains/{slug}/transfer
Transfer a domain


DomainsApi
updateDomain
PATCH /domains/{slug}
Update a domain


LinksApi
bulkCreateLinks
POST /links/bulk
Bulk create links


LinksApi
createLink
POST /links
Create a new link


LinksApi
deleteLink
DELETE /links/{linkId}
Delete a link


LinksApi
getLinkInfo
GET /links/info
Retrieve a link


LinksApi
getLinks
GET /links
Retrieve a list of links


LinksApi
getLinksCount
GET /links/count
Retrieve the number of links


LinksApi
updateLink
PATCH /links/{linkId}
Update a link


LinksApi
upsertLink
PUT /links/upsert
Upsert a link


MetatagsApi
getMetatags
GET /metatags
Retrieve the metatags for a URL


QRCodesApi
getQRCode
GET /qr
Retrieve a QR code


TagsApi
createTag
POST /tags
Create a new tag


TagsApi
getTags
GET /tags
Retrieve a list of tags


TrackApi
trackCustomer
POST /track/customer
Track a customer


TrackApi
trackLead
POST /track/lead
Track a lead


TrackApi
trackSale
POST /track/sale
Track a sale


WorkspacesApi
createWorkspace
POST /workspaces
Create a workspace


WorkspacesApi
getWorkspace
GET /workspaces/{idOrSlug}
Retrieve a workspace


WorkspacesApi
getWorkspaces
GET /workspaces
Retrieve a list of workspaces



Documentation For Models #

AddDomainRequest
ClicksBrowsers
ClicksCities
ClicksCount
ClicksCountries
ClicksDevices
ClicksOS
ClicksReferers
ClicksTimeseries
ClicksTopLinks
ClicksTopUrls
CountryCode
CreateLinkRequest
CreateLinkRequestTagIds
CreateTagRequest
CreateWorkspaceRequest
DeleteDomain200Response
DeleteLink200Response
DomainSchema
GetLinks400Response
GetLinks400ResponseError
GetLinks401Response
GetLinks401ResponseError
GetLinks403Response
GetLinks403ResponseError
GetLinks404Response
GetLinks404ResponseError
GetLinks409Response
GetLinks409ResponseError
GetLinks410Response
GetLinks410ResponseError
GetLinks422Response
GetLinks422ResponseError
GetLinks429Response
GetLinks429ResponseError
GetLinks500Response
GetLinks500ResponseError
GetLinksCountGroupByParameter
GetLinksTagIdsParameter
GetLinksTagNamesParameter
GetMetatags200Response
LeadsBrowsers
LeadsCities
LeadsCount
LeadsCountries
LeadsDevices
LeadsOS
LeadsReferers
LeadsTimeseries
LeadsTopLinks
LeadsTopUrls
LinkGeoTargeting
LinkSchema
LinkSchemaGeo
RetrieveAnalytics200Response
SalesBrowsers
SalesCities
SalesCount
SalesCountries
SalesDevices
SalesOS
SalesReferers
SalesTimeseries
SalesTopLinks
SalesTopUrls
TagSchema
TrackCustomer200Response
TrackCustomerRequest
TrackLead200Response
TrackLeadRequest
TrackSale200Response
TrackSaleRequest
TransferDomainRequest
UpdateDomainRequest
WorkspaceSchema
WorkspaceSchemaDomainsInner
WorkspaceSchemaUsersInner

Documentation For Authorization #
Authentication schemes defined for the API:
token #

Type: HTTP Bearer Token authentication. You can create your token from the Dub.co dashboard.

Author #
[email protected]

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.