Project keys

Projects is the main part of the app. This chapter provides a complete list of all available project keys. This list can also be retrieved programmatically by using the get valid project keys helper function.

Valid project keys

Project details

KeyR/WTypeComment
detailsR-Shortcut to get most used project keys.
Can be combined with other keys in same request.
(keys with (*) in comment is included in details)
agency_id RIntID of owner agency (*)
ordernumberRWStringOrder number for project (*)
subject_firstnameRWStringFirst name (*)
subject_lastnameRWStringLast name (*)
subject_dobRWDateDate of birth (YYYY-MM-DD) (*)
subject_dob_formattedRStringDate of birth formatted
subject_dodRWDateDate of death (YYYY-MM-DD) (*)
subject_dod_formattedRStringDate of death formatted
ceremony_dateRWDateDate of ceremony (YYYY-MM-DD) (*)
ceremony_timeRWTimeTime of ceremony (HH:MM) (*)
ceremony_date_formattedRStringDate of ceremony formatted
ceremony_typeRArrayType of ceremony
ceremony_typeWintID of ceremony type
funeral_typeRArrayType of funeral
funeral_typeWIntID of funeral type
contact_personRArrayAssigned contact person. (*) See table contact_person for more details.
contact_personWString/IntEmail or ID of contact person (agency-user)
venueRArrayAssigned venue.
venueWIntID of venue
venue_nameRWStringName of the venue. Will make a new venue if no venue found with this name. Use full_venue to create a more complete venue with address. (*)
full_venueWObjectJson-object with the fields name, address, zip and city. Will create a more complete venue than if only venue_name is passed in and if the venue does not exist already.
participantsRWArrayList of participants (where role is set) (*). See table participants for more details. Write: Overwrite if matching role, otherwise only adding new. No existing are removed
programitemsRWArrayList of program items for the ceremony. See table programitems for more details.
textsRWArrayList of texts used in the project.
greetingsRWArrayList of greetings. See table greetings for more details.
proofreadersRWArrayList of proofreaders See table proofreaders for more details. Updating if match on email (or name if email is empty), else creating new proofreader. No existing proofreaders are removed
deliveryRArrayList of delivery addresses.
agency_linkRStringURI to owner agency page
linkRWStringURI to memorial page. Fallback to agency_link
designsRWArrayList of preferred designs per product type. See table preferred_designs for more details. Write: Adding designs not already set for specific product_type Write: Adding designs not already set. No existing designs are removed
ordersRArrayList of orders. See table orders for more details.
timecut_idRWStringId used for Timecut integration (if not ordernumber is correct for integration)
eulogica_idRWStringEulogica project id
bitnet_idRWStringBitnet project id
adstate_idRWStringId used for Adstate integration (if not ordernumber is correct for integration)
registration_linkRStringShort link to digital registration
booklet_linkRStringShort link to booklet poster

Some custom details not included when requesting full project information

KeyR/WTypeComment
contact_personsRArrayList of contact persons available for this project (agency users or users in agencies with shared access to agency projects)
proofreading_batchesRArrayList of proofreading batches. See table proofreading batches for more details
order/{id}RArrayFetch all info for one order.

Table: contact_person

KeyR/WTypeComment
idRIntID
agency_idRWIntAgency ID
firstnameRWStringFirst name
lastnameRWStringLast name
emailRWStringEmail address
phoneRWStringPhone number
nameRStringFull name

Table: participants

KeyR/WTypeComment
idRIntID
projectc_idRIntProject ID
roleRWStringRole of the participant
nameRWStringName of the participant
sortcodeRWIntSortcode

Table: programitems

KeyR/WTypeComment
idRIntID
typeRWStringType of item, values: [‘programpost’, ‘song’, ‘editortext’, ‘participants’, ‘lastpage’, ’note’]
sortcodeRWIntSortcode
dataRWArrayVaries from type of item. See subtables below.
created_atRDTCreated at timestamp
updated_atRDTUpdated at timestamp

Program item subtable: programpost

KeyR/WTypeComment
programpost_macroRStringNot used
titleRWStringTitle
bylineRWStringPerformed by / byline
songRWStringSong name
authorRWStringAuthored/composed by
noteRWStringNote

Program item subtable: song

KeyR/WTypeComment
song_idRWIntID of the song
song_verse_numbersRWIntFlag whether to prefix verse with verse number
titleRWStringTitle of song / song-number
textRWStringText of song
bylineRWStringAuthor/composer/byline
versesRWArrayList of verse numbers
Write: Could also be a comma separated string of verses, or a span. E.g: “1,3-4,5” gives vers 1,3,4 and 5
noteRWStringNote
song_numberRIntNot used
archive_titleRStringNot used

Program item subtable: editortext

KeyR/WTypeComment
titleRWStringTitle
textRWStringText
bylineRWStringByline
noteRWStringNote

Program item subtable: participants

KeyR/WTypeComment
participants_macroRStringNot used

Program item subtable: note

KeyR/WTypeComment
titleRWStringTitle
textRWStringText

Table: greetings

KeyR/WTypeComment
idRIntGreetings ID
project_idRIntProject ID
authorRWStringGreeting author
textRWStringGreeting text
has_big_greetingRWBool“big” greeting
sortcodeRWIntSortcode

Table: preferred designs

KeyR/WTypeComment
idRWIntDesign ID
nameRStringNot used
cover_preview_urlRStringNot used
feed_preview_urlRStringNot used
product_typeRWStringbook, booklet, card, portrait
product_sub_typeRWStringsheet, thanks, invitation, memorial, condolence, image, poster, plexi
legacy_codeWStringOptional: Design-code from IM3 (used instead of design_id)
design_codeWStringOptional: Design-code = design_id + 1000. Always 4-digits and what user see

Table: delivery

KeyR/WTypeComment
idRIntDelivery ID
nameRWStringRecipient name
phoneRWStringRecipient phone number
emailRWStringRecipient email
commentRWStringDelivery comment
dataRWArrayProduct type with number of items (See subtable:data)
addressRWObjectAddress (See subtable: address)
statusRArrayLabel and Color of status

Delivery subtable: data

KeyR/WTypeComment
recipientOfRWObjectObject of each product_sub_type with a number of items to receive.
Example: {“sheet”:100,”memorial”:10”}

Delivery subtable: address

KeyR/WTypeComment
addressRWStringStreet address
zipRWStringZip
cityRWStringCity

Table: proofreaders

KeyR/WTypeComment
IdRIntProofreader ID
NameRWStringProofreader name
emailRWStringProofreader email
dataRWArrayProduct type with number of items
(See subtable:data)

Proofreaders subtable: data

KeyR/WTypeComment
recipientOfRWArrayArray of each product_type to receive.
Example: [“booklet”,”book”]

Table: proofreading_batches

KeyR/WTypeComment
idRIntProofreading batch ID
doc_idRIntDocument ID
agency_idRIntAgency ID
agency_nameRStringAgency name
doc_nameRStringDocument name
status_codeRStringBatch status: null = open. Else approved or rejctedted
product_typeRStringProduct type: Example “booklet”, “book”, “card”
project_idRIntProject ID
project_nameRStringProject name
project_ordernumberRStringProject Order Number
subject_firstnameRStringDeceased firstname
subject_lastnameRStringDeceased lastname
contact_firstnameRStringContact person firstname
contact_lastnameRStringContact person lastname
statusRArrayLabel and Color
created_atRDTBatch created datetime
proofreadingsRArrayProofreadings in batch (see subtable proofreading)

Proofreading batches subtable: proofreadings

KeyR/WTypeComment
idRStringProofreading ID
proofreading_batch_idRIntProofreading Batch ID
messageRStringProofreading message
user_idRIntContact person ID
linkRStringLink to proofreading
titleRStringProofreading title
created_atRDTSent when datetime
doc_updated_atRDTDocument last update datetime
RecipientsRArrayName, Email and Opened_at

Table: orders

KeyR/WTypeComment
order_idRIntOrder ID
order_numberRIntOrder number
project_ordernumberRStringProject Order number
project_idRIntProject ID
subject_firstnameRStringSubject firstname
subject_lastnameRStringSubject lastname
agency_idRIntAgency ID
agency_nameRStringAgency name
order_dateRDTOrdered when datetime
numbersRIntNumber of items in order
productRStringProduct name
priceRFloatOrder price
extraRArrayExtra wares on order. Array with Name and Numbers for each ware.
currencyRStringPrice currency
emailRStringEmail for order
statusRArrayLabel, Color and Date of last status
stateRStringOrder states:
null = new order
in_production = in production + other statuses between until delivered state
delivered = complete/sent/invoiced
cancel = cancelled/aborted
is_docRBooleanOrder of a printed document
is_serviceRBooleanOrder of a service

Loading a single order also includes info about recipients, addresses and all order status updates

Fetch available project keys

The API has a helper function to receive all valid project keys/properties which can be set by an external client. ProjectId has to be specified because some keys can be agency or project specific

URI: https://<im4>/project/{projectId}/keys
  • Request-type: GET
  • Parameters: {projectId} (part of URI): ID of the project
  • Return data:
{
  key: {
    comment: "Comment on key",
    read: "Readable key",
    write: "Writable key",
  },
  ...
}
Every property comes with a comment and a flag if it is readable and/or writeable.