1. Prerequisites
To follow this guide, you will need to:
2. Install and initialize the Dub Ruby SDK
Initialize Initialize the Dub Ruby SDK by creating a new instance of the Dub
struct.
3. Create link
Let’s create a short link using the Dub Ruby SDK .
Full list of available attributes for the Link model
The destination URL of the short link.
The domain of the short link. If not provided, the primary domain for the
workspace will be used (or dub.sh
if the workspace has no domains).
The short link slug. If not provided, a random 7-character slug will be
generated.
This is the ID of the link in your database. If set, it can be used to
identify the link in the future.
The prefix of the short link slug for randomly-generated keys (e.g. if prefix
is /c/
, generated keys will be in the /c/:key
format). Will be ignored if
key is provided.
Whether to track conversions for the short link.
The identifier of the short link that is unique across your workspace. If set,
it can be used to identify your short link for client-side click tracking.
Whether the short link is archived.
Whether the short link’s stats are publicly accessible.
The unique ID of the tag assigned to the short link. This field is deprecated
– use tagIds
instead.
The unique IDs of the tags assigned to the short link.
The unique name of the tags assigned to the short link (case insensitive).
The comments for the short link.
The date and time when the short link will expire at.
The URL to redirect to when the short link has expired.
The password required to access the destination URL of the short link.
Whether the short link uses Custom Social Media Cards feature.
The title of the short link generated via api.dub.co/metatags
. Will be used
for Custom Social Media Cards if proxy is true.
The description of the short link generated via api.dub.co/metatags
. Will be
used for Custom Social Media Cards if proxy is true.
The image of the short link generated via api.dub.co/metatags
. Will be used
for Custom Social Media Cards if proxy is true.
The custom link preview video (og:video). Will be used for Custom Social Media
Cards if proxy
is true. Learn more: https://d.to/og
Whether the short link uses link cloaking.
The iOS destination URL for the short link for iOS device targeting.
The Android destination URL for the short link for Android device targeting.
Allow search engines to index your short link. Defaults to false
if not
provided. Learn more: https://d.to/noindex
The UTM source of the short link. If set, this will populate or override the
UTM source in the destination URL.
The UTM medium of the short link. If set, this will populate or override the
UTM medium in the destination URL.
The UTM campaign of the short link. If set, this will populate or override the
UTM campaign in the destination URL.
The UTM term of the short link. If set, this will populate or override the UTM
term in the destination URL.
The UTM content of the short link. If set, this will populate or override the
UTM content in the destination URL.
The referral tag of the short link. If set, this will populate or override the ref
query parameter in the destination URL.
The ID of the program the short link is associated with.
An array of webhook IDs to trigger when the link is clicked. These webhooks will receive click event data.
Optionally, you can also pass an externalId
field which is a unique identifier for the link in your own database to associate it with the link in Dub’s system.
This will let you easily update the link or retrieve analytics for it later on using the externalId
instead of the Dub linkId
.
4. Upsert link
Dub Ruby SDK provides a method to upsert a link – where an existing link is updated if it exists, or a new link is created if it doesn’t. so you don’t have to worry about checking if the link already exists.
This way, you won’t have to worry about checking if the link already exists when you’re creating it.
5. Update link
Let’s update an existing link using the Dub Ruby SDK.
You can do that in two ways:
Using the link’s linkId
in Dub’s system.
Using the link’s externalId
in your own database (prefixed with ext_
).
6. Retrieve analytics for link
Let’s retrieve analytics for a link using the Dub Ruby SDK.
7. Examples