Socket
Socket
Sign inDemoInstall

@condenast/cna-st-codec

Package Overview
Dependencies
1
Maintainers
377
Versions
16
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @condenast/cna-st-codec

Standalone library to service all cna.st encoding requests


Version published
Weekly downloads
1.1K
decreased by-8.85%
Maintainers
377
Install size
26.1 kB
Created
Weekly downloads
 

Readme

Source

@condenast/cna-st-codec

Standalone library to service all cna.st encoding requests. Below are the services provided by the library:

  • Encode affilate links
  • Encode product embeds
  • Decode affiliate links

Installation

    npm install @condenast/cna-st-codec

Usage

Documentation: Click here

Input params

Query ParameterTypeRequiredExampleDescription
originstringyes60d5a8e87a19ee043b25fb5bOrigin of this link (ex: Copilot page id, newsletter id, etc)
localestringnoUKUsed for localised links.
brandstringyes4gKgcF5Myw5MXdcFAvDQL5L1iAGHId of the source’s brand
channelstringnonewsletter, website, instagramThe channel where the click originated
campaignstringnosummersaleCustom Campaign parameter
productstringno30d5a8eKa919ee043b25fP9IKID of product
componentstringnoPLP-Carousel_4Name to identify which component is generating revenue (including the position)
bucketstringnoBr1639018827824exxA+B test cell bucket ID
actionIdstringno123456Unique ID to reference a click back to a conversion with GA
offerUrlstringyesRetailer product/offer URL
referrerstringnoOrigin URL where click happened
sourcestringnoversosource name eg: verso, amp
To generate encoded text
const cnaStCodec = require('@condenast/cna-st-codec');

const params = {
    brand: "4gKgcEs3YBmxYhgNxdHg8VnbgTnc",
    offerUrl: "http://www.amazon.com/",
    origin: "60d5a8e87a19ee043b25fb5b"
};

let encodedText = cnaStCodec.encodeAffiliateParams(params);
console.log(encodedText);

// Output: 4jjCSCMwBgMHssUvJ6jQbjEfYZMoqQmMUyrkXyfPygqXC4jXjS8nfaa7CwiuVicTz35jocCjuWUSzdvRi6RpqSkKB7ybSrg4KShpeGTbBdLesvvhbgo
To update existing params or add new value to an encoded text
const cnaStCodec = require('@condenast/cna-st-codec');

let encodedText = "4jjCSCMwBgMHssUvJ6jQbjEfYZMoqQmMUyrkXyfPygqXC4jXjS8nfaa7CwiuVicTz35jocCjuWUSzdvRi6RpqSkKB7ybSrg4KShpeGTbBdLesvvhbgo";
const params = {
    offerUrl: "http://go.skimlinks.com/",
    campaign: "test"
};

encodedText = cnaStCodec.encodeAffiliateParams(encodedText, params);
console.log(encodedText);

// Output: RTBwSQLjveX2mJoa9QBGwjuqBsCuZwtP3mdimfraBSaLWCnYkwWyZL85Nvj1ML5qYfokBdnhojbDXLW4mWjBPvotMHwFYNCg4YLYAaSRCYB4eaT79vayNPto
To decode the encoded text
const cnaStCodec = require('@condenast/cna-st-codec');

let encodedText = "4jjCSCMwBgMHssUvJ6jQbjEfYZMoqQmMUyrkXyfPygqXC4jXjS8nfaa7CwiuVicTz35jocCjuWUSzdvRi6RpqSkKB7ybSrg4KShpeGTbBdLesvvhbgo";
let decoded = cnaStCodec.decodeAffiliateParams(encodedText);
console.log(decoded);

// Output: {
//   referrer: '',
//   actionId: '',
//   bucket: '',
//   component: '',
//   campaign: 'test',
//   channel: '',
//   locale: '',
//   origin: '60d5a8e87a19ee043b25fb5b',
//   product: '',
//   offerUrl: 'https://go.skimlinks.com',
//   brand: '4gKgcEs3YBmxYhgNxdHg8VnbgTnc'
// }

FAQs

Last updated on 15 Dec 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc