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

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