s3://asapp-\{env\}-\{company_name\}-imports-\{aws-region\}
Key | Description |
---|---|
env | Environment (prod, pre_prod, test) |
company_name | The company name: acme, duff, stark_industries, etc. Note: company name should not have spaces within. |
aws-region | us-east-1 Note: this is the current region supported for your ASAPP instance. |
s3://asapp-pre_prod-acme-imports-us-east-1
asapp-customers-sftp-\{env\}-\{aws-region\}
Values for env
and aws-region
are set in the same way as above. As an example, an S3 bucket to receive transcripts for use in production is named:
asapp-customers-sftp-prod-us-east-1
id secret bucket sub-folder (if any)
NULL
) for missing or empty values.FIELD NAME | REQUIRED? | FORMAT | EXAMPLE | NOTES |
---|---|---|---|---|
customer_id | Yes | String | 347bdddb-d3a1-45fc-bbcd-dbd3a175fc1c | External User ID. This is a hashed version of the client ID. |
conversation_id | No | String | 21352352 | If filled in, should map to ASAPP’s system. May be empty, if the customer has not had a conversation with ASAPP. |
call_start | Yes | Timestamp | 2020-01-03T20:02:13Z | ISO 8601 formatted UTC timestamp. Time/date call is received by the system. |
call_end | Yes | Timestamp | 2020-01-03T20:02:13Z | ISO 8601 formatted UTC timestamp. Time/date call ends. Note: duration of call should be Call End - Call Start. |
call_assigned_to_agent | No | Timestamp | 2020-01-03T20:02:13Z | ISO 8601 formatted UTC timestamp. The date/time the call was answered by the agent. |
customer_type | No | String | Wireless Premier | Customer account classification by client. |
survey_offered | No | Bool | true/false | Whether a survey was offered or not. |
survey_taken | No | Bool | true/false | When a survey was offered, whether it was completed or not. |
survey_answer | No | String | Survey answer | |
toll_free_number | No | String | 888-929-1467 | Client phone number (toll free number) used to call in that allows for tracking different numbers, particularly ones referred directly by SRS. If websource or click to call, the web campaign is passed instead of TFN. |
ivr_intent | No | String | Power Outage | Phone pathing logic for routing to the appropriate agent group or providing self-service resolution. Could be multiple values. |
ivr_resolved | No | Bool | true/false | Caller triggered a self-service response from the IVR and then disconnected. |
ivr_abandoned | No | Bool | true/false | Caller disconnected without receiving a self-service response from IVR nor being placed in live agent queue. |
agent_queue_assigned | No | String | Wireless Sales | Agent group/agent skill group (aka queue name) |
time_in_queue | No | Integer | 600 | Seconds caller waits in queue to be assigned to an agent. |
queue_abandoned | No | Bool | true/false | Caller disconnected after being assigned to a live agent queue but before being assigned to an agent. |
call_handle_time | No | Integer | 650 | Call duration in seconds from call assignment event to call disconnect event. |
call_wrap_time | No | Integer | 30 | Duration in seconds from call disconnect event to end of agent wrap event. |
transfer | No | String | Sales Group | Agent queue name if call was transferred. NA or Null value for calls not transferred. |
disposition_category | No | String | Change plan | Categorical outcome selection from agent. Alternatively, could be category like ‘Resolved’, ‘Unresolved’, ‘Transferred’, ‘Referred’. |
disposition_notes | No | String | Notes from agent regarding the disposition of the call. | |
transaction_completed | No | String | Upgrade Completed, Payment Processed | Name of transaction type completed by call agent on behalf of customer. Could contain multiple delimited values. May not be available for all agents. |
caller_account_value | No | Decimal | 129.45 | Current account value of customer. |
FIELD NAME | REQUIRED? | FORMAT | EXAMPLE | NOTES |
---|---|---|---|---|
conversation_externalId | Yes | String | 3245556677 | Unique identifier for the conversation |
sender_externalId | Yes | String | 6433421 | Unique identifier for the sender of the message |
sender_role | Yes | String | agent | Supported values are ‘agent’, ‘customer’ or ‘bot’ |
text | Yes | String | Happy to help, one moment please | Message from sender |
timestamp | Yes | Timestamp | 2022-03-16T18:42:24.488424Z | ISO 8601 formatted UTC timestamp |
Full | Abbreviated |
---|---|
Agent: Choose an option from the list below Agent: (A) 1-way ticket (B) 2-way ticket (C) None of the above Customer: (A) 1-way ticket | Agent: Choose an option from the list below Customer: (A) |
FIELD NAME | REQUIRED? | FORMAT | EXAMPLE | NOTES |
---|---|---|---|---|
transaction_id | Yes | String | 1d71dce2-a50c-11ea-bb37-0242ac130002 | An identifier which is unique within the customer system to track this transaction. |
transaction_time | Yes | Timestamp | 2007-04-05T14:30:05.123Z | ISO 8601 formatted UTC timestamp. Details potential duplicates and also attribute to the right period of time |
transaction_value_one_time | No | Float | 65.25 | Single value of initial purchase. |
transaction_value_recurring | No | Float | 7.95 | Recurring value of subscription purchase. |
customer_category | No | String | US | Custom category value per client. |
customer_subcategory | No | String | wireless | Custom subcategory value per client. |
external_customer_id | No | String | 34762720001 | External User ID. This is hashed version of the client ID. In order to attribute to ASAPP metadata, one of these will be required (Customer ID or Conversation ID) |
issue_id | No | String | 1E10412200CC60EEABBF32 | IF filled in, should map to ASAPP’s system. May be empty, if the customer has not had a conversation with ASAPP. In order to attribute to ASAPP metadata, one of these will be required (Customer ID or Conversation ID) |
external_session_id | Yes | String | 1a09ff6d-3d07-45dc-8fa9-4936bfc4e3e5 | External session id so we can track a customer |
product_category | No | String | Wireless Internet | Category of product purchased. |
product_subcategory | No | String | Broadband | Subcategory of product purchased. |
product_name | No | String | Broadband Gold Package | The name of the product. |
product_id | No | String | WI-BBGP | The identifier of the product. |
product_quantity | Yes | Integer | 1 | A number indicating the quantity of the product purchased. |
product_value_one_time | No | Float | 60.00 | Value of the product for one time purchase. |
product_value_recurring | No | Float | 55.00 | Value of the product for recurring purchase. |
s3://BUCKET_NAME/FEED_NAME/version=VERSION_NUMBER/format=FORMAT_NAME/dt=DATE/hr=HOUR/mi=MINUTE/DATAFILE_NAME(S)
The following table details the convention that ASAPP follows when handling uploads:
format
field discussed above, tells ASAPP whether to treat the data you provide as Incremental or Snapshot data.
When importing data using Incremental mode, ASAPP will append the given data to the existing data imported for that FEED_NAME
. When you specify Incremental mode, you are telling ASAPP that for a given date, the data which was uploaded is for that day only. If you use the value dt=2018-09-02
in your constricted filename, you are indicating that the data contained in that file includes records from 2018-09-02 00:00:00 UTC
→ 2018-09-02 23:59:59 UTC
.
When importing data using Snapshot mode, ASAPP will replace any existing data for the indicated FEED_NAME
with the contents of the uploaded file. When you specify Snapshot mode, ASAPP treats the uploaded data as a complete record from “the time history started” until that particular day end. A date of 2018-09-02
means the data includes, effectively, all things from 1970-01-01 00:00:00 UTC
→ 2018-09-02 23:59:59 UTC
.