Create BP Record with Attachment

POST /ws/rest/service/v1/bp/record/file/{project_number}

Purpose

Create a record in a specific BP in a shell based on shell number or from company level if project/shell number is not provided.

The input JSON shall provide various options to be considered for fetching the data

Request Format

All parameters should be URL encoded. POST body is a JSON

Path Parameter

project_number: Specify the Project number in which the records exists; if not provided, records are from Company Level.

Note:

POST call has input & output both as JSON in the body.

Request Parameters

  • If "adding attachment" is disabled in the Upper form or Detail form, and user is trying to attach file to corresponding form. Creating record will fail.
  • "bpname" is mandatory and is part of options form parameter.
  • If a "record_no" is not provided, an auto-generated record_no is assigned to the record. If a unique "record_no" is provided, the record is created with the specified "record_no". If you use a "record_no" that is not unique, an error occurs.
  • If "workflow_details" is not specified, the fall back will be the auto-creation settings defined on the BP Setup.
  • If specified, all three params - user_name, workflow_name and action_name - are mandatory.
  • When a data element (DE) is set to auto-populate from a Base Commit, Change Commit, or an SOV, the auto-populated values takes precedence when 0 value is sent for those DEs in CSV, Excel, or REST API. Any value specified in the input request is ignored and the auto-populated values from Base Commit, Change Commit, or SOV will be used.

Behavior of the Due Date (due_date) Field

If the Override Workflow Due Date field is set to Yes for a workflow business process, when you create workflow BP records through a REST service, the Due Date provided in the input request is used.

When you update workflow BP records through a REST service, you cannot change the Due Date.

The following validations are performed:

  • If the user is a valid active user in the project.
  • Workflow name is valid and active.
  • User is an assignee (user/group) on the creation step of the workflow.
  • Action name is valid outgoing link from the creation step.
  • If provided, the BP Picker value meets the configured query conditions.
  • Whether an assigned Pull Down (drop-down) value is Active. This behavior matches the user interface (UI), where Inactive options are not shown or selectable. During Create BP Record and Update BP Record calls, the system validates the Pull Down values. If an Inactive option is supplied, the request is rejected and an error message is returned.

The following error messages may display:

  • Enter a valid or an active user. (Missing key or invalid user name)
  • The workflow name is not valid. (Missing key or invalid/inactive workflow name)
  • The user does not have an active workflow template. (User is not an assignee on the creation step)
  • The workflow action name is not valid. (Missing key or invalid outgoing action name from creation step)
  • If "_attachment" (outside data list) for zip file is not provided, the record will be created without attachment.
  • Invalid value or multiple records found. (Configured query conditions not met)
  • The value provided for <Data Element Label> has been set as Inactive and cannot be applied.

Response Format

A JSON object is returned in the following format.

{

"data": [],

"message": [],

"status": <REST status code value>

}

A successful response displays a status code 200.

A failed response displays a message with a status code.

Sample Request

{

"options": {

"bpname": "Vendors",

"workflow_details":

{

"workflow_name": "workflow_name",

"user_name" : "first_name last_name",

"action_name" : "action_name"

}

},

"data": [

{

"uuu_user_id": "a@abc.com",

"uuu_record_last_update_date": "04-12-2018",

"uveFaxTB16": null,

"uveCertificateNoTB64": null,

"uvePrimaryContactTB64": "a",

"title": "v-00101",

"uveLicenseNoTB16": null,

"uuu_contact_company": "v-00101",

"uveCOIAmoutCA": 0,

"_bp_lineitems": [

{

"uirCntctFstNmTB": "a",

"uuu_user_workphone": null,

"uuu_tab_id": "List of Contacts",

"title": "t",

"ugenAddress1TXT120": null,

"ugenAddress2TXT120": null,

"ugenCountryPD": null,

"ugenCityTXT50": null,

"short_desc": "Vendor Contact",

"uriCntctLstNmTB": "b",

"ugenStatePD": null,

"ugenZipCodeTXT16": null,

"uveEmailTB120": "hello@abc.com",

"ugenAddress3TXT120": null,

"_attachment":[

{

"file_name":"new 1.txt",

"title":"file_title",

"issue_date":"05/06/2018",

"revision_no":"100"

}

]

}

],

"uvePolicyNoTB32": null,

"uveVendorTypePD": "Architect",

"ugenCityTXT50": null,

"uveCoiExpDOP": null,

"uuu_dm_publish_path": "v_path",

"uuu_contact_last_name": "b",

"ugenZipCodeTXT16": null,

"uveEmailTB120": "a@abc.com",

"ugenAddress3TXT120": null,

"uveReferenceIdTB16": null,

"uuu_creation_date": "04-12-2018",

"ugenRemarksTB4000": null,

"uvePhoneTB64": null,

"uveTaxIDTB16": null,

"uveMinorityBusCB": 0,

"uveInsuranceCoTB32": null,

"ugenExpirationDateDOP": null,

"uveWomanOwnedCB": 0,

"uveVendorNameTB50": "v-00101",

"ugenAddress1TXT120": null,

"uveDisadvantagedBusCB": 0,

"ugenDiscipline": null,

"creator_id": "Company Administrator",

"ugenAddress2TXT120": null,

"ugenCountryPD": null,

"uveVendorIDTB16": "v-00101",

"ugenStatePD": null,

"uuu_contact_first_name": "a",

"status": "Active",

"_attachment":[

{

"file_name":"new 1.txt",

"title":"file_title1",

"issue_date":"05/06/2018",

"revision_no":"300"

},

{

"file_name":"exp1.txt",

"title":"file_title2",

"issue_date":"05/06/2018",

"revision_no":"200"

}

]

}

]

,

"_attachment": {

"zipped_file_name" : "create.zip",

"zipped_file_size": "746089",

"zipped_file_content" :"< base64_encoded string of create.zip file>"

}

}

Sample Success Response

{

"data": [],

"message": [

{

"uuu_user_id": "a@abc.com",

"uuu_record_last_update_date": "04-12-2018",

"uveFaxTB16": null,

"uveCertificateNoTB64": null,

"uvePrimaryContactTB64": "a",

"title": "v-00101",

"uveLicenseNoTB16": null,

"uuu_contact_company": "v-00101",

"_record_status": "success",

"uveCOIAmoutCA": 0,

"_bp_lineitems": [

{

"uirCntctFstNmTB": "a",

"uuu_user_workphone": null,

"uuu_tab_id": "List of Contacts",

"title": "t",

"ugenAddress1TXT120": null,

"_attachment": [

{

"issue_date": "05/06/2018",

"revision_no": "100",

"file_name": "new 1.txt",

"title": "file_title"

}

],

"ugenAddress2TXT120": null,

"ugenCountryPD": null,

"ugenCityTXT50": null,

"short_desc": "Vendor Contact",

"uriCntctLstNmTB": "b",

"ugenStatePD": null,

"ugenZipCodeTXT16": null,

"uveEmailTB120": "hello@abc.com",

"ugenAddress3TXT120": null

}

],

"uvePolicyNoTB32": null,

"_attachment": [

{

"issue_date": "05/06/2018",

"revision_no": "300",

"file_name": "new 1.txt",

"title": "file_title1"

},

{

"issue_date": "05/06/2018",

"revision_no": "200",

"file_name": "exp1.txt",

"title": "file_title2"

}

],

"record_no": "VEN-0086",

"uveVendorTypePD": "Architect",

"ugenCityTXT50": null,

"uveCoiExpDOP": null,

"uuu_dm_publish_path": "v_path",

"uuu_contact_last_name": "b",

"ugenZipCodeTXT16": null,

"uveEmailTB120": "a@abc.com",

"ugenAddress3TXT120": null,

"uveReferenceIdTB16": null,

"uuu_creation_date": "04-12-2018",

"ugenRemarksTB4000": null,

"uvePhoneTB64": null,

"uveTaxIDTB16": null,

"uveMinorityBusCB": 0,

"uveInsuranceCoTB32": null,

"ugenExpirationDateDOP": null,

"uveWomanOwnedCB": 0,

"uveVendorNameTB50": "v-00101",

"ugenAddress1TXT120": null,

"uveDisadvantagedBusCB": 0,

"ugenDiscipline": null,

"creator_id": "Company Administrator",

"ugenAddress2TXT120": null,

"ugenCountryPD": null,

"uveVendorIDTB16": "v-00101",

"ugenStatePD": null,

"uuu_contact_first_name": "a",

"status": "Active"

}

],

"status": 200

}

Sample Failed Response

{

"data": [],

"message": [

{

"_record_status": "Error Business Process record_no hello already exists. ",

"record": {

"uuu_user_id": "a@abc.com",

"uuu_record_last_update_date": "04-12-2018",

"uveFaxTB16": null,

"uveCertificateNoTB64": null,

"uvePrimaryContactTB64": "a",

"title": "v-00101",

"uveLicenseNoTB16": null,

"uuu_contact_company": "v-00101",

"uveCOIAmoutCA": 0,"uveTaxIDTB16": null,

"_bp_lineitems": [

{

"uirCntctFstNmTB": "a",

"uuu_user_workphone": null,

"uuu_tab_id": "List of Contacts",

"title": "t",

"ugenAddress1TXT120": null,

"ugenAddress2TXT120": null,

"ugenCountryPD": null,

"ugenCityTXT50": null,

"short_desc": "Vendor Contact",

"uriCntctLstNmTB": "b",

"ugenStatePD": null,

"ugenZipCodeTXT16": null,

"uveEmailTB120": "hello@abc.com",

"ugenAddress3TXT120": null

}

],

"uvePolicyNoTB32": null,

"record_no": "hello",

"_attachment": [

{

"file_name": "new 1.txt"

}

],

"uveVendorTypePD": "Architect",

"ugenCityTXT50": null,

"uveCoiExpDOP": null,

"uuu_dm_publish_path": "v_path",

"uuu_contact_last_name": "b",

"ugenZipCodeTXT16": null,

"uveEmailTB120": "a@abc.com",

"ugenAddress3TXT120": null,

"uveReferenceIdTB16": null,

"uuu_creation_date": "04-12-2018",

"ugenRemarksTB4000": null,

"uvePhoneTB64": null,

"uveTaxIDTB16": null,

"uveMinorityBusCB": 0,

"uveInsuranceCoTB32": null,

"ugenExpirationDateDOP": null,

"uveWomanOwnedCB": 0,

"uveVendorNameTB50": "v-00101",

"ugenAddress1TXT120": null,

"uveDisadvantagedBusCB": 0,

"ugenDiscipline": null,

"creator_id": "Company Administrator",

"ugenAddress2TXT120": null,

"ugenCountryPD": null,

"uveVendorIDTB16": "v-00101",

"ugenStatePD": null,

"uuu_contact_first_name": "a",

"status": "Active"

}

}

],

"status": 3000

}

or if zip_file_size of uploaded zip file is not correct :

{

"data": [],

"message": [

"Uploaded Zip file is invalid"

],

"status": 3003

}