NAV

<back to all web services

AuthenticationLoginFacebookCreate

The following routes are available for this service:
POST/authentication/facebook-login
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address:
    addr_loc_typ: Optional[str] = None
    addr_city_nm: Optional[str] = None
    addr_cntry_cd: Optional[str] = None
    addr_line1_txt: Optional[str] = None
    addr_st_cd: Optional[str] = None
    addr_zip_cd: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Campaign:
    mrkt_id: Optional[int] = None
    success: Optional[bool] = None
    cmpgn_yr_nr: Optional[int] = None
    cmpgn_nr: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RepClubType:
    rep_club_typ_cd: Optional[str] = None
    prsdnt_club_ind: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RepEnrlment:
    enrld_typ: Optional[str] = None
    enrlmt_stus_cd: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Delivery:
    delivery_type: Optional[str] = None
    delivery_label: Optional[str] = None
    delivery_from_dt: Optional[datetime.datetime] = None
    delivery_to_dt: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LoginResponseData:
    acct_nr: Optional[Decimal] = None
    acct_stus_cd: Optional[str] = None
    acct_typ: Optional[str] = None
    email_addr_txt: Optional[str] = None
    evng_phon_nr: Optional[str] = None
    frst_nm: Optional[str] = None
    lang_cd: Optional[str] = None
    last_nm: Optional[str] = None
    mddl_nm: Optional[str] = None
    curr_sls_cmpgn_nr: Optional[int] = None
    curr_sls_yr_nr: Optional[int] = None
    addresses: Optional[List[Address]] = None
    loa_nr: Optional[int] = None
    rep_club_lvl_cd: Optional[str] = None
    campaigns: Optional[List[Campaign]] = None
    campaign_end_dt: Optional[datetime.datetime] = None
    vanity_name: Optional[str] = None
    curr_bal_amt: Optional[Decimal] = None
    rep_club_types: Optional[List[RepClubType]] = None
    prfrd_nm: Optional[str] = None
    rep_enrlments: Optional[List[RepEnrlment]] = None
    ord_due_dt: Optional[datetime.datetime] = None
    shpng_dt: Optional[datetime.datetime] = None
    cmpgn_end_dt: Optional[datetime.datetime] = None
    cmpgn_strt_dt: Optional[datetime.datetime] = None
    onln_ord_sbmsn_dt: Optional[datetime.datetime] = None
    current_dt_time: Optional[datetime.datetime] = None
    days_left: Optional[str] = None
    time_zone: Optional[str] = None
    pswrd_hint: Optional[str] = None
    mentor_name: Optional[str] = None
    mentor_phon_nbr: Optional[str] = None
    mentor_st_cd: Optional[str] = None
    mentor_city_nm: Optional[str] = None
    mentor_email: Optional[str] = None
    ldr_ship_lvl: Optional[str] = None
    rep_mgr_email: Optional[str] = None
    appt_dt: Optional[datetime.datetime] = None
    crdt_scr_cd: Optional[str] = None
    dstrbtn_cntr_cd: Optional[str] = None
    eltrtr_cd: Optional[str] = None
    init_cmpgn_nr: Optional[int] = None
    init_cmpgn_yr_nr: Optional[int] = None
    labc_ind: Optional[str] = None
    past_due_stus_cd: Optional[str] = None
    prsdnt_club_stus_cd: Optional[str] = None
    shpng_fclty_cd: Optional[str] = None
    tier_cd: Optional[str] = None
    trck_route_cd: Optional[str] = None
    rep_cust_count: Optional[int] = None
    ssn: Optional[str] = None
    credit_limit: Optional[int] = None
    is_fb_linked: Optional[str] = None
    delivery_type_list: Optional[List[Delivery]] = None
    brthdy_dt: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuthenticationLoginFacebookCreateResponse:
    response_status: Optional[ResponseStatus] = None
    access_token: Optional[str] = None
    refresh_token: Optional[str] = None
    mrkt_cd: Optional[str] = None
    timestamp: Optional[datetime.datetime] = None
    data: Optional[LoginResponseData] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuthenticationLoginFacebookCreate(IPost):
    facebook_id: Optional[str] = None

Python AuthenticationLoginFacebookCreate DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /authentication/facebook-login HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	facebookId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	accessToken: String,
	refreshToken: String,
	mrktCd: String,
	timestamp: 0001-01-01T00:00:00,
	data: 
	{
		AcctNr: 0,
		AcctStusCd: String,
		AcctTyp: String,
		EmailAddrTxt: String,
		EvngPhonNr: String,
		FrstNm: String,
		LangCd: String,
		LastNm: String,
		MddlNm: String,
		CurrSlsCmpgnNr: 0,
		CurrSlsYrNr: 0,
		Addresses: 
		[
			{
				addrLocTyp: String,
				addrCityNm: String,
				addrCntryCd: String,
				addrLine1Txt: String,
				addrStCd: String,
				addrZipCd: String
			}
		],
		LoaNr: 0,
		RepClubLvlCd: String,
		Campaigns: 
		[
			{
				MrktId: 0,
				Success: False,
				CmpgnYrNr: 0,
				CmpgnNr: 0
			}
		],
		CampaignEndDt: 0001-01-01T00:00:00,
		VanityName: String,
		CurrBalAmt: 0,
		RepClubTypes: 
		[
			{
				RepClubTypCd: String,
				PrsdntClubInd: String
			}
		],
		PrfrdNm: String,
		RepEnrlments: 
		[
			{
				EnrldTyp: String,
				EnrlmtStusCd: String
			}
		],
		OrdDueDt: 0001-01-01T00:00:00,
		ShpngDt: 0001-01-01T00:00:00,
		CmpgnEndDt: 0001-01-01T00:00:00,
		CmpgnStrtDt: 0001-01-01T00:00:00,
		OnlnOrdSbmsnDt: 0001-01-01T00:00:00,
		CurrentDtTime: 0001-01-01T00:00:00,
		DaysLeft: String,
		TimeZone: String,
		PswrdHint: String,
		MentorName: String,
		MentorPhonNbr: String,
		MentorStCd: String,
		MentorCityNm: String,
		MentorEmail: String,
		LdrShipLvl: String,
		RepMgrEmail: String,
		ApptDt: 0001-01-01T00:00:00,
		CrdtScrCd: String,
		DstrbtnCntrCd: String,
		EltrtrCd: String,
		InitCmpgnNr: 0,
		InitCmpgnYrNr: 0,
		LabcInd: String,
		PastDueStusCd: String,
		PrsdntClubStusCd: String,
		ShpngFcltyCd: String,
		TierCd: String,
		TrckRouteCd: String,
		RepCustCount: 0,
		Ssn: String,
		CreditLimit: 0,
		IsFbLinked: String,
		DeliveryTypeList: 
		[
			{
				DeliveryType: String,
				DeliveryLabel: String,
				DeliveryFromDt: 0001-01-01T00:00:00,
				DeliveryToDt: 0001-01-01T00:00:00
			}
		],
		BrthdyDt: 0001-01-01T00:00:00
	}
}