Session Test
Web/Session/{sessionKey}/Login/ConstituentInfo
Login a constituent using Constituent ID, Phone Number and Postal Code. Email can also be passed for additional validation but is optional.

A constituent record must have an existing login in order for successful authentication.

A login type parameter is used to determine which login is evaluated for authentication when a constituent record has more than one. This is generally used to differentiate each organization's logins in a consortium environment.

This method sets four session variables:

- UID -- The constituent ID for the session

- LoginType -- The login type used for the session

- UserName -- The username for the session

- Status -- The status of the login (P = permanent, T = temporary)

A constituent can be locked out of logging in after a certain number of failed log in attempts. The number of failed attempts before lockout and the length of lockout are set in the T_DEFAULTS table. Should a constituent exceed the allowed number of failed log in attempts, the method returns data on the number of failed login attempts per login along with a timestamp of the time at which the user was locked out of the login process.
Http Verb POST
Resource URL https://ts-stg-appgw.calacademy.org/TessituraService/Web/Session/{sessionKey}/Login/ConstituentInfo

URI Parameters

Parameter Name Data Type Required Notes
sessionKey string Y

Request Body

Request object type : LoginConstituentInfoRequest

Request object type LoginConstituentInfoRequest has the following properties.
Property Name Data Type Length Required Readonly Notes
ConstituentId integer Y
EmailAddress string N Login email address. Must match the email address on the login of the type specified by the LoginType parameter.
LoginTypeId integer Y Login type, specified by ID. This parameter determines which login on a constituent record is evaluated for authentication.
FK: TR_LOGIN_TYPE.id   Resource: LoginTypes
PhoneNumber string Y Phone number. Can match any phone number on the constituent record specified by the ConstituentId parameter. Required when passing a constituent ID.
PostalCode string Y Postal code. Can match any postal code on the constituent record specified by the ConstituentId parameter. A like statement is used to validate the postal code.E.g.submit 97, matches 97232. Required when passing a constituent ID.
PromotionCode integer N The source code to use for the session. Pass 0 to use the default source code.
FK: TX_APPEAL_MEDIA_TYPE.source_no   Resource: Sources
{
  "ConstituentId": 1,
  "EmailAddress": "sample string 2",
  "PhoneNumber": "sample string 3",
  "PostalCode": "sample string 4",
  "LoginTypeId": 5,
  "PromotionCode": 6
}
<LoginConstituentInfoRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <ConstituentId>1</ConstituentId>
  <EmailAddress>sample string 2</EmailAddress>
  <LoginTypeId>5</LoginTypeId>
  <PhoneNumber>sample string 3</PhoneNumber>
  <PostalCode>sample string 4</PostalCode>
  <PromotionCode>6</PromotionCode>
</LoginConstituentInfoRequest>

Response object type : Session

Response object type Session has the following properties.
Property Name Data Type Length Required Readonly Notes
BusinessFacing boolean Whether this session is considered to be a business facing session (only used by TRBO).
CartInfo CartInfo Contains a count of each cart product for the session. Also, the date/time of the first seat added to the cart is returned.
CheckoutStatus CheckoutStatus
HasLockedSeats boolean
IsGuest boolean If true, this session is using general public for checkout. Any contact details will be associated to the order but stored as constituent id 0.
IsLoggedIn boolean True if the session has been logged in.
LoginInfo SessionLoginInfo Summary data (constituent, email, etc) pertaining to the active login for the session.
ModeOfSaleId integer The current mode of sale for the session and cart. This can differ from the OriginalModeOfSale if a promotion shifts the session to a different mode of sale or the mode of sale has been updated on the cart.
OrderId integer
OriginalModeOfSaleId integer The default mode of sale for the session when initiated.
SeatsExpired boolean If true, seats that have been previously locked have expired and are no longer locked.
SourceId integer The current source applied to the order and products as they are added to the cart.
{
  "OrderId": 1,
  "IsLoggedIn": true,
  "ModeOfSaleId": 3,
  "OriginalModeOfSaleId": 4,
  "SourceId": 5,
  "LoginInfo": {
    "ConstituentId": 1,
    "OriginalConstituentId": 2,
    "UserId": "sample string 3",
    "Status": "sample string 4",
    "FailedAttempts": 5,
    "LockedDate": "2025-04-24T04:33:07.3178072-07:00",
    "ElectronicAddress": "sample string 6"
  },
  "CartInfo": {
    "PerformanceCount": 1,
    "PackageCount": 2,
    "ContributionCount": 3,
    "MembershipCount": 4,
    "UserDefinedFeeCount": 5,
    "GiftCertificateCount": 6,
    "PaymentCount": 7,
    "FirstSeatAddedDateTime": "2025-04-24T04:33:07.3178072-07:00"
  },
  "BusinessFacing": true,
  "IsGuest": true,
  "CheckoutStatus": {
    "Status": "sample string 1",
    "Date": "2025-04-24T04:33:07.3178072-07:00"
  },
  "HasLockedSeats": true,
  "SeatsExpired": true
}
<Session xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <BusinessFacing>true</BusinessFacing>
  <CartInfo>
    <ContributionCount>3</ContributionCount>
    <FirstSeatAddedDateTime>2025-04-24T04:33:07.3178072-07:00</FirstSeatAddedDateTime>
    <GiftCertificateCount>6</GiftCertificateCount>
    <MembershipCount>4</MembershipCount>
    <PackageCount>2</PackageCount>
    <PaymentCount>7</PaymentCount>
    <PerformanceCount>1</PerformanceCount>
    <UserDefinedFeeCount>5</UserDefinedFeeCount>
  </CartInfo>
  <CheckoutStatus>
    <Date>2025-04-24T04:33:07.3178072-07:00</Date>
    <Status>sample string 1</Status>
  </CheckoutStatus>
  <HasLockedSeats>true</HasLockedSeats>
  <IsGuest>true</IsGuest>
  <IsLoggedIn>true</IsLoggedIn>
  <LoginInfo>
    <ConstituentId>1</ConstituentId>
    <ElectronicAddress>sample string 6</ElectronicAddress>
    <FailedAttempts>5</FailedAttempts>
    <LockedDate>2025-04-24T04:33:07.3178072-07:00</LockedDate>
    <OriginalConstituentId>2</OriginalConstituentId>
    <Status>sample string 4</Status>
    <UserId>sample string 3</UserId>
  </LoginInfo>
  <ModeOfSaleId>3</ModeOfSaleId>
  <OrderId>1</OrderId>
  <OriginalModeOfSaleId>4</OriginalModeOfSaleId>
  <SeatsExpired>true</SeatsExpired>
  <SourceId>5</SourceId>
</Session>
Change Version Description Contract Old New
Property Added 15.1.7 HasLockedSeats has been added to Session Session Session.HasLockedSeats
Property Added 15.1.7 SeatsExpired has been added to Session Session Session.SeatsExpired
Property Added 15.0.0 CheckoutStatus has been added to Session Session Session.CheckoutStatus
Parameter Changed 15.0.0 sessionKey has been marked as required. Required