Getting Started
Revision 28-JUN-2022
Table of Contents
Overview
What is SFTP?
Secure File Transfer Protocol (SFTP) is a method for transferring files securely over the internet. Files can be sent through a graphical user interface (an application on your computer) or a command line interface, which allows the process to be automated. SFTP is a well-known standard that complies with all federal and international requirements for securely transferring sensitive information across all industries (e.g., HIPAA and GDPR).
What is an SSH Key?
An SSH key is a pair of cryptographically secure files used to authenticate with a server. Each key pair consists of a public and private key. The private key should be confidential (do not share your private key with anyone). Share the public key with ABS to allow us to add it to your account and enable you to authenticate with our server to send us files successfully.
CSV Format and Best Practices
Format
The header of the csv needs to be in the following order:
- partNumber
- make
- model
- size
- treadDepth
- unitsSold
- date
- description
- unitPrice
- dot
The following is an example of what your CSV should look like if opened in an editor.
partNumber | make | model | size | treadDepth | unitsSold | date | description | unitPrice | dot |
---|---|---|---|---|---|---|---|---|---|
BSTUR3254518 | BRIDGESTONE | TURANZA ER33 | 235/45R18 | 12 | 4 | 6/29/2022 | BRIDGESTONE TURANZA ER33 | 334.31 | 38291282287 |
GASST23585R14 | GLADIATOR | ALL STEEL | ST235/85R16/14 132/127 | 14 | 2 | 6/29/2022 | GLADIATOR ALL STEEL ST235/85R16/14 132/127 | 384.11 | 33819928883 |
CT22545R17 | CONTINENTAL | TRUECONTACT | 225/45R17 | .12.5 | -2 | 6/29/2022 | CONTINENTAL TRUECONTACT 225/45R17 | -289.77 | 33718182929 |
Download an example
Click to download an example CSV
Fields and Values
Field Name | Value | Required |
---|---|---|
partNumber | The part number of the tire. | Yes |
make | The make of the tire. | Yes |
model | The model of the tire. | Yes |
size | The size of the tire. | Yes |
treadDepth | The tread depth of the tire. | Depending on the program. |
unitsSold | The number of tires. For a cancellation use a negative value of theunitsSold. | Yes |
date | The date of the sale of the tire. | Yes |
description | Description of tire | No |
unitPrice | Unit Price of the tire. For a cancellation use a negative value of the price. | Yes |
dot | The Department of Transportation number of the tires | No |
Best practices
The first row should contain your registration properties in the column headers.
Registration properties are space-sensitive and case-sensitive.
Note:
partNumber
is valid wherepart Number
is not.
Do not add properties that are not in the specification above.
Make sure you do not have any duplicate or empty fields in your header.
Make sure the header is delimited the same way as the rest of the file.
Remember to use enclosing characters when a comma is present in a field.
Operating System Environments
Windows
Prerequisites
To send ABS a file, you must install the required software and generate an SSH key. Download and install the following tools:
WinSCP: https://winscp.net/download/WinSCP-5.17.10-Setup.exe
PuTTY: https://winscp.net/download/putty-0.73-installer.msi
Generating an SSH key
We will use PuTTYgen to generate an SSH key. This process only needs to be performed once.
- Open Putty
- Under Parameters, leave the defaults – type: RSA, 2048-bits.
- If your organization has stricter security policies in place, you may also choose Ed25519 or increase the number of bits. We do not support DSA, ECDSA, or SSH-1 key types.
- Click "Generate"
- Click Save public key and select a location to save your key.
- Click Save private key and select a location to save your key.
- PuTTY will warn you about saving the key without a passphrase. If you add a passphrase, you must enter it every time you use the key. When automating the process of sending ABS files, it will not be possible to enter a passphrase every time the automation runs; therefore, we do not recommend adding a passphrase to your key.
- Copy the Public key for pasting into OpenSSH authorized_keys file and send it toengineering@abswarranty.net to have it added to your account.
- Be sure to copy the entire thing – you might need to scroll down.
Sending a file
We will use WinSCP to connect to the SFTP server and transfer files.
- Open WinSCP
- Enter:
- Host name: sftp.absintegrations.com
- Port number: 22
- User name: customer-user-name
- Click the Advanced button under the Password input box and navigate to the SSH > Authentication section.
- Select the ellipsis (…) button in the Private key file input. Select the private key you created and saved in step 5 of the Generating an SSH key section above.
- Click OK.
- On the login dialog, click the Save button under User Name and click OK when prompted to save the session.
- Click Login.
- If prompted, Continue connecting to an unknown server and add its host key to a cache? Verify the host key matches SHA256: 105xgUq4TCoREGkzeH3cJuqBT6qS5GMffL0jR1IFwfg= and click Yes.
- Once connected, go to Options > Preferences > Transfer > Endurance. Under Enable transfer resume/transfer to temporary filename for click disable.
- Now go up to Transfer. Select Default and click edit.
- Uncheck Preserve Timestamp in the Common options section. Click OK on this dialog and OK to close the preferences dialog.
- You may now upload files. Drag a file from your local computer (left side) to the remote server (right side). Your SFTP folder is /abs-data-ingestion/customer-user-name/.
Windows Power User
Prerequisites
Install the Microsoft SSH Feature. If not already installed, follow these instructions.
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Generating an SSH key
We will use Windows PowerShell and OpenSSH to generate the key. This process only needs to be done once.
Open Windows PowerShell.
Navigate to the directory where you will store the key.
Execute the following command: ssh-keygen -t rsa -f ./{name-of-rsa-key} -C {customer-username}
Note: Replace {name-of-rsa-key} with the filename of the key.
Note: Replace {customer-username} with your customer username.
Press return past the following prompts:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
You should will a prompt similar to the following:
SHA256:/z5e1ZOqHCSCeUKYbwMTZSc4paJHhaUWz1mpMDTFZJ8 username@localhost
The key's randomart image is:
+---[RSA 3072]----+
| .+BX=.o |
| +@B++. |
| .+O=3d |
|.o. * o o|
|. . B oI. . oo|
| . . + ..o ...|
| .. .. |
| ..+. |
| =+. |
+----[SHA256]-----+
Execute the following command:
notepad .\{name-of-rsa-key}.pub
Note: Replace {name-of-rsa-key} with the filename of the key.
You should receive a public key similar to the following:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDE5/g5c/mvApw0N3f3mbZOOZ3DpabVuBs9/VOS1AtYKeBawHIxaX53Zcccn4IUqC0kCyjbN8H+apYQC/oFrOIk7dNNLwAuKAN9eBTTO0JvhSWlQTHdIWC+f6V1g0wH28zE8dKiHSc+SnI7koFNdf5Y1OxUsKkqXyfPZpbKA3p5Oxy0bksAGWBGn1dn5i+mIH5I/CglAf1nS8D1PNRn/NmxMrtoxAEg5Qe/BF/oeOoYbHfq4HlLTvGeXapmcJyxhsUPJRuKbBs+nBa3dMC1G1tWBbYThJo2b6JqxV1XcIMbGbdPildRPq4GO3qk4eBwKlgz79cZsU0Y9Jvu9QETP7+5hIzvoIiBml77sNtyJHcH5dkP8GZlC2BKNmFYa8iUtphvABYPQpziMu6a88og5QgbxVFy2sL292plRWR3cQgiQmimwMb2KF5nZn1QNzerMhHs46/S9V3AEiI6HqzPNY5vDLrx5K+7ub4sPkxHcHEemXSWwlddp1n/rKptl/fH+Xc= username
Copy the entire key from top to bottom and email it to engineering@abswarranty.net
Execute $pwd.Path + "\{name-of-rsa-key}.pub"
Note: Replace {name-of-rsa-key} with the filename of the key.
Save the path output by this command for sending files over RSA. The output of the above command will be referred to as {key-filepath} in the next step.
Sending a file
Navigate to the directory of the CSV you will upload to Automotive Business Solutions in PowerShell.
Execute the following command:
scp -i {key-filepath} {name-of-csv-file}.csv \
{customer-username}@sftp.absintegrations.com:/abs-data-ingestion/{customer-username}/
Note: Replace {key-filepath} with the file path output in previous step. Note: Replace {name-of-csv} with the name of the csv file you will upload. Note: Replace {customer-username} with your customer username.
MacOS
Generating an SSH key
We will use the macOS terminal and OpenSSH to generate the key. This process only needs to be done once.
Open up Terminal from your macOS Utilities.
Navigate to the directory where you will store the key.
Execute the following command:
ssh-keygen -t rsa -f ./{name-of-rsa-key} -C {customer-username}
Note: Replace {name-of-rsa-key} with the filename of the key. Note: Replace {customer-username} with your customer username.
Press return past the following prompts:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
You should receive a prompt similar to the following:
SHA256:/z5e1ZOqHCSCeUKYbwMTZSc4paJHhaUWz1mpMDTFZJ8 username@localhost
The key's randomart image is:
+---[RSA 3072]----+
| .+BX=.o |
| +@B++. |
| .+O=3d |
|.o. * o o|
|. . B oI. . oo|
| . . + ..o ...|
| .. .. |
| ..+. |
| =+. |
+----[SHA256]-----+
Execute the following command:
cat .\{name-of-rsa-key}.pub
Note: Replace {name-of-rsa-key} with the filename of the key.
You will receive a public key similar to the following:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDE5/g5c/mvApw0N3f3mbZOOZ3DpabVuBs9/VOS1AtYKeBawHIxaX53Zcccn4IUqC0kCyjbN8H+apYQC/oFrOIk7dNNLwAuKAN9eBTTO0JvhSWlQTHdIWC+f6V1g0wH28zE8dKiHSc+SnI7koFNdf5Y1OxUsKkqXyfPZpbKA3p5Oxy0bksAGWBGn1dn5i+mIH5I/CglAf1nS8D1PNRn/NmxMrtoxAEg5Qe/BF/oeOoYbHfq4HlLTvGeXapmcJyxhsUPJRuKbBs+nBa3dMC1G1tWBbYThJo2b6JqxV1XcIMbGbdPildRPq4GO3qk4eBwKlgz79cZsU0Y9Jvu9QETP7+5hIzvoIiBml77sNtyJHcH5dkP8GZlC2BKNmFYa8iUtphvABYPQpziMu6a88og5QgbxVFy2sL292plRWR3cQgiQmimwMb2KF5nZn1QNzerMhHs46/S9V3AEiI6HqzPNY5vDLrx5K+7ub4sPkxHcHEemXSWwlddp1n/rKptl/fH+Xc= username
Copy the entire key from top to bottom and email it to engineering@abswarranty.net.
Execute:
echo "$(pwd)/{name-of-rsa-key}"
Note: Replace {name-of-rsa-key} with the filename of the key.
Save the path output by this command for sending files over RSA. The output of the above command will be referred to as {key-filepath} in the next step.
Sending a file
Navigate to the directory of the CSV you will upload to Automotive Business Solutions in Terminal.
Execute the following command:
scp -i {key-filepath} {name-of-csv-file}.csv \
{customer-username}@sftp.absintegrations.com:/abs-data-ingestion/{customer-username}/
Note: Replace {key-filepath} with the file path output in previous step. Note: Replace {name-of-csv} with the name of the csv file you will upload. Note: Replace {customer-username} with your customer username.
Linux
Generating an SSH key
We will use terminal and openssh to generate the key. This process only needs to be done once.
Open up Terminal.
Switch to the directory you will store the key in.
Execute the following command:
ssh-keygen -t rsa -f ./{name-of-rsa-key} -C {customer-username}
Note: Replace {name-of-rsa-key} with the filename of the key. Note: Replace {customer-username} with your customer username.
Press return past the following prompts:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
You should receive a prompt similar to the following:
SHA256:/z5e1ZOqHCSCeUKYbwMTZSc4paJHhaUWz1mpMDTFZJ8 username@localhost
The key's randomart image is:
+---[RSA 3072]----+
| .+BX=.o |
| +@B++. |
| .+O=3d |
|.o. * o o|
|. . B oI. . oo|
| . . + ..o ...|
| .. .. |
| ..+. |
| =+. |
+----[SHA256]-----+
Execute the following command:
cat .\{name-of-rsa-key}.pub
Note: Replace {name-of-rsa-key} with the filename of the key.
You will receive a public key similar to the following:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDE5/g5c/mvApw0N3f3mbZOOZ3DpabVuBs9/VOS1AtYKeBawHIxaX53Zcccn4IUqC0kCyjbN8H+apYQC/oFrOIk7dNNLwAuKAN9eBTTO0JvhSWlQTHdIWC+f6V1g0wH28zE8dKiHSc+SnI7koFNdf5Y1OxUsKkqXyfPZpbKA3p5Oxy0bksAGWBGn1dn5i+mIH5I/CglAf1nS8D1PNRn/NmxMrtoxAEg5Qe/BF/oeOoYbHfq4HlLTvGeXapmcJyxhsUPJRuKbBs+nBa3dMC1G1tWBbYThJo2b6JqxV1XcIMbGbdPildRPq4GO3qk4eBwKlgz79cZsU0Y9Jvu9QETP7+5hIzvoIiBml77sNtyJHcH5dkP8GZlC2BKNmFYa8iUtphvABYPQpziMu6a88og5QgbxVFy2sL292plRWR3cQgiQmimwMb2KF5nZn1QNzerMhHs46/S9V3AEiI6HqzPNY5vDLrx5K+7ub4sPkxHcHEemXSWwlddp1n/rKptl/fH+Xc= username
Copy the entire key from top to bottom and email it to engineering@abswarranty.net.
Execute
echo "$(pwd)/{name-of-rsa-key}"
Note: Replace {name-of-rsa-key} with the filename of the key.
Save the path output by this command for sending files over RSA. The output of the above command will be referred to as {key-filepath} in the next step.
Sending a file
Navigate to the directory of the CSV you will upload to Automotive Business Solutions in Terminal.
Execute the following command:
scp -i {key-filepath} {name-of-csv-file}.csv {customer-username}@sftp.absintegrations.com:/abs-data-ingestion/{customer-username}/
Note: Replace {key-filepath} with the file path output in previous step. Note: Replace {name-of-csv} with the name of the csv file you will upload. Note: Replace {customer-username} with your customer username.
File Ingestion Process
Upon successfully transferring a file, it enters a queue for processing. We process and ingest every file sent to us within 15 minutes of transfer. This process is fully automatic and runs continuously.
Our engineering team receives alerts when the file ingestion process fails. We review these alerts during business hours, Monday - Friday, 9 AM – 5 PM mountain time. If we were not able to successfully ingest a file, we will contact you to correct the issue.
Frequently Asked Questions
Can ABS generate the key pair for me and send it to me?
No. To secure your data, you must generate your SSH key pair. Do not send your private key to anyone, including ABS. You will only need to share your public key with us.
What happens if I lose my private key?
Contact ABS immediately by emailing engineering@abswarranty.net. We will deactivate this key. You will need to generate a new key pair and share the new public key with us. From now on, you will use the new key to send ABS files.
We have multiple users who need access. Can we all use the same key?
No. Each user must use a key unique to them. There is no limit to the number of users we can add to your account.
Why can’t I use a password?
Passwords are significantly less secure than SSH keys. To comply with industry standards and regulations, we cannot allow users the ability to authenticate with a password.
What file formats do you accept?
We accept CSV files only. If you manually create a file in Excel, go to File > Export > Change File Type > CSV to create this file. You can download a sample here.
How do I test sending ABS a file?
Before the program launch, we will be in touch to coordinate sending us test files. We typically test for two to three weeks to ensure all data comes across as expected.
What happens if I send the same file twice?
We ingest all files sent to us, including files sent multiple times. Sending the same file twice will result in duplicative information in our database, which could cause incorrect billing or claims processing. If a file is accidentally sent more than once, please contact engineering@abswarranty.net, so we can take corrective measures.
Can I delete files sent to ABS?
No. We retain all files sent to us for our records, including files sent multiple times with the same name. You will be able to view these files, but you will not be able to delete them. Before the program launch, we will remove all files sent to us for testing purposes.
How do I automate this process?
We strongly recommend automating the file transfer process. You can automate it by writing a script that will pull data from your database and send it to us on a recurring basis. If your technology team is not sure how to write this script, please have them reach out to engineering@abswarranty.net. The ABS technology team will schedule a video call with your technology team to walk them through the process.