Skip to content
Edwin Guzman edited this page Nov 27, 2020 · 16 revisions

Welcome to the dgx-patron-creator-service wiki!

API Documentation

Account details

E-communications list

Patrons who sign up for an NYPL library card online have the option to uncheck a box to opt-out of NYPL newsletter emails.

In the ILS account, the value is submitted through the patronCodes object under the pcode1 value. Opt-in value is "s" and opt-out value is "-".

{
  ...
  patronCodes: {
    pcode1: "-"
  }
}

Home Library Code

Currently, all accounts will have a default home library code of "eb" which stands for "e-branch". This will change when a client app sends a value through its online form.

{
  ...
  homeLibraryCode: "eb"
}

Agency

The agency value is currently "202" and is found in the "158" fixed field object.

{
  ...
  fixedFields: {
    "158": {
      "label": "AGENCY",
      "value": "202"
    }
  }
}

Policy Types

There are currently three policy types: simplye, webApplicant, and simplyeJuvenile.

policy agency ptype required fields minimum age
simplye "202" metro: 2, non-metro: 3 ageGate 13
webApplicant "198" default: 1, temporary: 7, non-metro: 8, metro: 9 birthdate 13
simplyeJuvenile "202" 4 - No minimum age but one can be added.

Expiration Time

Expiration date depends on the ptype.

ptype expiration time in days
1 - Web applicant (No Borrowing) 90
2 - SimplyE Metro 1095 (3 years)
3 - SimplyE Non-Metro 1095 (3 years)
4 - SimplyE Juvenile 1095 (3 years)
7 - Web Digital Temporary 30
8 - Web Digital Non-Metro 365 (1 year)
9 - Web Digital Metro 1095 (3 years)

Patron Types

This is the list of ptypes available to use right now:

ptype code text barcode assigned starts with
WEB_APPLICANT_PTYPE 1 "Web applicant (No Borrowing)" ---
SIMPLYE_METRO_PTYPE 2 "SimplyE Metro" ---
SIMPLYE_NON_METRO_PTYPE 3 "SimplyE Non-Metro" ---
SIMPLYE_JUVENILE 4 "SimplyE Juvenile" 288888
SIMPLYE_JUVENILE_ONLY 5 "SimplyE Juvenile Only" ---
SIMPLYE_YOUNG_ADULT 6 "SimplyE Young Adult" ---
WEB_DIGITAL_TEMPORARY 7 "Web Digital Temporary" 25555
WEB_DIGITAL_NON_METRO 8 "Web Digital Non-Metro" 25555
WEB_DIGITAL_METRO 9 "Web Digital Metro" 25555
ADULT_METRO_PTYPE 10 "Adult 18-64 Metro (3 Year)" ---
ADULT_NYS_PTYPE 11 "Adult 18-64 NY State (3 Year)" ---
SENIOR_METRO_PTYPE 20 "Senior, 65+, Metro (3 Year)" ---
SENIOR_NYS_PTYPE 21 "Senior, 65+, NY State (3 Year)" ---
DISABLED_METRO_NY_PTYPE - "Disabled Metro NY (3 Year)" ---
HOMEBOUND_NYC_PTYPE - "Homebound NYC (3 Year)" ---
TEEN_METRO_PTYPE 50 "Teen Metro (3 Year)" ---
TEEN_NYS_PTYPE 51 "Teen NY State (3 Year)" ---
MARLI_PTYPE 81 "Marli" ---
REJECTED_PTYPE 101 "Rejected" ---

Dependent Juvenile accounts

A standard patron account of any ptype value in the list of ["2", "3", "8", "9", 10", "11", "20", "21", "50", "51", "81"] can create a dependent juvenile account of ptype "4". The parent patron account can create a max of three dependent juvenile accounts and each account has it's own barcode but uses the parent account's existing email and address values.

The link between a parent account and a dependent juvenile account occurs in the varFields property of the account, specifically in the object where the fieldTag has a value of "x". There can be more than one object with the fieldTag value of "x" but "DEPENDENTS" is checked in the "contents" property for that object.

{
  ...
  varFields: [
    { fieldTag: "x", content: "some unrelated content" },
    ...,
    { fieldTag: "x", content: "DEPENDENTS 12222333333333" }
  ]
}

A patron parent account will have the string "DEPENDENTS y,y,y" where y is a different barcode of each of its max three dependents.

A dependent juvenile account will have the string "DEPENDENT OF z" where z is the barcode of its parent account.