# TMF667 v4 Resource Mappings

Before using the TMF667 resource mappings, refer to the following.

## Constraints and Limitations

- TMF667 API manages the metadata related to a document.
- POST Method
  - The body of the document itself is referred to by the associated Attachment. Only URL upload is supported in POST method.
  - Mandatory POST attributes are - `name`, `attachment.url`.
- The `documentType` attribute will have salesforce autopopulated value of `LINK`.
- Filtering is supported for `name` attribute. Full-word search only.
- Attribute selection is supported for `name`, `documentType`, `status`, `description`, `creationdate`, `lastupdate`.

## Assumptions

- The CommsCloud license is enabled to invoke the TMF667 API.
- Supporting core entity for document is [ContentDocument](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_contentdocument.htm?q=contentdocument). The mappings are in reference to [ContentVersion](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_contentversion.htm?q=contentversion).

## Document

| TMF Field<div style="width:120px"></div> | Description<div style="width:120px"></div>       | Is Mandatory?<div style="width:120px"></div> | Field Type<div style="width:120px"></div> | Salesforce Mapping<div style="width:120px"></div>                                                                                                                                                                            | Supported Method |
| ---------------------------------------- | ------------------------------------------------ | -------------------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| creationDate                             | The date and time the document was created       | No                                           | DateTime                                  | CreatedDate                                                                                                                                                                                                                  | GET              |
| description                              | Free-text description of the document            | No                                           | String                                    | Description                                                                                                                                                                                                                  | GET, POST        |
| documentType                             | Name of the document type                        | No                                           | String                                    | FileType                                                                                                                                                                                                                     | GET              |
| href                                     | Hyperlink reference                              | No                                           | uri                                       | -                                                                                                                                                                                                                            | GET              |
| id                                       | Unique identifier                                | No                                           | String                                    | ContentVersionId                                                                                                                                                                                                             | GET              |
| lastUpdate                               | The date and time the document was last modified | No                                           | DateTime                                  | LastModifiedDate                                                                                                                                                                                                             | GET              |
| name                                     | A string used to give a name to the document     | Yes                                          | String                                    | Title                                                                                                                                                                                                                        | GET, POST        |
| status                                   | The life cycle state of the document             | No                                           | enum                                      | PublishStatus                                                                                                                                                                                                                | GET              |
| attachment                               | A list of attachment ref or values               | No                                           | List                                      | [Attachment](#attachment)                                                                                                                                                                                                    | GET, POST        |
| -                                        | -                                                | -                                            | -                                         | ContentDocumentId. **NOTE:** This is not part of TMF, but this ID represents the actual Salesforce content document ID. If any other API includes an attachment sub-resource, this ID will be referenced in its POST payload | GET              |

## Attachment

| TMF Field<div style="width:120px"></div> | Description<div style="width:120px"></div>                                                                    | Is Mandatory?<div style="width:120px"></div> | Field Type<div style="width:120px"></div> | Salesforce Mapping<div style="width:120px"></div> | Supported Method<div style="width:120px"></div> |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ----------------------------------------- | ------------------------------------------------- | ----------------------------------------------- |
| attachmentType                           | Attachment type such as video, picture                                                                        | No                                           | string                                    | -                                                 | GET                                             |
| url                                      | An URI. Remote reference to the content if web address contains information about the location of the webpage | Yes                                          | uri                                       | contentUrl                                        | GET, POST                                       |
