Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@condenast/cna-st-codec

Package Overview
Dependencies
Maintainers
377
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@condenast/cna-st-codec

Standalone library to service all cna.st encoding requests

  • 0.1.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
377
Created
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

Package last updated on 15 Dec 2022

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc