Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Status
colourYellow
titlePAGE IN PROGRESS

...

Class

UI field

JSON Field

Relationship / Dependency

Type of reference

Example

Journals (works)

API: oa/works/citation

Instance / Namespace

/"instances"/"ids"/"ns"

UI: Settings/Pick list: PublicationIdentifier.Type

API: /oa/refdata

string

issn



/"instances"/"subType"




/"indexedInDOAJ"/




/"oaStatus"/


People (party)

API: oa/party

Institution level 1/"institutionLevel1"/"id"

UI: Settings/Pick list: Party.InstitutionLevel1

API: /oa/refdata

UUID

Requests

API: /oa/publicationRequest

Publisher/"publisher"/"id"

UI: Settings/Pick list: PublicationRequest.Publisher

API: /oa/refdata

UUID

Corresponding author/"correspondingAuthor"/"partyOwner"/"id"

UI: People / person

API: /oa/party

JSON: /"id"/

UUID

Institution level 1/"correspondingAuthor"/"partyOwner"/"institutionLevel1"/"id"

UI: Settings/Pick list: Party.InstitutionLevel1

API: /oa/refdata

UUID


/"correspondingInstitutionLevel1"/"id"

UI: Settings/Pick list: Party.InstitutionLevel1

API: /oa/refdata

UUID

Corresponding author

(implicit)

/"correspondingAuthor"/"role"

UI: Settings/Pick list: RequestParty.Role

API: /oa/refdata

string

corresponding_author

request_contact

(not customizable)


Request contact/"requestContact"/"partyOwner"/"id"

UI: People / person

API: /oa/party

JSON: /"id"/

UUID


/"requestContact"/"role"

UI: Settings/Pick list: RequestParty.Role

API: /oa/refdata

string

corresponding_author

request_contact

(not customizable)


Status/"requestStatus"/UI: Settings/Pick list: PublicationRequest.RequestStatusstring

open, closed

(not customizable)


Publication status

(repeatable)

/"publicationStatuses"[n]/"publicationStatus"/"id"


UI: Settings/Pick list: PublicationStatus.PublicationStatus

API: /oa/refdata

UUID

License/"license"/"id"

UI: Settings/Pick list: PublicationRequest.License

API: /oa/refdata

UUID

Publication type/"publicationType"/"id"

UI: Settings/Pick list: PublicationRequest.Subtype

API: /oa/refdata

UUID

Journal/"work"/"id"

UI: Journal

API: oa/works/citation

JSON: /"id"/

UUID

Journal in DOAJ/"workIndexedInDOAJ"/"id"

UI: -

API: /oa/refdata

UUID(not customizable)

Journal OA status/"workOAStatus"/"id"UI: Settings/Pick list: Work.OaStatusUUID
Charges

Status
titleto do











Checklist

Status
titleto do





...

Tip
iconfalse
titleLeipzig example

more data ...

{
        "id""8aaa80fe859fe8ee0185a0ea5d980023",
        "desc""Work.OaStatus",
        "internal"false,
        "values": [
            {
                "id""8aaa80fe859fe8ee0185a0ea5d9b0024",    ← UUID for OA status "Gold"
                "value""gold",
                "label""Gold"
            },
            {
                "id""8aaa80fe859fe8ee0185a0ea5da00025",    ← UUID for OA status "Hybrid"
                "value""hybrid",
                "label""Hybrid"
            },
            {
                "id""8aaa80fe859fe8ee0185bac6b6c9004f",    ← UUID for OA status "Subscribe to Open"
                "value""subscribe_to_open",
                "label""Subscribe to Open (S2O)"
            }
        ]
    },

... more data

...

Tip
iconfalse
titleLeipzig example: Request JSON mapping
{
    "publicationStatuses": [
        {
            "publicationStatus": {
                "id": "Y:publicationStatus1Id" 
            },
            "statusDate": "Z:statusDate1",
            "statusNote": "AA:statusNote1" 
        },
        {
            "publicationStatus": {
                "id": "AB:publicationStatus2Id" 
            },
            "statusDate": "AC:statusDate2",
            "statusNote": "AD:statusNote2" 
        },
        {
            "publicationStatus": {
                "id": "AE:publicationStatus3Id" 
            },
            "statusDate": "AF:statusDate3",
            "statusNote": "AG:statusNote3" 
        },
        {
            "publicationStatus": {
                "id": "AH:publicationStatus4Id" 
            },
            "statusDate": "AI:statusDate4" 
        }
    ],
    "fundings": [],
    "requestStatus": "A:requestStatus",
    "closureReason": null,
    "requestDate": "B:requestDate",
    "externalRequestIds": [
        {
            "externalId": "C:externalId1" 
        },
        {
            "externalId": "D:externalId2" 
        }
    ],
    "correspondingAuthor": {
        "partyOwner": {
            "id": "F:correspondingAuthorPartyOwnerId",
            "alternateEmails": [],
            "institutionLevel1": {
                "id": "L:correspondingInstitutionLevel1Id" 
            }
        },
        "role": "G:correspondingAuthorRole" 
    },
    "correspondingInstitutionLevel1": {
        "id": "L:correspondingInstitutionLevel1Id" 
    },
    "useCorrespondingAuthor": false,
    "requestContact": {
        "partyOwner": {
            "id": "I:requestContactPartyOwnerId",
            "alternateEmails": []
        },
        "role": "J:requestContactRole" 
    },
    "correspondingInstitutionLevel2": "M:correspondingInstitutionLevel2",
    "doi": "N:doi",
    "license": {
        "id": "O:licenseId" 
    },
    "publicationTitle": "P:publicationTitle",
    "publicationType": {
        "id": "Q:publicationTypeId" 
    },
    "publisher": {
        "id": "S:publisherId" 
    },
    "work": {
        "id": "U:workId" 
    },
    "workIndexedInDOAJ": {
        "id": "X:workIndexedInDOAJId" 
    },
    "workOAStatus": {
        "id": "V:workOAStatusId" 
    },
    "requestNumber": "BH:requestNumber",
    "subtype": null,
    "bookDateOfPublication": null,
    "bookPlaceOfPublication": null,
    "agreement": null
}


Tip
iconfalse
titleCharge1 JSON mapping
{
    "tax": "AR:charge1Tax",
    "discountType": {
        "id": "8aaa80fe859fe8ee0185a0ea5d5e0017" 
    },
    "exchangeRate": {
        "coefficient": 1,                               --->>> type:number
        "toCurrency": "EUR" 
    },
    "amount": {
        "baseCurrency": "AQ:charge1AmountBaseCurrency",
        "value": "AP:charge1AmountValue" 
    },
    "category": {
        "id": "AN:charge1CategoryId" 
    },
    "chargeStatus": {
        "id": "AO:charge1StatusId" 
    },
    "description": "OA-Migration",
    "discount": 0,                                     --->>> type:number
    "discountNote": "",
    "paymentPeriod": "2023",
    "payers": [{
        "payerAmount": AT:charge1PayersPayer1Amount,   --->>> type:number
        "payer": {
            "id": "AS:charge1PayersPayer1Id" 
        },
        "payerNote": "AU:charge1PayersPayer1Note" 
    }, {
        "payerAmount": AW:charge1PayersPayer2Amount,   --->>> type:number
        "payer": {
            "id": "AV:charge1PayersPayer2Id" 
        },
        "payerNote": "AX:charge1PayersPayer2Note" 
    }],
    "owner": {
        "id": "BI:chargeOwnerId" 
    }
}


Tip
iconfalse
titleChecklist item JSON mapping
{
    "id": "BI:chargeOwnerId",
    "checklist": [
        {
            "outcome": {
                "value": "AK:checklist1OutcomeValue" 
            },
            "notes": [],
            "definition": {
                "id": "AJ:checklist1DefinitionId" 
            }
        },
        {
            "outcome": {
                "value": "AM:checklist2OutcomeValue" 
            },
            "notes": [],
            "definition": {
                "id": "AL:checklist2DefinitionId" 
            }
        }
    ]
}

All we need is JSON conversion

...

Mainly these might be of interest:

APIUse
GET {{OKAPI}}/oa/refdata?max=100to get all reference data values and UUIDs
POST {{OKAPI}}/oa/works/citationto post journal data
GET {{OKAPI}}/oa/worksto get journal data
GET {{OKAPI}}/oa/works/{{UUID}}to get journal data based on a specific journal UUID
POST {{OKAPI}}/oa/partyto post people data
GET {{OKAPI}}/oa/partyto get people data
GET {{OKAPI}}/oa/party/{{UUID}}to get people data based on a specific person UUID
POST {{OKAPI}}/oa/publicationRequestto post publication requests
GET {{OKAPI}}/oa/publicationRequestto get publication requests
PUT {{OKAPI}}/oa/publicationRequestto update requests, i.e. to import checklist items
GET {{OKAPI}}/oa/publicationRequest/{{UUID}}to get a publication request based on a specific request UUID
POST {{OKAPI}}/oa/chargesto post charges

How to know and learn what the API needs?

...