Table of contents

e-Commerce Integration API

Serial Number Generation (GenerateSerialNumbers)

  • Function

Creates one or more serial numbers and outputs them as plain text separated by new-line characters.

The API is authenticated by your CheckPoint2 Web Portal's user credential, you can create new serial number(s) specifying one or more action(s) applied to one or more entities.

  • Usage

When integrating with a third party e-commerce provider, after your end-user has checked out and made the payment successfully on the web store, you can make a call to this api to generate new serial number(s) within the e-commerce web hook /payment callback on your web server, so that the end-user will receive his or her serial number immediately during the online purchase.

  • Parameters

The following are supported URL-encoded query parameters:

Parameter Description ( : Mandatory)
companyLogin Your CheckPoint Portal's company login credential.
username Your CheckPoint Portal's username.
password Your CheckPoint Portal's password.
productID License project's Product ID
entityID The entity ID (GUID format, defaulted to the first entity in the project), for multiple entities, the entity-ids are delimitered by comma (,). Ignored if templateSerial is provided.
actionID Action IDs (defaulted to 1 = act_unlock, to unlock the entity), for multiple actions, the action-ids are delimitered by comma (,). Ignored if templateSerial is provided.
activationsPermitted Number of activations permitted on this serial number (defaulted to 3). Ignored if templateSerial is provided.
parameters Any parameters associated with the action. None required for act_unlock, for multiple actions, the action-paramters are delimited by comma (,). Ignored if templateSerial is provided.
templateSerial Template serial number. If provided, the value of entityID, actionID, activationsPermitted and parameters is cloned from the template serial number.
numberToGenerate Number of serial numbers to generate (defaulted to 1).
reference Arbitrary reference number (order #, transaction #, etc, defaulted to null). If it is not provided but the templateSerial is specified, the reference is cloned from the template serial number.
format Optional format specification for serial number (defaulted to “????-????-????-????”). If it is not provided but the templateSerial is specified, the format is deduced from the template serial number.
serialNumber Optional explicit serial number for externally generated serial numbers (defaulted to random serial number of format “format”)
  • URL (HTTPS GET)
  1. Primary URL: https://shield.yummy.net/CheckPoint2/CheckPointHttpGet.svc/GenerateSerialNumbers
  2. Backup URL : https://secure.yummy.net/CheckPoint2/CheckPointHttpGet.svc/GenerateSerialNumbers
  • Example 1: Parameter-Based SerialNumber Generation

Request:

https://shield.yummy.net/checkpoint2/CheckPointHttpGet.svc/GenerateSerialNumbers? companyLogin=Test&username=Test&password=Test &productId=46aaf59ad-a852-442f-81d5-d59dtb031f9f &entityId=5f3151c4-8f6b-4699-a090-4bde954c52e6 &actionID=1&activationsPermitted=2&numberToGenerate=1&reference=TEST_ORDER

Response:

A plain text with new serial number, for multiple serial numbers (numberToGenerate > 1) the serial numbers are delimitered by '\n' (e.g. multiple lines with a serial each line):

3F49-74E6-490D-B35A

You can easily test the api in PostMan:

You can also test the api in command line utility curl:

curl  "https://shield.yummy.net/checkpoint2/CheckPointHttpGet.svc/GenerateSerialNumbers?
      companyLogin=[YOUR_COMPANYLOGIN]
      &username=[YOUR_USERNAME]
      &password=[YOUR_PASSWORD]
      &productId=[APP_PRODUCTID]"
      
      
60AA-C4A1-4F9C-9BEB
  • Example 2: Template-Based SerialNumber Generation

When your project has many entities, you might want to activate multiple entities with a serial, it can be done by specifying actionID /entityID /parameters /activationsPermitted parameters explicitly, as a result you will get a long and hard to maintain URL; to deal with this issue SoftwareShield allows you to create a serial interactively on CheckPoint Web Portal, then you can specify this serial as a template and ignore all of the entity/action/parameters settings.

Request:

https://shield.yummy.net/checkpoint2/CheckPointHttpGet.svc/GenerateSerialNumbers? companyLogin=Test&username=Test&password=Test &productId=46aaf59ad-a852-442f-81d5-d59dtb031f9f &templateSerial=60AA-C4A1-4F9C-9BEB

Response:

A plain text with new serial number with the same actions bundled with the template serial 60AA-C4A1-4F9C-9BEB:

A910-E01F-2B1F-7494

License Code Generation (GenerateResponseCode)

  • Function

Validates a serial number and generates a license code based on the provided request code.

  • Usage

SoftwareShield protected app needs license code to activate. Normally users can activate app online via a serial number on app's license UI, if for some reason the users cannot do online activation, you need to generate the license code manually for them. For each project CheckPoint web portal hosts a public web activator which allow end users get the license code by themselves, or your support team can generate the license on web portal's manual activator UI.

This API allows your developers to develop and host a customized offline activator web page on your own server.

  • Parameters

The following are supported URL-encoded query parameters:

Parameter Description ( : Mandatory)
productID License project's Product ID
serialNumber The serial number to validate.
requestCode The request code generated on client side (ref: Generate Request Code in Javascript).
buildID Optional: the current project buildID of the app; if not provided the latest buildID will be used.
callback Optional: (JSONP Standard). If provided the result will be in the JSONP format. If not provided, the result will be a standard JSON format.
  • URL (HTTPS GET, JSON/JSONP)
  1. Primary URL: https://shield.yummy.net/CheckPoint2/CheckPointService.svc/GenerateResponseCode
  2. Backup URL : https://secure.yummy.net/CheckPoint2/CheckPointService.svc/GenerateResponseCode
  • Example

Request

https://shield.yummy.net/checkpoint2/CheckPointService.svc/GenerateResponseCode? productId=271f8edc-a8e4-458f-af1f-4d6e345f37d2 &serialNumber=6F77-ED51-45A2-95F2 &requestCode=CYMJS-P5XYV-MS6WH-RVBEG &buildId=92"

Response

The returned string is in JSON format:

{"ErrorCode":"","ErrorMessage":"CodeGenerated","InternalError":"","PerfData":null, "ProductID":"271f8edc-a8e4-458f-af1f-4d6e345f37d2", "RequestCode":"CYMJS-P5XYV-MS6WH-RVBEG", "ResponseCode":2, "Result":"KTUM-FN79-YVMY-K6PR-5EUP", "SerialNumber":"6F77-ED51-45A2-95F2", "SerialNumberReference":""}

IF the ResponseCode is CodeGenerated(2), the Result field contains the generated license code. In this example, the license code is KTUM-FN79-YVMY-K6PR-5EUP.