# Checking whether sending via SFTP is successful

{% hint style="warning" %}
In the event of an invalid CSV file upload or failure to send, we will promptly notify you via email about the failure and its specific cause.
{% endhint %}

### Successful upload of file to Postman via SFTP

Users will be notified via email upon successful uploads of their file to Postman via SFTP.

{% code title="Content of Notification Email" %}

```markup
{"isValid":true,"batchId":"<YOUR_BATCH_NUMBER>"}
```

{% endcode %}

<figure><img src="/files/sJPLQ2S1mLYrXdMBM4F8" alt=""><figcaption><p>Notification email to inform users that file has been successfully uploaded on Postman</p></figcaption></figure>

### Messages that have failed to be uploaded to Postman via SFTP

Users will be notified via email for all failed file uploads to Postman via SFTP

{% code title="Content of Notification Emails" overflow="wrap" %}

```markup
{"isValid":false,"reportURL":"<https://files.postman.gov.sg/validation-reports/<YOUR_CAMPAIGN_ID>/<YOUR_VALIDATION_REPORT>","numRows":<ROWS_WITH_ERRORS>,"numErrors":<NUMBER_OF_ERRORS>,"fileHasAvoidableExpensiveCharacter":<TRUE/FALSE>,"fileHasUnicode":<TRUE/FALSE>}
```

{% endcode %}

<figure><img src="/files/bpS9ZzRvhTEXMNWqa8GN" alt=""><figcaption><p>Notification email to inform users that file has failed to upload on Postman</p></figcaption></figure>

All emails for failed file uploads will come with a URL to download your file with an additional column,  `Error Reason` .

This allows you to identify errors in your file to rectify before re-uploading the file.&#x20;

<figure><img src="/files/gu5ngE0htH0eGQHA6iD4" alt=""><figcaption><p>Postman's validation report with Error Reason</p></figcaption></figure>

### When to contact the Postman team?

If the email notification you receive comes with a support ID informing you to contact us, do fill up our [contact us form](https://form.gov.sg/657025a2d2bd350012c82eb0) for us to get in touch with you.

{% code title="Content of Notification Email" overflow="wrap" %}

```markup
Your SFTP file upload for <YOUR_CSV_FILE.csv> for <YOUR_CAMPAIGN_ID> failed. Please contact us with the following support ID:<YOUR_SUPPORT_ID_TICKET>.
```

{% endcode %}

<figure><img src="/files/6dFAG4Z4lxlOD0hi9d15" alt=""><figcaption></figcaption></figure>

### Message Status

Successful upload of your file to Postman does not mean that your message was successfully sent to the recipient. You will still need to check for the [messages' `latestStatus`](/endpoints-for-api-users/the-message-object.md).

To check the statuses of your messages, please refer to the admin portal.&#x20;

#### Other useful information

1. If your SFTP file is not processed due to an error, the relevant SMS messages will not be created in the Postman server, and thus *will not* be reflected in that particular campaign.
2. You will receive an **email response per file upload**, to the email address which you specified in your SFTP form submission. This email will inform you if the messages were a success or failure.
3. You will only be able to specify 1 email address per SFTP form submission.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://postman-v2.guides.gov.sg/sftp/checking-whether-sending-via-sftp-is-successful.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
