Skip to content
English
  • There are no suggestions because the search field is empty.

Pisano External API - Customers - Import Customers from CSV

Import Customers from CSV

Batch import customer data from CSV content into fields defined in the Pisano Customer Schema.

POST /v1/customers/import_from_csv

Authentication

Authentication Method Bearer token via Authorization header

Headers

Header Required Description Example
Authorization Yes Bearer token for authentication. Bearer <token>
Content-Type Yes Request content type. application/json

Request Body

CSV content is sent in the JSON request body through csv_file.csv_string. This endpoint does not use multipart file upload.

{
  "node_id": "<node_id>",
  "column_mapping": {
    "phone_number": "<csv_phone_column>",
    "external_id": "<csv_external_id_column>",
    "email": "<csv_email_column>",
    "name": "<csv_name_column>"
  },
  "csv_file": {
    "name": "<csv_file_name>",
    "csv_string": "<csv_content_with_headers_and_customer_rows>"
  }
}

Request Body Fields

Field Type Required Description
node_id string Yes Pisano account/node identifier.
column_mapping object Maps Pisano customer schema codes to CSV column names.
csv_file object CSV file information.
csv_file.name string CSV file name.
csv_file.csv_string string CSV content; first row contains headers and following rows contain customer data.

Request Example

cURL Request Example
curl --location 'https://<pisano_domain>/v1/customers/import_from_csv' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
  "node_id": "<node_id>",
  "column_mapping": {
    "phone_number": "<csv_phone_column>",
    "external_id": "<csv_external_id_column>",
    "email": "<csv_email_column>",
    "name": "<csv_name_column>"
  },
  "csv_file": {
    "name": "<csv_file_name>",
    "csv_string": "<csv_content_with_headers_and_customer_rows>"
  }
}'

Responses

200 OK

CSV content processed successfully. The response body is an empty JSON object.

Response Example

{}

Error Responses

400 Bad Request
Invalid or incomplete request data.
401 Unauthorized
Invalid or missing authorization token.

Additional Information

Usage Limitations

The request body and column_mapping depend on the target account and the Customer Schema fields that need to be populated.

Notes