Getting Started
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, enabling you to authenticate with our server.
CSV Format and Best Practices
Format
The following is an example of what your CSV should look like if opened in an editor. The ABS team will custom tailor your warranty product, therefore we will customize the data requirements for your program.
The following examples are a generic guide. Your CSV file header and column details may differ.
Click to download an example CSV
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 |
Best practices
- The first should contain column headers. Headers are space-sensitive and case-sensitive.
- Ensure that you do not have any duplicates or empty fields in your header row.
- Make sure the header row is delimited the same way as the rest of the file.
- Remember to use quotation marks to enclose a field value containing a comma.
- All field values should be formatted in the correct case, not in ALL CAPS.
File Ingestion Process
Upon successfully transferring a file, it enters a queue for processing. We process and ingest every file sent to us in real time. 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, 9AM – 5PM Mountain Time. If we were not able to successfully ingest a file, we will contact you to correct the issue.
Transferring Data
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/eng/downloads.php
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 to
engineering@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:
{your-user-name}
- Host 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/{your-user-name}/
.
Linux
Generating an SSH key
We will use terminal and OpenSSH to generate the key. This process only needs to be done once.
Open a terminal.
Switch to the directory you will store the key in.
Execute the following command:
ssh-keygen -t rsa -f key
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 key.pub
You will see 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@localhost
Copy the entire public key and email it to engineering@abswarranty.net.
Execute:
echo $PWD/key
Save the path output by this command for sending files over SCP. 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 your terminal.
Execute the following command:
scp -i key-filepath name-of-csv-file.csv your-username@sftp.absintegrations.com:/abs-data-ingestion/your-username/
- Replace
key-filepath
with the file path output in previous step - Note: Replace
name-of-csv.csv
with the name of the CSV file you will upload - Note: Replace
your-username
with your username, provided by ABS
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 call with your technology team to walk them through the process.