[Public Submission] Read a submission by its download URL.
https://api.staging.wetransform.com/sender/submission
Request Payload
Responses
| Property / Description |
|---|
|
success
boolean
|
|
Always
Sample value:
true
|
|
payload
object
|
|
Payload of the requested resource. |
|
payload.submission_id
*
string
|
|
The submission UUID
Sample value:
"cbe6d17e-9c19-4ac3-baf5-8e7e4bb53e3d"
|
|
payload.customer_id
*
string
|
|
The customer external ID
Sample value:
"jojo"
|
|
payload.customer_name
*
string
|
|
The customer name
Sample value:
"Jo\u00ebl"
|
|
payload.customer_email
*
string
|
|
The customer email
Sample value:
"joel@fuz.org"
|
|
payload.source_id
*
string
|
|
The source UUID
Sample value:
"8d049772-c9f8-4fe2-a988-ecf926022c51"
|
|
payload.source_name
*
string
|
|
The source name
Sample value:
"New Hires"
|
|
payload.source_file_url
*
string
|
|
The source file URL, if it still exists
Sample value:
"https:\/\/example.com\/source.csv"
|
|
payload.target_file_url
*
string
|
|
The target file URL
Sample value:
"https:\/\/example.com\/target.csv"
|
|
payload.error_report_url
*
string
|
|
The error report url.
Sample value:
"https:\/\/example.com\/error-report.csv"
|
|
payload.push_report_url
*
string
|
|
The push report url.
Sample value:
"https:\/\/example.com\/push-report.csv"
|
|
payload.target_name
*
string
|
|
The target file naem. |
|
payload.template_name
*
string
|
|
The template name
Sample value:
"New Hires"
|
|
payload.template_item
*
string
|
|
The template item name Useful to render the number of items in source, target, and errors.
Sample value:
"Employee"
|
|
payload.template_picture_url
*
string
|
|
The template picture URL, if any
Sample value:
"https:\/\/example.com\/picture.png"
|
|
payload.rows_in_source
*
integer
|
|
Number of rows that were imported from the source file.
Sample value:
100
|
|
payload.rows_ignored_from_source
*
integer
|
|
Number of rows that were ignored in the source file.
Sample value:
0
|
|
payload.columns_ignored_from_source
*
integer
|
|
Number of columns that were ignored in the source file.
Sample value:
0
|
|
payload.maximum_number_of_columns
integer
|
|
Maximum number of columns allowed.
Sample value:
180
|
|
payload.rows_in_target
*
integer
|
|
Number of rows in the target file.
Sample value:
100
|
|
payload.rows_in_error
*
integer
|
|
Number of rows in error.
Sample value:
12
|
|
payload.created_at
*
datetime
|
|
The date at which the submission has been created. |
|
payload.pushed_at
*
datetime
|
|
The date at which the file has been successfully submitted automatically. |
|
payload.failed
boolean
|
|
Whether the submission has failed.
Sample value:
false
|
|
product
*
object
|
|
A product needed. Not null if user requires to buy a specific product (permission or limitation) in order to access a feature. |
|
product.requirement
*
string
|
|
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values:
Sample value:
"permission"
|
|
product.permission
*
object
|
|
The required permission. You will need to know which permission is needed in order to fill up search filters in the shop. |
|
product.permission.description
*
string
|
|
A human-understandable name for the permission. |
|
product.permission.name
string
|
|
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS). Possible values depend on the context, check the domain's metadata endpoint.
Sample value:
"X_SOURCE_FORMAT_XML"
|
|
product.limitation_type
*
string
|
|
The limitation that needs to be increased (ex: number of columns). |
|
product.limitation_needed_value
*
integer
|
|
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9). |
|
product.limitation_current_value
*
integer
|
|
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10). |
|
product.limitation_object
*
object
|
|
The limitation type in a readable format, for example, "lines per file". |
|
product.is_cta
*
boolean
|
|
Whether a Call To Action should be displayed. It may not be displayed if:
|
|
debug
array
|
|
Debug information. Contains logs about business logic explaining state of the response payload. Provided in development & admin modes only. |
Properties suffixed with * are nullable.
{
"success": true,
"payload": {
"submission_id": "cbe6d17e-9c19-4ac3-baf5-8e7e4bb53e3d",
"customer_id": "jojo",
"customer_name": "Jo\u00ebl",
"customer_email": "joel@fuz.org",
"source_id": "8d049772-c9f8-4fe2-a988-ecf926022c51",
"source_name": "New Hires",
"source_file_url": "https:\/\/example.com\/source.csv",
"target_file_url": "https:\/\/example.com\/target.csv",
"error_report_url": "https:\/\/example.com\/error-report.csv",
"push_report_url": "https:\/\/example.com\/push-report.csv",
"target_name": null,
"template_name": "New Hires",
"template_item": "Employee",
"template_picture_url": "https:\/\/example.com\/picture.png",
"rows_in_source": 100,
"rows_ignored_from_source": 0,
"columns_ignored_from_source": 0,
"maximum_number_of_columns": 180,
"rows_in_target": 100,
"rows_in_error": 12,
"created_at": "2020-12-31T23:59:55+00:00",
"pushed_at": "2021-01-01T00:00:00+00:00",
"failed": false,
"error_message": null
},
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false
},
"debug": []
}
The client sent an unexpected request.
It happens if the client sent an invalid JSON payload, or if the JSON payload cannot be mapped to the expected request object.
| Property / Description |
|---|
|
success
boolean
|
|
Always
Sample value:
false
|
|
payload
object
|
|
Context about the error, if any. |
|
product
*
object
|
|
A product needed. Not null if user requires to buy a specific product (permission or limitation) in order to access a feature. |
|
product.requirement
*
string
|
|
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values:
Sample value:
"permission"
|
|
product.permission
*
object
|
|
The required permission. You will need to know which permission is needed in order to fill up search filters in the shop. |
|
product.permission.description
*
string
|
|
A human-understandable name for the permission. |
|
product.permission.name
string
|
|
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS). Possible values depend on the context, check the domain's metadata endpoint.
Sample value:
"X_SOURCE_FORMAT_XML"
|
|
product.limitation_type
*
string
|
|
The limitation that needs to be increased (ex: number of columns). |
|
product.limitation_needed_value
*
integer
|
|
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9). |
|
product.limitation_current_value
*
integer
|
|
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10). |
|
product.limitation_object
*
object
|
|
The limitation type in a readable format, for example, "lines per file". |
|
product.is_cta
*
boolean
|
|
Whether a Call To Action should be displayed. It may not be displayed if:
|
|
debug
array
|
|
Debug information. Contains logs about business logic explaining state of the response payload. Provided in development & admin modes only. |
Properties suffixed with * are nullable.
{
"success": false,
"payload": [],
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false
},
"debug": []
}
User is well authenticated, but not authorized to access the resource.
It can happen if user is trying to use a feature that s/he didn't pay for, access someone else's resource, etc.
These issues are normally fixed by the frontend, which should render features and resources user has access to.
| Property / Description |
|---|
|
success
boolean
|
|
Always
Sample value:
false
|
|
payload
object
|
|
Context about the error, if any. |
|
product
*
object
|
|
A product needed. Not null if user requires to buy a specific product (permission or limitation) in order to access a feature. |
|
product.requirement
*
string
|
|
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values:
Sample value:
"permission"
|
|
product.permission
*
object
|
|
The required permission. You will need to know which permission is needed in order to fill up search filters in the shop. |
|
product.permission.description
*
string
|
|
A human-understandable name for the permission. |
|
product.permission.name
string
|
|
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS). Possible values depend on the context, check the domain's metadata endpoint.
Sample value:
"X_SOURCE_FORMAT_XML"
|
|
product.limitation_type
*
string
|
|
The limitation that needs to be increased (ex: number of columns). |
|
product.limitation_needed_value
*
integer
|
|
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9). |
|
product.limitation_current_value
*
integer
|
|
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10). |
|
product.limitation_object
*
object
|
|
The limitation type in a readable format, for example, "lines per file". |
|
product.is_cta
*
boolean
|
|
Whether a Call To Action should be displayed. It may not be displayed if:
|
|
debug
array
|
|
Debug information. Contains logs about business logic explaining state of the response payload. Provided in development & admin modes only. |
Properties suffixed with * are nullable.
{
"success": false,
"payload": [],
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false
},
"debug": []
}
A violation happens when a property value does not respect the expected constraints.
If a user is making a mistake in a form and frontend is not able to detect it (because of the constraint being tied to some business logic for example), the API will return the invalid properties with the right error messages.
Note: examples are hardcoded in english (no access to the translator in a DTO).
| Property / Description |
|---|
|
success
boolean
|
|
Always
Sample value:
false
|
|
payload
object
|
|
Context about the error, if any. |
|
payload.error
object
|
|
|
|
payload.error.code
string
|
|
A translation key for the given message.
Sample value:
"exception.violation"
|
|
payload.violations
array
|
|
|
|
payload.violations[].property_path
string
|
|
Property having an invalid value.
Sample value:
"title"
|
|
payload.violations[].invalid_value
*
|
|
The invalid value.
Sample value:
""
|
|
product
*
object
|
|
A product needed. Not null if user requires to buy a specific product (permission or limitation) in order to access a feature. |
|
product.requirement
*
string
|
|
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values:
Sample value:
"permission"
|
|
product.permission
*
object
|
|
The required permission. You will need to know which permission is needed in order to fill up search filters in the shop. |
|
product.permission.description
*
string
|
|
A human-understandable name for the permission. |
|
product.permission.name
string
|
|
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS). Possible values depend on the context, check the domain's metadata endpoint.
Sample value:
"X_SOURCE_FORMAT_XML"
|
|
product.limitation_type
*
string
|
|
The limitation that needs to be increased (ex: number of columns). |
|
product.limitation_needed_value
*
integer
|
|
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9). |
|
product.limitation_current_value
*
integer
|
|
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10). |
|
product.limitation_object
*
object
|
|
The limitation type in a readable format, for example, "lines per file". |
|
product.is_cta
*
boolean
|
|
Whether a Call To Action should be displayed. It may not be displayed if:
|
|
debug
array
|
|
Debug information. Contains logs about business logic explaining state of the response payload. Provided in development & admin modes only. |
Properties suffixed with * are nullable.
{
"success": false,
"payload": {
"error": {
"code": "exception.violation",
"message": "The provided payload contains property violations."
},
"violations": [
{
"property_path": "title",
"invalid_value": "",
"message": "This value should not be blank"
},
{
"property_path": "price",
"invalid_value": -5,
"message": "The amount should be greater than 1"
}
]
},
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false
},
"debug": []
}