LC User Registration Contract
Purpose:
This page will provide the API contracts for LC user registration.
POST:
Description: Create patron.
API: https://folio-dev-volaris-edge.ci.folio.org/patron/account/{externalSystemID}?apikey=eyJzIjoieHFpNzNjNEZzOSIsInQiOiJkaWt1IiwidSI6ImRpa3VfYWRtaW4ifQ==
NOTE:- we can provide any existing id of a patron OR externalSystemID of an existing user.(will be used internally to perform operation on behalf of the user)
PAYLOAD:
{
"generalInfo": {
"externalSystemId": "ext-kapil-new-record-100",
"firstName": "new-record-100",
"preferredFirstName": "New Record",
"middleName": "",
"lastName": "new-record-100"
},
"addressInfo": {
"addressLine0": "123 Main St",
"addressLine1": "Apt 4B",
"city": "Metropolis",
"province": "NY",
"zip": "12345",
"country": "USA"
},
"contactInfo": {
"phone": "555-123456",
"mobilePhone": "555-5678",
"email": "new-record-100@test.com"
},
"preferredEmailCommunication": ["Support", "Programs", "Services"]
}
RESPONSE:
-A user will be created with userType “patron” and patron_group “Remote Non-circulating“ ,
-addressInfo
is stored in Folio as Home
-
{
"generalInfo": {
"externalSystemId": "ext-kapil-new-record-100",
"firstName": "new-record-100",
"preferredFirstName": "New Record",
"middleName": "",
"lastName": "new-record-100"
},
"addressInfo": {
"addressLine0": "123 Main St",
"addressLine1": "Apt 4B",
"city": "Metropolis",
"province": "NY",
"zip": "12345",
"country": "USA"
},
"contactInfo": {
"phone": "555-123456",
"mobilePhone": "555-5678",
"email": "new-record-100@test.com"
},
"preferredEmailCommunication": [
"Support",
"Programs",
"Services"
]
}
PUT:
Description: Update patron by email.
API: https://folio-dev-volaris-edge.ci.folio.org/patron/account/{externalSystemID}/by-email/ext-kapil-2@test.com?apikey=eyJzIjoieHFpNzNjNEZzOSIsInQiOiJkaWt1IiwidSI6ImRpa3VfYWRtaW4ifQ==
PAYLOAD:
{
"generalInfo": {
"externalSystemId": "ext-kapil-2",
"firstName": "Kapil2",
"preferredFirstName": "Inactive or Expired and Remote Non-circulation",
"middleName": "",
"lastName": "Sony"
},
"addressInfo": {
"addressLine0": "123 Main St",
"addressLine1": "Apt 4B",
"city": "Metropolis",
"province": "NY",
"zip": "12345",
"country": "USA"
},
"contactInfo": {
"phone": "555-123456",
"mobilePhone": "555-5678",
"email": "ext-kapil-2@test.com"
},
"preferredEmailCommunication": ["Support", "Programs"]
}
RESPONSE:
A user will be updated with provided payload with API response 204
GET:
Description: Get patron by email.
API: https://folio-dev-volaris-edge.ci.folio.org/patron/account/{externalSystemID}/by-email/ext-kapil-2@test.com?apikey=eyJzIjoieHFpNzNjNEZzOSIsInQiOiJkaWt1IiwidSI6ImRpa3VfYWRtaW4ifQ==
PAYLOAD: none
RESPONSE:
A user will be returned in the form of external_patron .
GET:
Description: Get expired LC patrons.
API: https://folio-dev-volaris-edge.ci.folio.org/patron/account/{externalSystemID}/external-patrons?apikey=eyJzIjoieHFpNzNjNEZzOSIsInQiOiJkaWt1IiwidSI6ImRpa3VfYWRtaW4ifQ==&expired=true
PAYLOAD: none
Note : This API will fetch expired users for previous day only (business day -1).
RESPONSE:
A collection of LC users will be returned in the form of external_patron_collection .
Error Code Responses
ERROR CODE for ALL the API’s (negative scenarios) : Also below codes are found in API DOC: API DOC LINK
Sample Error Responses:
API TYPE | ERROR | Response JSON |
---|---|---|
POST | 422: User account is not active | |
422: User does not belong to the required patron group | ||
422: User already exists | ||
422: Multiple users with email | ||
PUT | 404: user does not exist | |
422: User already exist with email provided in payload | ||
422: Multiple users found with the same email | ||
422: Required Patron group not applicable for user | ||
GET by email | 404: User does not exist | |
422: Multiple users found with the same email |