# CreateIncidentReceipt Fields

## Copy Field Maps

{% hint style="info" %}
It is worth copying all relevant OOTB Field Maps as are necessary for your integration before using any of them in your Field Records - thereby mitigating the risk of any potential issues with future upgrades.
{% endhint %}

The Field Maps we shall use for our CreateIncidentReceipt Field records are:

* Message Header
* Receipt Status

To copy the Message Header Field Map, navigate to the **'Field Maps' icon**.

![](https://796541950-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQBk35gIi557UHt7QlJ%2F-MQxfgO8mw1gUB1Ab5bb%2F-MR-bUchCOhUR6korklj%2FV2%20-%20Copy%20Field%20Map%201.png?alt=media\&token=99a9f7be-ec1a-4946-93e7-b53b015671c2)

1\) Click on the **ellipsis** to the right of the **Message Header** Field Map & then click **Copy**.

## Copy Field Map Modal

The fields to edit for the Copy Field Map modal are as follows:

|  #  | Field       | Description                                                                                          | Value               |
| :-: | ----------- | ---------------------------------------------------------------------------------------------------- | ------------------- |
|  2  | Name\*      | The name of your field map. (If left unedited, it will append the word 'Copy' to the existing name.) | \<Your Name>        |
|  3  | Integration | The integration this field map is associated with.                                                   | \<Your Integration> |

{% hint style="success" %}
*\*Name: We have chosen to prefix the existing Field Map Name with the initials of our Integration (you are free to choose any appropriate means of identifying/differentiating).*
{% endhint %}

*Your Copy Field Map modal should look like this:*

![](https://796541950-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQBk35gIi557UHt7QlJ%2F-MQxfgO8mw1gUB1Ab5bb%2F-MR-cVnGzzqiIku6aDHi%2FV2%20-%20Copy%20Field%20Map%202.png?alt=media\&token=71d4c8bc-2564-4e7d-8431-050225d7c080)

4\) Click **Copy**.

You will be redirected to the Details page of the newly created Field Map.

{% hint style="success" %}
**Repeat** the process for the **Receipt Status** Field Map.
{% endhint %}

## Field: message.message\_header

From the **CreateIncidentReceipt** Message, navigate to **Message > Fields**. Click **New**.

![](broken-reference)

The fields to be configured for our message\_header New Field modal are as follows:

| #   | Field        | Description                                                                             | Value                         |
| --- | ------------ | --------------------------------------------------------------------------------------- | ----------------------------- |
| \*  | Message      | The Message this Field record is linked with.                                           | 'CreateIncidentReceipt'       |
| 5   | Description  | Describe what this field is for and any specific details that might help you in future. | 'The protocol message header' |
| \*  | Active       | Set to true to use this Field record for processing.                                    | \<true>                       |
| 6   | Field map    | The Field Map this Field record is linked with.                                         | 'IG Message Header'\*\*       |
| 7\* | Map to field | Use this Field record to represent a field on a source/target table.                    | \<false>                      |
| 8   | Path         | Where in the payload the data will be placed.                                           | 'message'                     |
| 9   | Property     | The property in the payload the data will be written to.                                | 'message\_header'             |
| \*  | Inbound      | Set to true to use for inbound Messages.                                                | \<true>                       |
| \*  | Outbound     | Set to true to use for outbound Messages.                                               | \<true>                       |

*\*These fields are automatically defaulted to true, or automatically populated.*

*\*\*Field map: Value may vary. Choose the copy Field Map you created for your Integration.*

*Your 'message\_header' New Field modal should look like this:*

![](broken-reference)

10\) **Submit** the record.

You will be redirected back to the Fields page of the CreateIncidentReceipt Message.

## Field: message.transaction\_details

Click **New**.

The fields to be configured for our transaction\_details New Field modal are as follows:

| #    | Field        | Description                                                                             | Value                                                 |
| ---- | ------------ | --------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| \*   | Message      | The Message this Field record is linked with.                                           | (automatically populated)                             |
| 11   | Description  | Describe what this field is for and any specific details that might help you in future. | 'Used to send and receive transaction process errors' |
| \*   | Active       | Set to true to use this Field record for processing.                                    | \<true>                                               |
| 12   | Field map    | The Field Map this Field record is linked with.                                         | 'IG Receipt Status'\*\*                               |
| 13\* | Map to field | Use this Field record to represent a field on a source/target table.                    | \<false>                                              |
| 14   | Path         | Where in the payload the data will be placed.                                           | 'message'                                             |
| 15   | Property     | The property in the payload the data will be written to.                                | 'transaction\_details'                                |
| \*   | Inbound      | Set to true to use for inbound Messages.                                                | \<true>                                               |
| \*   | Outbound     | Set to true to use for outbound Messages.                                               | \<true>                                               |

*\*These fields are automatically defaulted to true, or automatically populated.*

*\*\*Field map: Value may vary. Choose the copy Field Map you created for your Integration.*

*Your 'transaction\_details' New Field modal should look like this:*

![](broken-reference)

16\) **Submit** the record.

You will be redirected back to the Fields page of the CreateIncidentReceipt Message.

## Build

Now that we’ve configured the Field records for the CreateIncidentReceipt message, we are ready to build our message scripts.

*The following Field records should now be in place for your CreateIncidentReceipt messsage:*

![](broken-reference)

{% hint style="success" %}
**Feature Alert**: In the picture above you will notice that a 'Build Integration' button has appeared in the banner at the top of the page. Whenever a change is made to a Field record that is associated to a Message *(whether that is being created, updated, or deleted)* the button will be available and acts as a visual reminder that changes have been made and Message Script(s) need to be built. We will talk more about this feature in the [Build Integration Level](https://docs.sharelogic.com/unifi/2.2/integration-guides/bidirectional-asynchronous-incident-guide/build-integration-level) page.
{% endhint %}

17\) Click on **Build Message**.

You will see the 'Message build successful' Info Message.

![](https://796541950-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQBk35gIi557UHt7QlJ%2F-MQxfgO8mw1gUB1Ab5bb%2F-MR-q0v-I-k77qv4tvEf%2FV2%20-%20Fields%20CreateIncidentReceipt%205.png?alt=media\&token=73d8dfdd-ce82-40ae-984f-dc1f0b616820)

18\) Navigate to **Advanced > Script Editor** to view the auto-generated code.

*Your Script Editor fields should look like this:*

![](broken-reference)

## Message Scripts

{% hint style="info" %}
The newly auto-generated code will appear between a Begin & End Comment immediately prior to any code that was already there.
{% endhint %}

```javascript
//===== [ws] Begin Unifi Auto Generated Code =====//

/*
 * This code (between the Begin and End comments) is generated from the
 * Field and Field mapping records which are configured as part of the integration.
 *
 * All code either above or below the comments will be automatically maintained
 * through the build cycle.
 *
 * WARNING: Do not edit the Begin or End comments.
 */

(New auto-generated code will appear here)

//===== [ws] End Unifi Auto Generated Code =====//

(Old pre-existing code will appear here)
```

*Stage to Target:*

{% hint style="success" %}
The code we had previously added when configuring our Message as per the '[CreateIncidentReceipt Message](https://docs.sharelogic.com/unifi/2.2/integration-guides/bidirectional-asynchronous-incident-guide/createincidentreceipt-message#scripts)' page is still in place and can be seen after the End Comment.
{% endhint %}

*The code in the ‘Stage to Target’ script field should look like this:*

```javascript
//===== [ws] Begin Unifi Auto Generated Code =====//

/*
 * This code (between the Begin and End comments) is generated from the
 * Field and Field mapping records which are configured as part of the integration.
 *
 * All code either above or below the comments will be automatically maintained
 * through the build cycle.
 *
 * WARNING: Do not edit the Begin or End comments.
 */



if (x_snd_eb.ws_console.hasError()) {
  var errors = x_snd_eb.ws_console.get({type: 'error'});
  if (errors.length) {
    throw errors[0];
  }
}

//===== [ws] End Unifi Auto Generated Code =====//
bond.setOpen();
```

We are now ready to configure our **CreateIncident** Message.
