All pages
Powered by GitBook
1 of 16

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Migration to UsersOrchestrator API

Introduction

This section outlines the process to be followed in order to migrate from the old UserAPI endpoints to the new UsersOrchestratorAPI endpoints. This section also shows a comparison of the old and new APIs.

The endpoints covered in this section are as listed below:

ProxyAPI Information

In order to redirect to UserAPI or to UsersOrchestratorAPI, ProxyAPI must have the following settings in place:

IgnoreProvider Considerations

  • This flag is included in the Body or QueryString of certain endpoints.

  • This parameter is used to retrieve only SubscribeRegistration results while ignoring third-party integration services. This is an optional parameter that modifies the workflow execution.

User States

The UserOrchestrator API also includes the registration status in the API response.

  1. The GET /Users and GET /Users/id endpoints will include the output parameter, State, which returns the status of a registration.

    • The registration's status will be returned as follows:

      • If the tenant has been associated with a third-party authentication system such as Auth0, Firefly, etc., the State will be returned as

MG2 Control Internal setting, UsersOrchestrator - Its value includes a "string.Format" that must be utilized to determine the correct API route. The value by default is "{0}/UsersOrchestrator".

Note: Since the ProxyAPI directly calls the UsersOrchestratorAPI, GatewayAPI is not involved in the request chain.

Standard
.
  • If the tenant has been associated with MG2 Auth:

    • When the Password field in the database remains blank, the State will be Lite.

    • When the Verified field in the database has been set to False, the State will be Unverified.

    • When the Password field hasn't been blank and the Verified field has been set to true, the State will be Standard.

  • The POST /Users endpoint will display an error when trying to create a registration that already exists in the database and has the Verified field set to false.

  • The POST /Users/Authentication endpoint will display an error when trying to login with an Unverified or Lite registration.

  • Get By Id
    Get By Email
    Get By Query String
    Get By Encrypted Email
    Get By Encrypted Id
    Get By Token
    Create User
    Create Passwordless User
    Update User
    Update Password
    Update Email
    Authenticate / Authenticate By Token
    ForgotPassword
    ForgotPassword (Start)
    ForgotPassword (Validity)
    ForgotPassword (Finish)
    Verify Email
    Send Verification Code

    Get By Encrypted Email

    Introduction

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

    With the input parameter Encrypted Email (Subscriber’s encrypted email), the API gets the user's information from both the integration service and the subscribe registration. The response displays the combined information.

    Comparison

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

    User API
    Users Orchestrator API

    Get By Encrypted Email

    GET /v4/Users?email={email}&ignoreProvider={boolean}

    This endpoint is used to gets the user's information from both the integration service and the subscribe registration based on the Encrypted Email.

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

    Query Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description
    1. Error Code: UsersOrchestrator_E400_02 Error Message: Invalid InputModel

    2. Error Code: UsersOrchestrator_E400

      Error Message: Bad Request

    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

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    Error Code: UsersOrchestrator_E500 Error Message: Internal Server Error
  • Error Code: UsersOrchestrator_E500_02

    Error Message: There was a problem during the Get workflow.

  • URL

    /User/Encrypted?encryptedEmail={encryptedEmail}

    /v4/Users?encryptedEmail={encryptedEmail}

    Method

    GET

    GET

    Response

    Email*

    String

    Subscriber’s email.

    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

    GETUSER (73)

    AUTHSYSTEM_USER_GET (4601)

    Renamed.

    This event retrieves a User by Id from AuthSystem.

    CREATELOGIN (68)

    -

    No user will be created but synchronized in our database

    -

    SUBSCRIBE_USER_UPDATE (4004)

    New event to update User in Subscribe

    -

    SUBSCRIBE_USER_GET (4000)

    New event to retrieve User from Subscribe

    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "Users": [
          {
            "RegistrationId": 0,
            "LoginName": "string",
            "LoginPassword": "string",
            "CustomerRegistrationId": "string",
            "EncryptedCustomerRegistrationId": "string",
            "FirstName": "string",
            "LastName": "string",
            "Email": "string",
            "Gender": "string",
            "Phone": "string",
            "MobilePhone": "string",
            "OptInEVantageSubscriberRewards": true,
            "OptInSpecialOffers": true,
            "OptInContestAndPromotions": true,
            "OptInPaperlessBilling": true,
            "OptInEEdition": true,
            "OptInEEditionEmailNotification": true,
            "OptInSubscriberDiscounts": true,
            "OptInAdvertiserEmails": true,
            "MemberEvent": true,
            "ContentEngagement": true,
            "SUBCOM": true,
            "Survey": true,
            "AccountUpdates": true,
            "DateOfBirth": "string",
            "BirthYear": "string",
            "AcceptsEmailOffers": 0,
            "AcceptsEmailAds": 0,
            "AcceptsEmailPromotions": 0,
            "IsOkToEmail": 0,
            "IsOkToPhone": 0,
            "IsOkToMail": 0,
            "AcceptsEENotification": 0,
            "ChangeDate": "2023-06-05T18:43:26.757Z",
            "DateRegistered": "2023-06-05T18:43:26.757Z",
            "AddDate": "2023-06-05T18:43:26.757Z",
            "Photos": [
              {
                "Id": "string",
                "Value": "string",
                "Type": "string"
              }
            ],
            "IsSocial": true,
            "DisplayName": "string",
            "AgreeToTerms": true,
            "OptOutMarketing": true,
            "Photo": "string",
            "VerificationCode": "string",
            "Verified": true,
            "AuthSystem": {
              "AuthSystemId": 0,
              "AuthSystemCode": "string",
              "AuthSystemName": "string"
            },
            "UserState": {
              "UserStateId": 0,
              "UserStateCode": "string"
            },
            "BounceType": "string",
            "LastLogoutDate": "2023-06-05T18:43:26.757Z",
            "UrlPasswordChangeTicket": "string",
            "Metadata": {}
          }
        ],
        "TotalUsersFound": 0
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": {
            "totalRecords": 0
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "verified": true,
                "firstName": "string",
                "lastName": "string",
                "state": UserState,
                "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": "",
                }
            }
        ]
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": {
            "totalRecords": 0
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "verified": true,
                "firstName": "string",
                "lastName": "string",
                "state": "UserState",
                "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": "",
                }
            }
        ]
    }

    Get By Token

    Introduction

    This endpoint retrieves the user's information from both the integration service and the subscribe registration based on the input parameter Token (access token generated in the consumer application).

    UsersOrchestrator doesn’t support this operation.

    Current Proxy URL: POST User/Token

    Update Email

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to update the email of a user based on the provided CustomerRegistrationId.

    Comparison

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

    User API
    Users Orchestrator API

    Update Email

    PATCH /v4/Users/{CustomerRegistrationId}/Email

    This endpoint is used to update the email of a user.

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

    Path Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description
    Status Code
    Code
    Message

    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

    Update Password

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to update the password of a user based on the provided CustomerRegistrationId.

    Comparison

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

    User API
    Users Orchestrator API

    Update Password

    PATCH /Users/{{customerRegistrationId}}/Password

    This endpoint is used to update the password of a user.

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

    Path Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description
    Status Code
    Code
    Message

    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

    Update User

    Introduction

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

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    UsersOrchestrator_E500

    Internal Server Error

    500

    UsersOrchestrator_E500_01

    There was a problem during the GetById workflow.

    URL

    /User/{customerRegistrationId}

    /v4/Users/{CustomerRegistrationId}/Email

    Method

    PUT

    PATCH

    Request

    CustomerRegistrationId*

    String

    Unique identifier for the user in the authentication provider

    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

    Email*

    String

    Subscriber’s email.

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    400

    UsersOrchestrator_E400_08

    The email is already in use by another user

    GETUSERBYID (1042)

    • AUTHSYSTEM_USER_GETBYID (4601)

    • SUBSCRIBE_USER_GETBYID (4001)

    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.

    CHGEMAIL (21)

    • AUTHSYSTEM_USER_CHANGEEMAIL (4610)

    • SUBSCRIBE_USER_CHANGEEMAIL (4011)

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

    Response

    500

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    UsersOrchestrator_E500_01

    There was a problem during the GetById workflow.

    URL

    /User/{customerRegistrationId}

    /v4/Users/{CustomerRegistrationId}/Password

    Method

    PUT

    PATCH

    Request

    CustomerRegistrationId*

    String

    Unique identifier for the user in the authentication provider

    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

    Password*

    String

    Subscriber’s password.

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    500

    UsersOrchestrator_E500

    Internal Server Error

    GETUSERBYID (1042)

    • AUTHSYSTEM_USER_GETBYID (4601)

    • SUBSCRIBE_USER_GETBYID (4001)

    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.

    CHGPWD (22)

    • AUTHSYSTEM_USER_CHANGEPASSWORD (4609)

    • SUBSCRIBE_USER_CHANGEPASSWORD (4010)

    For each CHGPWD old event, we now create two events: one for the call to the third-party system and one for the call to our database. SUBSCRIBE_USER_CHANGEPASSWORD is responsible for sending the email.

    Response

    500

    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

    /User/{customerRegistrationId}

    /v4/Users/{customerRegistrationId}/

    Method

    PUT

    PUT

    Request


    Update User

    PUT /v4/Users/{customerRegistrationId}/

    This endpoint is used to update a user.

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

    Path Parameters

    Name
    Type
    Description

    CustomerRegistrationId*

    String

    Unique identifier for the user in the authentication provider

    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

    Request Body

    Name
    Type
    Description

    Metadata

    Object

    Metadata must be an object in camelCase format.

    LastName

    String

    Subscriber’s last name.

    FirstName

    String

    Subscriber’s first name.

    IgnoreProvider

    Boolean

    If the IgnoreProvider flag is false, it executes a Create operation through the ThirdParty system (Integration).

    If the IgnoreProvider flag is true, it executes a Create operation through the SubscribeRegistration API (Subscribe).

    Status Code
    Code
    Message

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    400

    UsersOrchestrator_E400_22

    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

    GETUSERBYID (1042)

    • AUTHSYSTEM_USER_GETBYID (4601)

    • SUBSCRIBE_USER_GETBYID (4001)

    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.

    UPDATEUSER (712)

    • AUTHSYSTEM_USER_CREATE (4602)

    • SUBSCRIBE_USER_CREATE (4002)

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

    {
      "Email": "string" 
    }
    {
      "email": "string"
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_12",
          "text": "Update Email completed.",
          "type": "Success"
      },
      meta: null
    }
    {
      "OldPassword": "string",
      "Password": "string"
    }
    {
      "password": "string"
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_11",
          "text": "Update password completed.",
          "type": "Success"
      },
      meta: null
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_07",
          "text": "Update completed.",
          "type": "Success"
      },
      meta: null
    }

    Response

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    Verified

    Boolean

    Indicates whether the user has confirmed the registration.

    LastLogoutDate

    DateTime

    Subscriber’s last logout date in the Naviga platform.

    RemoveLastLogoutDate

    Boolean

    Indicates whether to remove the Subscriber’s last logout date.

    There was an error trying to update the user.

    500

    UsersOrchestrator_E500

    Internal Server Error

    500

    UsersOrchestrator_E500_01

    There was a problem during the GetById workflow.

    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "CustomerRegistrationId": "string",
        "Updated": true
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string"
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "CustomerRegistrationId": "string",
        "Updated": true
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string"
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "CustomerRegistrationId": "string",
        "Updated": true
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string"
    }
    {
      "Email": "string",
      "AccountNumber": "string",
      "OldPassword": "string",
      "Password": "string",
      "Mode": 0,
      "CustomerRegistrationId": "string",
      "CustomerRegistrationIdNew": "string",
      "FirstName": "string",
      "LastName": "string",
      "Phone": "string",
      "MobilePhone": "string",
      "DOB": "string",
      "BirthYear": "string",
      "Gender": "string",
      "OptInEVantageSubscriberRewards": true,
      "OptInSpecialOffers": true,
      "OptInContestAndPromotions": true,
      "OptInPaperlessBilling": true,
      "OptInEEdition": true,
      "OptInEEditionEmailNotification": true,
      "OptInSubscriberDiscounts": true,
      "OptInAdvertiserEmails": true,
      "MemberEvent": true,
      "ContentEngagement": true,
      "SUBCOM": true,
      "Survey": true,
      "AccountUpdates": true,
      "AcceptsEmailOffers": 0,
      "AcceptsEmailAds": 0,
      "AcceptsEmailPromotions": 0,
      "IsOkToEmail": 0,
      "IsOkToPhone": 0,
      "IsOkToMail": 0,
      "AcceptsEENotification": 0,
      "IsActive": 0,
      "SubscriptionId": 0,
      "DisplayName": "string",
      "Country": "string",
      "Address": "string",
      "City": "string",
      "State": "string",
      "ZipCode": "string",
      "Photo": "string",
      "OptOutMarketing": true,
      "AcceptsTermsOfService": true,
      "LastLogoutDate": "2023-06-06T17:24:47.113Z",
      "EncryptedCustomerRegistrationId": "string",
      "Metadata": {}
    }
    {
        "verified": true,
        "lastLogoutDate": "2023-06-06T17:37:24.499Z",
        "removeLastLogoutDate": true,
        "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": "",
        },
        "ignoreProvider": true
    }

    Verify Email

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to verify the email of a user based on the provided Email and Verification Code.

    Comparison

    Note:

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

    2. The UsersOrchestrator API only returns CRID and EncryptedCRID and does not return cookie tokens.

    User API
    Users Orchestrator API

    Verify Email

    POST /v4/Users/Verification

    This endpoint is used to verify the email of a user based on the provided Email and Verification Code.

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

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description

    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

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    The verification code is invalid.

    400

    UsersOrchestrator_E400_16

    Email is already verified.

    500

    UsersOrchestrator_E500

    Internal Server Error

    URL

    /User/VerifyEmail

    /v4/Users/Verification

    Method

    POST

    POST

    Request

    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

    Email*

    String

    Subscriber’s email.

    VerificationCode*

    String

    Unique code for verification of the registration.

    Status Code

    Code

    Message

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    400

    UsersOrchestrator_E400_14

    The email is not registered.

    400

    GETUSER (73)

    SUBSCRIBE_USER_GET (4000)

    Renamed. This event will get User from Subscribe

    CREATELOGIN (68)

    SUBSCRIBE_USER_CREATE (4002)

    Renamed. This event will create User in Subscribe

    Response

    UsersOrchestrator_E400_15

    Create Passwordless User

    Introduction

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

    Get By Encrypted Id

    Introduction

    This endpoint retrieves the user's information from both the integration service and the subscribe registration based on the input parameter Encrypted Customer Registration ID.

    With the input parameter Encrypted CRID, the API gets the user's information from both the integration service and the subscribe registration. The response displays the combined information.

    Get By Email

    Introduction

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

    With the input parameter Email (Subscriber’s email), the API gets the user's information from both the integration service and the subscribe registration. The response displays the combined information.

    Based on the value of Flow.UserProvider and the IgnoreProvider input parameter, the API gives user information in the following way:

    {
      "VerificationCode": "string",
      "Email": "string"
    }
    {
      "email": "string",
      "verificationCode": "string"
    }
    {
      "message": {
        "code": "UsersOrchestrator_S200_13",
        "text": "Verify Email completed.",
        "type": "Success"
      },
      "data": {
        "customerRegistrationId": "string",
        "encryptedCustomerRegistrationId": "string"
      },
      "meta": null
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "CustomerRegistrationId": "string",
        "EncryptedCustomerRegistrationId": "string",
        "Mg2RegistrationId": 0,
        "RegistrationVerificationId": 0,
        "Tokens": [
          {
            "Name": "string",
            "Content": "string",
            "CookieDurationDays": "string"
          }
        ]
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string",
      "data": {
        "customerRegistrationId": "string",
        "encryptedCustomerRegistrationId": "string"
      }
    }
    Comparison

    When creating a passwordless user, UsersOrchestrator will generate a dummy password and the proper Change Password URL.

    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

    /User/Passwordless

    /v4/Users

    Method

    POST

    POST

    Request


    Create Passwordless User

    POST /v4/Users

    This endpoint is used to create a user without a password.

    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

    Request Body

    Name
    Type
    Description

    Email

    String

    Subscriber’s email.

    CustomerRegistrationId

    String

    Unique identifier for the user in the authentication provider

    EncryptedCustomerRegistrationid

    String

    Encrypted unique identifier for the user in authentication system.

    VerifyEmail

    Boolean

    Default false.

    If True is provided, then the registration will not be created right away. Naviga would wait until the user confirmed the registration by clicking the link in the verification email.

    Status Code
    Code
    Message

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    400

    UsersOrchestrator_E400_07

    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

    GETUSER (73)

    AUTHSYSTEM_USER_GET (4601)

    Renamed.

    This event retrieves a User by Id from AuthSystem.

    CREATELOGIN (68)

    • AUTHSYSTEM_USER_CREATE (4602)

    • SUBSCRIBE_USER_CREATE (4002)

    • For each CREATELOGIN old event, we now create two events. One is for the call to the third-party system, and the other is for the call to our database.

    • SUBSCRIBE_USER_CREATE is responsible for sending the email.

    Comparison

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

    User API
    Users Orchestrator API

    URL

    /User/Encrypted/{Type}?encryptedCustomerRegistrationId={encryptedCustomerRegistrationId}

    /v4/Users?encryptedCustomerRegistrationId={encryptedCustomerRegistrationId}

    Method

    GET

    GET

    Response


    Get By Encrypted ID

    GET /v4/Users?encryptedCustomerRegistrationId={encryptedCustomerRegistrationId}

    This endpoint is used to gets the user's information from both the integration service and the subscribe registration based on the Encrypted Customer Registration ID.

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

    Query Parameters

    Name
    Type
    Description

    Encrypted Customer Registration ID*

    String

    Encrypted unique identifier for the user in authentication system.

    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

    1. Error Code: UsersOrchestrator_E400_02 Error Message: Invalid InputModel

    2. Error Code: UsersOrchestrator_E400

      Error Message: Bad Request

    1. Error Code: UsersOrchestrator_E500 Error Message: Internal Server Error

    2. Error Code: UsersOrchestrator_E500_02

      Error Message: There was a problem during the Get workflow.

    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

    GETUSER (73)

    AUTHSYSTEM_USER_GET (4601)

    Renamed.

    This event retrieves a User by Id from AuthSystem.

    CREATELOGIN (68)

    -

    No user will be created but synchronized in our database

    -

    SUBSCRIBE_USER_UPDATE (4004)

    New event to update User in Subscribe

    -

    SUBSCRIBE_USER_GET (4000)

    New event to retrieve User from Subscribe

    If no valid value is provided in Flow.UserProvider, the API retrieves user information from the Subscribe Registration API.

  • If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to True, the API retrieves user information from the Subscribe Registration API.

  • If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to False, the user's details are retrieved from both the integration service and the subscribe registration. The combined information is displayed in the response.

  • Comparison

    Parameters

    • The parameter, Type, has been deprecated.

    • A new parameter, IgnoreProvider, has been added.

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

    User API
    Users Orchestrator API

    URL

    /User/{type}?email={email}

    /v4/Users?email={email}&ignoreProvider={boolean}

    Method

    GET

    GET

    Response


    Get By Email

    GET /v4/Users?email={email}&ignoreProvider={boolean}

    This endpoint is used to gets the user's information from both the integration service and the subscribe registration based on the Email.

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

    Query Parameters

    Name
    Type
    Description

    IgnoreProvider

    Boolean

    Indicates whether to retrieve the user details from the integration service.

    Email*

    String

    Subscriber’s email.

    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

    1. Error Code: UsersOrchestrator_E400_02 Error Message: Invalid InputModel

    2. Error Code: UsersOrchestrator_E400 Error Message: Bad Request

    1. Error Code: UsersOrchestrator_E500 Error Message: Internal Server Error

    2. Error Code: UsersOrchestrator_E500_02

      Error Message: There was a problem during the Get workflow.

    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

    GETUSER (73)

    AUTHSYSTEM_USER_GET (4601)

    Renamed.

    This event retrieves a User by Id from AuthSystem.

    CREATELOGIN (68)

    -

    No user will be created but synchronized in our database

    -

    SUBSCRIBE_USER_UPDATE (4004)

    New event to update User in Subscribe

    -

    SUBSCRIBE_USER_GET (4000)

    New event to retrieve User from Subscribe

    Create User

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to create 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

    Create User

    POST /v4/Users

    This endpoint is used to create a user.

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

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description
    Status Code
    Code
    Message

    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
    {
        "message": {
            "code": "UsersOrchestrator_S200_06",
            "text": "Create completed.",
            "type": "Success"
        },
        "data": {
            "customerRegistrationId": "string",
            "encryptedCustomerRegistrationId": "string"
        }
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": {
            "totalRecords": 0
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "verified": true,
                "firstName": "string",
                "lastName": "string",
                "state": "UserState",
                "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": "",
                }
            }
        ]
    }
    {
        "message": {
            "code": "UsersOrchestrator_S200_02",
            "text": "Get completed.",
            "type": "Success"
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "firstName": "string",
                "lastName": "string",
                "state": "UserStates",
                "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": "",
                },
                "verified": true
            }
        ],
        "meta": {
            "totalRecords": 0
        }
    }

    Response

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    ReturnUrl

    String

    URL to which users must be redirected after they have successfully verified their registration.

    FirstName

    String

    Subscriber’s first name.

    LastName

    String

    Subscriber’s last name.

    Metadata

    Object

    Metadata must be an object in camelCase format.

    IgnoreProvider

    Boolean

    If the IgnoreProvider flag is false, it executes a Create operation through the ThirdParty system (Integration).

    If the IgnoreProvider flag is true, it executes a Create operation through the SubscribeRegistration API (Subscribe).

    The entered email address is still pending for verification.

    400

    UsersOrchestrator_E400_08

    The email is already in use by another user.

    400

    UsersOrchestrator_E400_09

    The metadata is invalid.

    400

    UsersOrchestrator_E400_17

    Metadata Key or Value cannot contain more than 100 characters.

    400

    UsersOrchestrator_E400_23

    The customer registration id already exists.

    500

    UsersOrchestrator_E500

    Internal Server Error

    500

    UsersOrchestrator_E500_01

    There was a problem during the GetById workflow.

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "CustomerRegistrationId": "string",
        "EncryptedCustomerRegistrationId": "string",
        "Mg2RegistrationId": 0,
        "RegistrationVerificationId": 0,
        "Tokens": [
          {
            "Name": "string",
            "Content": "string",
            "CookieDurationDays": "string"
          }
        ]
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string",
      "data": {
        "customerRegistrationId": "string",
        "encryptedCustomerRegistrationId": "string"
      }
    }
    {
      "Email": "string",
      "CreationMode": 0,
      "CustomerRegistrationId": "string",
      "FirstName": "string",
      "LastName": "string",
      "DisplayName": "string",
      "Phone": "string",
      "MobilePhone": "string",
      "DOB": "string",
      "BirthYear": "string",
      "Gender": "string",
      "OptInEVantageSubscriberRewards": true,
      "OptInSpecialOffers": true,
      "OptInContestAndPromotions": true,
      "OptInPaperlessBilling": true,
      "OptInEEdition": true,
      "OptInEEditionEmailNotification": true,
      "OptInSubscriberDiscounts": true,
      "OptInAdvertiserEmails": true,
      "MemberEvent": true,
      "ContentEngagement": true,
      "SUBCOM": true,
      "Survey": true,
      "AccountUpdates": true,
      "AcceptsEmailOffers": 0,
      "AcceptsEmailAds": 0,
      "AcceptsEmailPromotions": 0,
      "IsOkToEmail": 0,
      "IsOkToPhone": 0,
      "IsOkToMail": 0,
      "AcceptsEENotification": 0,
      "AcceptsTermsOfService": true,
      "Country": "string",
      "Address": "string",
      "City": "string",
      "State": "string",
      "ZipCode": "string",
      "Photo": "string",
      "OptOutMarketing": true,
      "VerifyEmail": true,
      "ReturnUrl": "string",
      "PaperCode": "string",
      "NewspaperId": 0,
      "AuthSystemId": 0,
      "Metadata": {}
    }
    {
        "email": "string",
        "customerRegistrationId": "string",
        "encryptedCustomerRegistrationId": "string",
        "verifyEmail": true,
        "returnUrl": "string",
        "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": "",
        },
        "ignoreProvider": true
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "Users": [
          {
            "RegistrationId": 0,
            "LoginName": "string",
            "LoginPassword": "string",
            "CustomerRegistrationId": "string",
            "EncryptedCustomerRegistrationId": "string",
            "FirstName": "string",
            "LastName": "string",
            "Email": "string",
            "Gender": "string",
            "Phone": "string",
            "MobilePhone": "string",
            "OptInEVantageSubscriberRewards": true,
            "OptInSpecialOffers": true,
            "OptInContestAndPromotions": true,
            "OptInPaperlessBilling": true,
            "OptInEEdition": true,
            "OptInEEditionEmailNotification": true,
            "OptInSubscriberDiscounts": true,
            "OptInAdvertiserEmails": true,
            "MemberEvent": true,
            "ContentEngagement": true,
            "SUBCOM": true,
            "Survey": true,
            "AccountUpdates": true,
            "DateOfBirth": "string",
            "BirthYear": "string",
            "AcceptsEmailOffers": 0,
            "AcceptsEmailAds": 0,
            "AcceptsEmailPromotions": 0,
            "IsOkToEmail": 0,
            "IsOkToPhone": 0,
            "IsOkToMail": 0,
            "AcceptsEENotification": 0,
            "ChangeDate": "2023-06-05T18:43:26.757Z",
            "DateRegistered": "2023-06-05T18:43:26.757Z",
            "AddDate": "2023-06-05T18:43:26.757Z",
            "Photos": [
              {
                "Id": "string",
                "Value": "string",
                "Type": "string"
              }
            ],
            "IsSocial": true,
            "DisplayName": "string",
            "AgreeToTerms": true,
            "OptOutMarketing": true,
            "Photo": "string",
            "VerificationCode": "string",
            "Verified": true,
            "AuthSystem": {
              "AuthSystemId": 0,
              "AuthSystemCode": "string",
              "AuthSystemName": "string"
            },
            "UserState": {
              "UserStateId": 0,
              "UserStateCode": "string"
            },
            "BounceType": "string",
            "LastLogoutDate": "2023-06-05T18:43:26.757Z",
            "UrlPasswordChangeTicket": "string",
            "Metadata": {}
          }
        ],
        "TotalUsersFound": 0
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": {
            "totalRecords": 0
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "verified": true,
                "firstName": "string",
                "lastName": "string",
                "state": "UserState",
                "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": "",
                }
            }
        ]
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "User": {
          "RegistrationId": 0,
          "LoginName": "string",
          "LoginPassword": "string",
          "CustomerRegistrationId": "string",
          "EncryptedCustomerRegistrationId": "string",
          "FirstName": "string",
          "LastName": "string",
          "Email": "string",
          "Gender": "string",
          "Phone": "string",
          "MobilePhone": "string",
          "OptInEVantageSubscriberRewards": true,
          "OptInSpecialOffers": true,
          "OptInContestAndPromotions": true,
          "OptInPaperlessBilling": true,
          "OptInEEdition": true,
          "OptInEEditionEmailNotification": true,
          "OptInSubscriberDiscounts": true,
          "OptInAdvertiserEmails": true,
          "MemberEvent": true,
          "ContentEngagement": true,
          "SUBCOM": true,
          "Survey": true,
          "AccountUpdates": true,
          "DateOfBirth": "string",
          "BirthYear": "string",
          "AcceptsEmailOffers": 0,
          "AcceptsEmailAds": 0,
          "AcceptsEmailPromotions": 0,
          "IsOkToEmail": 0,
          "IsOkToPhone": 0,
          "IsOkToMail": 0,
          "AcceptsEENotification": 0,
          "ChangeDate": "2023-06-05T18:43:26.752Z",
          "DateRegistered": "2023-06-05T18:43:26.752Z",
          "AddDate": "2023-06-05T18:43:26.752Z",
          "Photos": [
            {
              "Id": "string",
              "Value": "string",
              "Type": "string"
            }
          ],
          "IsSocial": true,
          "DisplayName": "string",
          "AgreeToTerms": true,
          "OptOutMarketing": true,
          "Photo": "string",
          "VerificationCode": "string",
          "Verified": true,
          "AuthSystem": {
            "AuthSystemId": 0,
            "AuthSystemCode": "string",
            "AuthSystemName": "string"
          },
          "UserState": {
            "UserStateId": 0,
            "UserStateCode": "string"
          },
          "BounceType": "string",
          "LastLogoutDate": "2023-06-05T18:43:26.752Z",
          "UrlPasswordChangeTicket": "string",
          "Metadata": {}
        }
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": object,
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "verified": true,
                "firstName": "string",
                "lastName": "string",
                "state": UserState,
                "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": "",
                }
            }
        ]
    }

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    IgnoreProvider

    Boolean

    If the IgnoreProvider flag is false, it executes a Create operation through the ThirdParty system (Integration).

    If the IgnoreProvider flag is true, it executes a Create operation through the SubscribeRegistration API (Subscribe).

    ReturnUrl

    String

    URL to which users must be redirected after they have successfully verified their registration.

    VerifyEmail

    Boolean

    Default false.

    If True is provided, then the registration will not be created right away. Naviga would wait until the user confirmed the registration by clicking the link in the verification email.

    Password

    String

    Subscriber’s password.

    EncryptedCustomerRegistrationid

    String

    Encrypted unique identifier for the user in authentication system.

    CustomerRegistrationId

    String

    Unique identifier for the user in the authentication provider

    UsersOrchestrator_E400_08

    The email is already in use by another user.

    400

    UsersOrchestrator_E400_09

    The metadata is invalid.

    400

    UsersOrchestrator_E400_17

    Metadata Key or Value cannot contain more than 100 characters.

    400

    UsersOrchestrator_E400_23

    The customer registration id already exists.

    500

    UsersOrchestrator_E500

    Internal Server Error

    500

    UsersOrchestrator_E500_01

    There was a problem during the GetById workflow.

    URL

    /User

    /v4/Users

    Method

    POST

    POST

    Request

    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

    Email

    String

    Subscriber’s email.

    Metadata

    Object

    Metadata must be an object in camelCase format.

    LastName

    String

    Subscriber’s last name.

    FirstName

    String

    Subscriber’s first name.

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    400

    UsersOrchestrator_E400_07

    The entered email address is still pending for verification.

    GETUSER (73)

    AUTHSYSTEM_USER_GET (4601)

    Renamed.

    This event retrieves a User by Id from AuthSystem.

    CREATELOGIN (68)

    • AUTHSYSTEM_USER_CREATE (4602)

    • SUBSCRIBE_USER_CREATE (4002)

    • For each CREATELOGIN old event, we now create two events. One is for the call to the third-party system, and the other is for the call to our database.

    • SUBSCRIBE_USER_CREATE is responsible for sending the email.

    Response

    400

    {
      "Email": "string",
      "Password": "string",
      "CreationMode": 0,
      "CustomerRegistrationId": "string",
      "FirstName": "string",
      "LastName": "string",
      "DisplayName": "string",
      "Phone": "string",
      "MobilePhone": "string",
      "DOB": "string",
      "BirthYear": "string",
      "Gender": "string",
      "OptInEVantageSubscriberRewards": true,
      "OptInSpecialOffers": true,
      "OptInContestAndPromotions": true,
      "OptInPaperlessBilling": true,
      "OptInEEdition": true,
      "OptInEEditionEmailNotification": true,
      "OptInSubscriberDiscounts": true,
      "OptInAdvertiserEmails": true,
      "MemberEvent": true,
      "ContentEngagement": true,
      "SUBCOM": true,
      "Survey": true,
      "AccountUpdates": true,
      "AcceptsEmailOffers": 0,
      "AcceptsEmailAds": 0,
      "AcceptsEmailPromotions": 0,
      "IsOkToEmail": 0,
      "IsOkToPhone": 0,
      "IsOkToMail": 0,
      "AcceptsEENotification": 0,
      "AcceptsTermsOfService": true,
      "Country": "string",
      "Address": "string",
      "City": "string",
      "State": "string",
      "ZipCode": "string",
      "Photo": "string",
      "OptOutMarketing": true,
      "VerifyEmail": true,
      "ReturnUrl": "string",
      "PaperCode": "string",
      "NewspaperId": 0,
      "AuthSystemId": 0,
      "Metadata": {}
    }
    {
        "email": "string",
        "customerRegistrationId": "string",
        "encryptedCustomerRegistrationId": "string",
        "password": "string",
        "verifyEmail": true,
        "returnUrl": "string",
        "firstName": "string",
        "lastName": "string",
        "state": "UserState",
        "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": ""
        },
        "ignoreProvider": true
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_06",
          "text": "Create completed.",
          "type": "Success"
      },
      "data": {
          "customerRegistrationId": "string",
          "encryptedCustomerRegistrationId": "string"     
      }
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "CustomerRegistrationId": "string",
        "EncryptedCustomerRegistrationId": "string",
        "Mg2RegistrationId": 0,
        "RegistrationVerificationId": 0,
        "Tokens": [
          {
            "Name": "string",
            "Content": "string",
            "CookieDurationDays": "string"
          }
        ]
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string",
      "data": {
        "customerRegistrationId": "string",
        "encryptedCustomerRegistrationId": "string"
      }
    }

    ForgotPassword

    ForgotPassword (Start)

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and the Subscribe Registration API to create the STARTFORGOTPASSWORD (PWDREQ) event and send an email with a link to the subscriber.

    Comparison

    Note:

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

    2. UsersOrchestrator API doesn’t return PasswordResetLinkSent.

    User API
    Users Orchestrator API

    ForgotPassword (Start)

    POST /v4/Users/ForgotPassword

    This endpoint is used to create the STARTFORGOTPASSWORD (PWDREQ) event and send an email with a link to the subscriber.

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

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description
    Status Code
    Code
    Message

    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

    ForgotPassword (Validate)

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and the Subscribe Registration API to validate whether the received EncryptedEventId is a valid event for the forgot password flow.

    Comparison

    Note:

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

    2. The UsersOrchestrator API returns the EventId associated with the user.

    3. If the event is invalid, the UsersOrchestrator API returns an error.

    User API
    Users Orchestrator API

    Forgot Password (Validate)

    GET /v4/Users/ForgotPassword/{{EncryptedEventId}}/Validity

    This endpoint is used to validate whether the received EncryptedEventId is a valid event for the forgot password flow.

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

    Path Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description
    Status Code
    Code
    Message

    ForgotPassword (FINISH)

    Introduction

    This endpoint receives the new password to set based on an event and triggers the workflow.

    Comparison

    Note:

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

    2. If the flow fails, the UsersOrchestrator API returns an error.

    User API
    Users Orchestrator API

    ForgotPassword (Finish)

    POST /v4/Users/ForgotPassword/{{EncryptedEventId}}

    This endpoint receives the new password to set based on an event and triggers the workflow.

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

    Path Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description

    Error Code: UsersOrchestrator_E400

    Error Message: Bad Request

    Error Code: UsersOrchestrator_E400_02

    Error Message: Invalid InputModel

    Error Code: UsersOrchestrator_E500

    Error Message: Internal Server Error

    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

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    URL

    /ForgotPassword

    /v4/Users/ForgotPassword

    Method

    POST

    POST

    Request

    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

    ReturnUrl

    String

    URL to which users must be redirected after they have successfully verified their registration.

    LoginName*

    String

    Subscriber’s login name.

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    500

    UsersOrchestrator_E500

    Internal Server Error

    PWDREQ (64)

    SUBSCRIBE_USER_STARTFORGOTPASSWORD (4009)

    The new event is used to Start forgot password in Subscribe

    URL

    /ForgotPassword/Validity

    /v4/Users/ForgotPassword/{{EncryptedEventId}}/Validity

    Method

    POST

    GET

    Request

    EncryptedEventId*

    String

    Encrypted unique identifier of the event.

    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

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    500

    UsersOrchestrator_E500

    Internal Server Error

    URL

    /ForgotPassword/ChangePassword

    /v4/Users/ForgotPassword/{{EncryptedEventId}}

    Method

    POST

    POST

    Request

    EncryptedEventId*

    String

    Encrypted unique identifier of the event.

    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

    Password*

    String

    Subscriber’s password.

    CHGPWD (22)

    • AUTHSYSTEM_USER_CHANGEPASSWORD (4609)

    • SUBSCRIBE_USER_CHANGEPASSWORD (4010)

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

    UpdatePassword
    UpdatePassword

    Response

    Response

    Response

    {
      "LoginName": "string",
      "ReturnUrl": "string"
    }
    {
      "loginName": "string",
      "returnUrl": "string"
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_08",
          "text": "Start ForgotPassword completed.",
          "type": "Success"
      },
      "data": {
        "encryptedEventId": string
      },
      "meta": null
    }
    {
      "EncryptedEventId": "string"
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_09",
          "text": "Validate ForgotPassword completed.",
          "type": "Success"
      },
      "data": {
       "eventId": int
      }
      meta: null
    }
    {
      "EncryptedEventId": "string",
      "NewPassword": "string"
    }
    {
      "password": :"string"
    }
    {
      "message":{
          "code": "UsersOrchestrator_S200_10",
          "text": "Finish ForgotPassword completed.",
          "type": "Success"
      },
      "meta": null
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "PasswordResetLinkSent": true
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": {},
      "data": {
        "encryptedEventId": "string"
      }
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "IsValid": true
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": {},
      "data": {
        "eventId": 0
      }
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "Done": true
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": {}
    }

    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

    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

    Request Body

    Name
    Type
    Description
    Status Code
    Code
    Message

    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

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    UsersOrchestrator_E500_01

    There was a problem during the GetById workflow.

    URL

    /Authenticate

    /AuthenticateByToken

    /v4/Users/Authentication

    Method

    POST

    POST

    Request

    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

    Token

    String

    Access token generated in the consumer application

    Password

    String

    Subscriber’s password.

    LoginName

    String

    Subscriber’s login name.

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    500

    UsersOrchestrator_E500

    Internal Server Error

    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.

    Response

    500

    {
      "LoginName": "string",
      "Password": "string",
      "Token": "string"
    }
    {
      "loginName": "string",
      "password": "string",
      "token": "string"
    }
    {
        "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
    }
    {
      "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"
                }
            ]
        }
    }
    

    Send Verification Code

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to send or resend a Verification Code by email so that users can click on the verification link provided in the email in order to start using their new registration.

    Comparison

    Note:

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

    2. The UsersOrchestrator API only returns CRID and EncryptedCRID and does not return cookie tokens.

    User API
    Users Orchestrator API

    Send Verification Code

    POST /v4/Users/VerificationCode

    This endpoint is used to verify the email of a user based on the provided Email and Verification Code.

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

    Headers

    Name
    Type
    Description

    Request Body

    Name
    Type
    Description

    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

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    The entered email address does not have any pending (and not expired) verification.

    500

    UsersOrchestrator_E500

    Internal Server Error

    URL

    /VerifyEmail/Resend

    /v4/Users​/VerificationCode

    Method

    POST

    POST

    Request

    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

    Email*

    String

    Subscriber’s email.

    ReturnUrl

    String

    URL to which users must be redirected after they have successfully verified their registration.

    Status Code

    Code

    Message

    400

    UsersOrchestrator_E400

    Bad Request

    400

    UsersOrchestrator_E400_00

    Invalid InputModel - {Message}

    400

    UsersOrchestrator_E400_14

    The email is not registered.

    400

    GETUSER (73)

    SUBSCRIBE_USER_GET (4000)

    Renamed. This event will get User from Subscribe

    VERIFYCODE (670)

    SUBSCRIBE_USER_CREATEPENDING (4003)

    Changed event. The event will create User with pending status in Subscribe

    Response

    UsersOrchestrator_E400_18

    {
      "Email": "string",
      "ReturnUrl": "string"
    }
    {
      "email": "string",
      "returnUrl": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string"
    }
    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "Done": "true"
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
      "message": {
        "code": "string",
        "text": "string",
        "type": 0
      },
      "meta": "string"
    }

    Get By Id

    Introduction

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

    With the input parameter Customer Registration ID (CRID), the API gets the user's information from both the integration service and the subscribe registration. The response displays the combined information.

    Based on the value of Flow.UserProvider and the IgnoreProvider input parameter, the API gives user information in the following way:

    1. If no valid value is provided in Flow.UserProvider, the API retrieves user information from the Subscribe Registration API.

    2. If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to True, the API retrieves user information from the Subscribe Registration API.

    3. If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to False, the user's details are retrieved from both the integration service and the subscribe registration. The combined information is displayed in the response.

    Note

    • MG2 control flow setting: Flow.UserProvider value should be set to "Auth0," "Gigya," "SSOR", or "Firefly", depending on the third-party system or integration service being used.

    Comparison

    Parameters

    • The parameter, Type, has been deprecated.

    • A new parameter, IgnoreProvider, has been added.

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

    User API
    Users Orchestrator API

    Get User by Id

    GET /v4/Users/{customerRegistrationId}/?ignoreProvider={boolean}

    This endpoint is used to gets the user's information from both the integration service and the subscribe registration based on the CustomerRegistrationId.

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

    Path Parameters

    Name
    Type
    Description

    Query Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description
    1. Error Code: UsersOrchestrator_E400 Error Message: Bad Request

    2. Error Code: UsersOrchestrator_E400_01

      Error Message: Invalid Id

    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
    MG2 control flow setting, "
    Flow.Users.RedirectToOrchestrator
    ", value has to be set to 1 for the ProxyAPI redirection to the UsersOrchestratorAPI instead of the UserAPI.

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    Error Code: UsersOrchestrator_E500 Error Message: Internal Server Error
  • Error Code: UsersOrchestrator_E500_01

    Error Message: There was a problem during the GetById workflow.

  • URL

    /User/{customerRegistrationId}/{type}

    /v4/Users/{customerRegistrationId}/?ignoreProvider={boolean}

    Method

    GET

    GET

    Response

    CustomerRegistrationId*

    String

    Unique identifier for the user in the authentication provider.

    IgnoreProvider

    Boolean

    Indicates whether to retrieve the user details from the integration service.

    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

    CREATELOGIN (68)

    -

    No user will be created but synchronized in our database

    GETUSERBYID (1042)

    AUTHSYSTEM_USER_GETBYID (4601)

    Renamed.

    This event retrieves a User by Id from AuthSystem.

    -

    SUBSCRIBE_USER_GETBYID (4001)

    New event created to get User By Id from Subscribe

    -

    SUBSCRIBE_USER_UPDATE (4004)

    New event created to update User in Subscribe

    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "User": {
          "RegistrationId": 0,
          "LoginName": "string",
          "LoginPassword": "string",
          "CustomerRegistrationId": "string",
          "EncryptedCustomerRegistrationId": "string",
          "FirstName": "string",
          "LastName": "string",
          "Email": "string",
          "Gender": "string",
          "Phone": "string",
          "MobilePhone": "string",
          "OptInEVantageSubscriberRewards": true,
          "OptInSpecialOffers": true,
          "OptInContestAndPromotions": true,
          "OptInPaperlessBilling": true,
          "OptInEEdition": true,
          "OptInEEditionEmailNotification": true,
          "OptInSubscriberDiscounts": true,
          "OptInAdvertiserEmails": true,
          "MemberEvent": true,
          "ContentEngagement": true,
          "SUBCOM": true,
          "Survey": true,
          "AccountUpdates": true,
          "DateOfBirth": "string",
          "BirthYear": "string",
          "AcceptsEmailOffers": 0,
          "AcceptsEmailAds": 0,
          "AcceptsEmailPromotions": 0,
          "IsOkToEmail": 0,
          "IsOkToPhone": 0,
          "IsOkToMail": 0,
          "AcceptsEENotification": 0,
          "ChangeDate": "2023-06-05T18:43:26.748Z",
          "DateRegistered": "2023-06-05T18:43:26.748Z",
          "AddDate": "2023-06-05T18:43:26.748Z",
          "Photos": [
            {
              "Id": "string",
              "Value": "string",
              "Type": "string"
            }
          ],
          "IsSocial": true,
          "DisplayName": "string",
          "AgreeToTerms": true,
          "OptOutMarketing": true,
          "Photo": "string",
          "VerificationCode": "string",
          "Verified": true,
          "AuthSystem": {
            "AuthSystemId": 0,
            "AuthSystemCode": "string",
            "AuthSystemName": "string"
          },
          "UserState": {
            "UserStateId": 0,
            "UserStateCode": "string"
          },
          "BounceType": "string",
          "LastLogoutDate": "2023-06-05T18:43:26.748Z",
          "UrlPasswordChangeTicket": "string",
          "Metadata": {}
        }
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": object,
        "data": {
            "customerRegistrationId": "string",
            "encryptedCustomerRegistrationId": "string",
            "email": "string",
            "verified": true,
            "loginPassword": "string",
            "lastLogoutDate": "2023-06-05T19:08:58.949Z",
            "firstName": "string",
            "lastName": "string",
            "state": UserState,
            "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-05T19:08:58.949Z",
        "changeSource": "string",
        "changeDate": "2023-06-05T19:08:58.949Z"
    }
    }
    {
        "message": {
            "code": "UsersOrchestrator_S200_01",
            "text": "GetById completed.",
            "type": "Success"
        },
        "data": {
            "customerRegistrationId": "string",
            "encryptedCustomerRegistrationId": "string",
            "email": "string",
            "verified": true,
            "state": "UserStates",
            "lastLogoutDate": "Date",
            "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": "Date",
            "addSource": "string",
            "changeDate": "Date",
            "changeSource": "string"
        }
    }

    Get By Query String

    Introduction

    This endpoint handles the workflow orchestration between the integration services (such as Auth0, Gigya, SSOR, and Firefly) and Subscribe Registration API to retrieve the user's information based on the provided Query String parameters.

    Based on the value of Flow.UserProvider and the IgnoreProvider input parameter, the API gives user information in the following way:

    1. If no valid value is provided in Flow.UserProvider, the API retrieves user information from the Subscribe Registration API.

    2. If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to True, the API retrieves user information from the Subscribe Registration API.

    3. If a valid value is provided in Flow.UserProvider and the input parameter IgnoreProvider is set to False, the user's details are retrieved from both the integration service and the subscribe registration. The combined information is displayed in the response.

    Note

    • MG2 control flow setting: Flow.UserProvider value should be set to "Auth0," "Gigya," "SSOR", or "Firefly", depending on the third-party system or integration service being used.

    Comparison

    Parameters

    • The following parameters have been deprecated.

      1. Type

      2. OnlyActive

      3. SortBy

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

    User API
    Users Orchestrator API

    Get User by Query String

    GET /v4/Users/{queryString}

    This endpoint is used to gets the user's information from both the integration service and the subscribe registration based on the provided Query String parameters.

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

    Path Parameters

    Name
    Type
    Description

    Query Parameters

    Name
    Type
    Description

    Headers

    Name
    Type
    Description
    1. Error Code: UsersOrchestrator_E400 Error Message: Bad Request

    2. Error Code: UsersOrchestrator_E400_02

      Error Message: Invalid InputModel

    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
    MG2 control flow setting, "
    Flow.Users.RedirectToOrchestrator
    ", value has to be set to 1 for the ProxyAPI redirection to the UsersOrchestratorAPI instead of the UserAPI.

    SortOrder

  • UsersPerPage

  • LookupInUserProvider

  • AuthSystemId

  • A set of new parameters has been added.

    1. PageSize

    2. OrderBy

    3. OrderByType

    4. IgnoreProvider

  • PageNumber

    Integer

    Requested page number of pagination. Default value 1.

    OrderByType

    Integer

    Sort the records in ascending (0) or descending (1) order.

    OrderBy

    Integer

    Sort the records based on the column number.

    FirstName

    String

    User’s first name.

    LastName

    String

    User’s last name.

    Metadata

    Dictionary <String, String>

    Since it is a dictionary query parameter, each "Key-Value" pair must be sent individually with the prefix "metadata.".

    For example, if the purpose is to filter users based on their first and last names, the query string will be: https://UrlBase/Users?metadata.firstName=FirstName&metadata.lastName=LastName”

    X-ClientGroupCode*

    String

    Client Group Code of the Tenant

    Error Code: UsersOrchestrator_E500 Error Message: Internal Server Error
  • Error Code: UsersOrchestrator_E500_02

    Error Message: There was a problem during the Get workflow.

  • URL

    /User/{queryString}

    /v4/Users/{queryString}

    Method

    GET

    GET

    Response

    CustomerRegistrationId*

    String

    Unique identifier for the user in the authentication provider.

    IgnoreProvider

    Boolean

    Indicates whether to retrieve the user details from the integration service.

    EncryptedEmail

    String

    Encrypted email of the user

    Email

    String

    Email or partial email address of the user

    PageSize

    Integer

    Maximum number of items returned per request.

    Default value 10.

    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

    -

    SUBSCRIBE_USER_GET (4000)

    New event created to get User from Subscribe

    {
      "Code": 0,
      "Errors": [
        {
          "Message": "string",
          "Code": "string",
          "Type": {
            "Id": 0,
            "Code": "string"
          },
          "ErrorSource": "string"
        }
      ],
      "Result": {
        "Users": [
          {
            "RegistrationId": 0,
            "LoginName": "string",
            "LoginPassword": "string",
            "CustomerRegistrationId": "string",
            "EncryptedCustomerRegistrationId": "string",
            "FirstName": "string",
            "LastName": "string",
            "Email": "string",
            "Gender": "string",
            "Phone": "string",
            "MobilePhone": "string",
            "OptInEVantageSubscriberRewards": true,
            "OptInSpecialOffers": true,
            "OptInContestAndPromotions": true,
            "OptInPaperlessBilling": true,
            "OptInEEdition": true,
            "OptInEEditionEmailNotification": true,
            "OptInSubscriberDiscounts": true,
            "OptInAdvertiserEmails": true,
            "MemberEvent": true,
            "ContentEngagement": true,
            "SUBCOM": true,
            "Survey": true,
            "AccountUpdates": true,
            "DateOfBirth": "string",
            "BirthYear": "string",
            "AcceptsEmailOffers": 0,
            "AcceptsEmailAds": 0,
            "AcceptsEmailPromotions": 0,
            "IsOkToEmail": 0,
            "IsOkToPhone": 0,
            "IsOkToMail": 0,
            "AcceptsEENotification": 0,
            "ChangeDate": "2023-06-05T18:43:26.757Z",
            "DateRegistered": "2023-06-05T18:43:26.757Z",
            "AddDate": "2023-06-05T18:43:26.757Z",
            "Photos": [
              {
                "Id": "string",
                "Value": "string",
                "Type": "string"
              }
            ],
            "IsSocial": true,
            "DisplayName": "string",
            "AgreeToTerms": true,
            "OptOutMarketing": true,
            "Photo": "string",
            "VerificationCode": "string",
            "Verified": true,
            "AuthSystem": {
              "AuthSystemId": 0,
              "AuthSystemCode": "string",
              "AuthSystemName": "string"
            },
            "UserState": {
              "UserStateId": 0,
              "UserStateCode": "string"
            },
            "BounceType": "string",
            "LastLogoutDate": "2023-06-05T18:43:26.757Z",
            "UrlPasswordChangeTicket": "string",
            "Metadata": {}
          }
        ],
        "TotalUsersFound": 0
      },
      "SessionId": "string",
      "RequestId": "string"
    }
    {
        "message": {
            "code": "string",
            "text": "string",
            "type": 0
        },
        "meta": {
            "totalRecords": 0
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "verified": true,
                "firstName": "string",
                "lastName": "string",
                "state": UserState,
                "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": "",
                }
            }
        ]
    }
    {
        "message": {
            "code": "UsersOrchestrator_S200_02",
            "text": "Get completed.",
            "type": "Success"
        },
        "data": [
            {
                "customerRegistrationId": "string",
                "encryptedCustomerRegistrationId": "string",
                "email": "string",
                "firstName": "string",
                "lastName": "string",
                "state": "UserStates",
                "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": "",
                },
                "verified": true
            }
        ],
        "meta": {
            "totalRecords": 0
        }
    }