Authenticate/Authenticate By Token

Introduction

This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to authenticate a user.

Comparison

Note:

  1. The old model is in PascalCase, while the new model is in CamelCase.

  2. Cookie tokens will not be returned by the UsersOrchestrator API.

  3. For custom fields, use Metadata.

User API
Users Orchestrator API

URL

/Authenticate

/AuthenticateByToken

/v4/Users/Authentication

Method

POST

POST

Request

{
  "LoginName": "string",
  "Password": "string",
  "Token": "string"
}
{
  "loginName": "string",
  "password": "string",
  "token": "string"
}

Response

{
  "Code": 0,
  "Errors": [
    {
      "Message": "string",
      "Code": "string",
      "Type": {
        "Id": 0,
        "Code": "string"
      },
      "ErrorSource": "string"
    }
  ],
  "Result": {
    "Authenticated": true,
    "CookieContent": [
      {
        "Name": "string",
        "Content": "string",
        "CookieDurationDays": "string"
      }
    ],
    "CustomerRegistrationId": "string",
    "EncryptedCustomerRegistrationId": "string"
  },
  "SessionId": "string",
  "RequestId": "string"
}
{
    "message": {
        "code": "string",
        "text": "string",
        "type": 0
    },
    "meta": "string",
    "data": {
        "user": {
            "customerRegistrationId": "string",
            "encryptedCustomerRegistrationId": "string",
            "email": "string",
            "verified": true,
            "loginPassword": "string",
            "lastLogoutDate": "2023-06-06T17:42:26.256Z",
            "firstName": "string",
            "lastName": "string",
            "metadata": {
                "title": "",
                "phoneNumber": "",
                "gender": "",
                "age": "",
                "dob": "",
                "dobYYYY": "",
                "acceptsEmailOffers": "",
                "acceptsEmailAds": "",
                "acceptsEmailPromotions": "",
                "address": "",
                "city": "",
                "country": "",
                "position": "",
                "isOkToEmail": "",
                "isOkToPhone": "",
                "isOkToMail": "",
                "workPhone": "",
                "timeZone": "",
                "scoreMember": "",
                "companyName": "",
                "postalCode": "",
                "cellPhone": "",
                "acceptsEENotification": "",
                "ebill_flag": "",
                "eadvan_flag": "",
                "eedition_flag": "",
                "ee_email_flag": "",
                "promo_flag": "",
                "feat_flag": "",
                "dealdigger_flag": "",
                "ads_flag": "",
                "member_event_flag": "",
                "contentEngagement_flag": "",
                "subcom_flag": "",
                "survey_flag": "",
                "accountUpdates_flag": "",
                "photo": "",
                "displayName": "",
                "optOutMarketing": "",
                "agreeToTerms": "",
                "bounceType": "",
            },
            "addSource": "string",
            "addDate": "2023-06-06T17:42:26.256Z",
            "changeSource": "string",
            "changeDate": "2023-06-06T17:42:26.256Z"
        },
        "cookieTokens": [
            {
                "name": "string",
                "content": "string",
                "durationDays": "string"
            }
        ]
    }
}

Authenticate

POST /v4/Users/Authentication

This endpoint is used to authenticate a user.

Note: The parameters marked with an asterisk (*) are mandatory and must be included in the input model.

Headers

Name
Type
Description

Authorization*

String

JSON Web Token used for security purposes

X-SourceSystem*

String

To identify the consumer or the Source System

X-ClientCode*

String

Client Code of the Tenant

X-PaperCode*

String

Paper Code of the Tenant

X-ClientGroupCode*

String

Client Group Code of the Tenant

Request Body

Name
Type
Description

Token

String

Access token generated in the consumer application

Password

String

Subscriber’s password.

LoginName

String

Subscriber’s login name.

{
    "data": {
        "user": {
            "customerRegistrationId": "string",
            "encryptedCustomerRegistrationId": "string",
            "email": "string",
            "verified": true,
            "lastLogoutDate": "2023-06-06T17:42:26.256Z",
            "firstName": "string",
            "lastName": "string",
            "metadata": {
                "title": "",
                "phoneNumber": "",
                "gender": "",
                "age": "",
                "dob": "",
                "dobYYYY": "",
                "acceptsEmailOffers": "",
                "acceptsEmailAds": "",
                "acceptsEmailPromotions": "",
                "address": "",
                "city": "",
                "country": "",
                "position": "",
                "isOkToEmail": "",
                "isOkToPhone": "",
                "isOkToMail": "",
                "workPhone": "",
                "timeZone": "",
                "scoreMember": "",
                "companyName": "",
                "postalCode": "",
                "cellPhone": "",
                "acceptsEENotification": "",
                "ebill_flag": "",
                "eadvan_flag": "",
                "eedition_flag": "",
                "ee_email_flag": "",
                "promo_flag": "",
                "feat_flag": "",
                "dealdigger_flag": "",
                "ads_flag": "",
                "member_event_flag": "",
                "contentEngagement_flag": "",
                "subcom_flag": "",
                "survey_flag": "",
                "accountUpdates_flag": "",
                "photo": "",
                "displayName": "",
                "optOutMarketing": "",
                "agreeToTerms": "",
                "bounceType": "",
            },
            "addDate": "2023-06-06T17:42:26.256Z",
            "addSource": "string",
            "changeDate": "2023-06-06T17:42:26.256Z",
            "changeSource": "string"
        },
        "cookieTokens": [
            {
                "name": "string",
                "content": "string",
                "durationDays": "string"
            }
        ]
    },
    "message": {
        "code": "Subscribe_S200_01",
        "text": "Request processed successfully.",
        "type": "Success"
    },
    "meta": null
}

Events

Note:– The associated Event IDs for the Event Type Codes are specified in parentheses (i.e., EventTypeCode (EventID)) in the table below.

Current
New
Note

LOGIN (60)

  • AUTHSYSTEM_USER_GETBYID (4601)

  • SUBSCRIBE_USER_LOGIN (4006)

  • SUBSCRIBE_USER_GOOGLELOGIN (4012)

For each old LOGIN event, we now create separate events according to the way authentication is handled.

-

SUBSCRIBE_USER_UPDATE (4004)

New event to update User in Subscribe.

GETUSERBYID (1042)

  • SUBSCRIBE_USER_GETBYID (4001)

  • AUTHSYSTEM_USER_LOGIN (4605)

For each GETUSERBYID old event, we now create two events: one for the call to the third-party system and one for the call to our database.

Last updated