{"info":{"_postman_id":"ecbb9564-15a6-9631-cefc-90a516a432db","name":"RFMS API","description":"<html><head></head><body><h1 id=\"this-api-documentation-has-been-deprecated-please-visit-httpsapi2docsrfmsonlineversionlatest-for-the-latest-api-documentation\">This API documentation has been deprecated. Please visit <a href=\"https://api2docs.rfms.online/?version=latest\">https://api2docs.rfms.online/?version=latest</a> for the latest API documentation.</h1>\n<p>Access your RFMS Business Management System data within your own applications using a standard REST API.</p>\n<h1 id=\"call-sequence\">Call Sequence</h1>\n<p>When you request data from the RFMS API you are initiating a conversation with the RFMS database installed on premises at your store.  Often, the response from the store will be available within a few seconds.  But, sometimes there will be a delay.  The query may be slow, your database may be experiencing downtime or just be unusually busy.  In this situation, your message is not rejected.  It is still safely waiting its turn to be processed.  </p>\n<p>Depending on your application, this potential delay might be handled in different ways.  You might notify the user that the process has started and allow them to check for results later.  In other cases, no reply may be needed – only the assurance that the request was received and will eventually be processed.  To accommodate these different use cases, most calls to the API are a two-step process:</p>\n<ol>\n<li><p>Initiate the process by POSTing parameters to a particular method.  This call returns immediately with a unique requestId.  Behind the scenes, the request is sent to the store and processed by your RFMS database.  </p>\n</li>\n<li><p>Later, call the same endpoint using GET and the requestId as a parameter.  The API will return the results, if received, or an indication that the store has not yet replied.  The client can repeat the request later to see if results are available.</p>\n</li>\n</ol>\n<h1 id=\"initiating-a-request\">Initiating a Request</h1>\n<p>All methods that use the two-part sequence return a value in this form when submitting a request:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"accepted\": true,\n  \"requestId\": \"3b1882528db749feb7815443740b7157\",\n  \"messages\": []\n}\n</code></pre><p><em>accepted</em> - true means the request was valid and sent to the store</p>\n<p><em>requestId</em> – the unique identifier for this request, used to retrieve results</p>\n<p><em>messages</em> - one or more messages - usually empty unless accepted = false. In that case, this list will contain one or more business rules violated by the request - the request was rejected and was not sent to the store.</p>\n<h1 id=\"standard-response\">Standard Response</h1>\n<p>Calling the GET method for results always returns a structure like this:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": \"success\",\n  \"result\": {}\n}\n</code></pre><p><em>status</em> indicates whether or not the store has replied.  A value of \"success\" means it has and the results are included as the \"result\" element.  A value of \"waiting\" means the message response has not yet arrived.  Finally, \"failed\" means the database rejected the request, a reason will be included as the result.</p>\n<h1 id=\"understanding-the-examples-below\">Understanding the Examples Below</h1>\n<p>In the documentation that follows, each method is shown as the POST version of the request, and the results shown are the results provided by a subsequent GET.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"This API documentation has been deprecated. Please visit https://api2docs.rfms.online/?version=latest for the latest API documentation.","slug":"this-api-documentation-has-been-deprecated-please-visit-httpsapi2docsrfmsonlineversionlatest-for-the-latest-api-documentation"},{"content":"Call Sequence","slug":"call-sequence"},{"content":"Initiating a Request","slug":"initiating-a-request"},{"content":"Standard Response","slug":"standard-response"},{"content":"Understanding the Examples Below","slug":"understanding-the-examples-below"}],"owner":"1121769","collectionId":"ecbb9564-15a6-9631-cefc-90a516a432db","publishedId":"RVg597is","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2018-02-28T19:16:41.000Z"},"item":[{"name":"Authentication","item":[{"name":"Begin a new session","id":"619ee569-9f9d-f499-b6b5-55915463c4be","request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}],"advancedConfig":[{"key":"showPassword","value":"<show-password>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[]},"url":"https://api.rfms.online/v1/session/begin","description":"<p>Request a session token to be used by all other API methods.  This method has no parameters.  Instead, use Basic Auth using your Store API Credentials, provided by RFMS support when you subscribe to the service.</p>\n","urlObject":{"protocol":"https","path":["v1","session","begin"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"aa69eeae-8986-5729-a31b-a823587ed92d","name":"Begin a new session","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[]},"url":"https://api.rfms.online/v1/session/begin"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":"0","body":"{\n\t\"authorized\": true,\n\t\"sessionToken\": \"1598c4a37c1c54552732bb907013176d\",\n\t\"sessionExpires\": \"3/5/2018 7:00:39 PM +00:00\"\n}"}],"_postman_id":"619ee569-9f9d-f499-b6b5-55915463c4be"}],"id":"1598c4a3-7c1c-5455-2732-bb907013176d","description":"<p>All API methods require a session token.  The session token authorizes access to your store database as well as identifying a specific user at your store the API methods should impersonate.  </p>\n<p>To acquire a session token, first sign into RFMS Online Services to generate or view your Store API Credentials.  Call the \"Begin session\" method (below) with those credentials to generate a session token.  The session token can be used for a limited time.  It will expire automatically but is extended each time a method is called.</p>\n<p>The session token must be sent with all API requests as the password using HTTP Basic Auth.  User name should be set using the same user name you used in the first step.</p>\n","_postman_id":"1598c4a3-7c1c-5455-2732-bb907013176d"},{"name":"Customers","item":[{"name":"Find Customers","id":"24e9009a-d99b-29b2-bc0f-87564b371859","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"formdata","formdata":[]},"url":"https://api.rfms.online/v1/customers/find","description":"<p>Search for customers</p>\n<p>Parameters </p>\n<hr />\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Required</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>searchText</td>\n<td>true</td>\n<td>The supplied text will be found in customer and ship-to name, address, phone, email address and city</td>\n</tr>\n<tr>\n<td>includeCustomers</td>\n<td>false</td>\n<td>Search customers (true by default)</td>\n</tr>\n<tr>\n<td>includeProspects</td>\n<td>false</td>\n<td>Search prospects (true by default)</td>\n</tr>\n<tr>\n<td>includeInactive</td>\n<td>false</td>\n<td>Include inactive customers (false by default)</td>\n</tr>\n<tr>\n<td>startIndex</td>\n<td>false</td>\n<td>Results are returned 10 at a time.  If this value is omitted the first 10 are returned (Index numbers 0 to 9).  To request the next 10, send startIndex = 10, etc.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","customers","find"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"8dd15562-b347-8c7a-fc6e-0d4e82a84f42","name":"Successful Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"searchText\": \"doe\",\n\t\"includeCustomers\": true,\n\t\"includeProspects\": false,\n\t\"includeInactive\": false,\n\t\"startIndex\": 0\n}"},"url":"https://api.rfms.online/v1/customers/find"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":"0","body":"{\n  \"status\": \"success\",\n  \"requestId\": \"3b1882528db749feb7815443740b7157\",\n  \"result\": [\n    {\n      \"customerId\": 32394,  \n      \"customerType\": \"COMMERCIAL\",\n      \"entryType\": \"Customer\",           // \"Customer\" or \"Prospect\"\n      \"customerAddress\": {\n        \"lastName\": \"DOE\",\n        \"firstName\": \"JOHN\",\n        \"address1\": \"1234 MAIN ST\",\n        \"address2\": \"STE 33\",\n        \"city\": \"ANYTOWN\",\n        \"state\": \"CA\",\n        \"postalCode\": \"91332\",\n        \"county\": \"LOS ANGELES\"\n      },\n      \"shipToAddress\": {\n        \"lastName\": \"DOE\",\n        \"firstName\": \"JOHN\",\n        \"address1\": \"1234 MAIN ST\",\n        \"address2\": \"STE 33\",\n        \"city\": \"ANYTOWN\",\n        \"state\": \"CA\",\n        \"postalCode\": \"91332\",\n        \"county\": \"LOS ANGELES\"\n      },\n\t  \"phone1\": \"661-555-1212\",\n\t  \"phone2\": \"818-298-0000\",\n      \"email\": \"john.doe@gmail.com\",\n      \"taxStatus\": \"Tax\",               // \"Tax\", \"Exempt\", or \"Resale\"\n      \"taxMethod\": \"SalesTax\",          // \"SalesTax\", \"UseTax\", or \"LineTax\"\n      \"preferredSalesperson1\": \"BOB\",\n      \"preferredSalesperson2\": \"\"\n    }\n  ]\n}"}],"_postman_id":"24e9009a-d99b-29b2-bc0f-87564b371859"},{"name":"Get Customer","id":"d5ff7688-6c8d-47a8-8931-fe115170ec2f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"formdata","formdata":[]},"url":"https://api.rfms.online/v1/customers/get","description":"<p>Fetch information about one specific customer by ID</p>\n<p>Parameters </p>\n<hr />\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Required</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customerId</td>\n<td>true</td>\n<td>Customer ID of the specific customer to fetch</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","customers","get"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"0a5329ec-ac8b-4b75-8df7-7a0ee18e9663","name":"Successful Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"customerId\": 1234\n}"},"url":"https://api.rfms.online/v1/customers/find"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"result\": {\n        \"customerId\": 1234,\n        \"customerType\": \"CASH & CARRY\",\n        \"entryType\": \"Customer\",\n        \"customerAddress\": {\n            \"lastName\": \"DOE\",\n            \"firstName\": \"JOHN\",\n            \"address1\": \"123 MAIN ST\",\n            \"address2\": \"APT D2\",\n            \"city\": \"BIRMINGHAM\",\n            \"state\": \"AL\",\n            \"postalCode\": \"35243\",\n            \"county\": null\n        },\n        \"shipToAddress\": {\n            \"lastName\": \"DOE\",\n            \"firstName\": \"JOHN\",\n            \"address1\": \"123 MAIN ST\",\n            \"address2\": \"APT D2\",\n            \"city\": \"BIRMINGHAM\",\n            \"state\": \"AL\",\n            \"postalCode\": \"35243\",\n            \"county\": null\n        },\n        \"phone1\": \"205-555-1212\",\n        \"phone2\": \"\",\n        \"email\": \"JOHN.DOE@GOOGLE.COM\",\n        \"taxStatus\": \"Tax\",\n        \"taxMethod\": \"SalesTax\",\n        \"preferredSalesperson1\": \"BOB JONES\",\n        \"preferredSalesperson2\": \"\",\n        \"storeNumber\": 32\n    }\n}"}],"_postman_id":"d5ff7688-6c8d-47a8-8931-fe115170ec2f"},{"name":"Get Customer Values","id":"2386d6d6-f5a1-0bc5-f9d4-fc433a5a6d7c","request":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"https://api.rfms.online/v1/customers","description":"<p>When creating customers, some fields only allow certain values.  This method returns those fields and a list of the allowed values for each.  Note that since this method does not actually communicate with the store, it returns a simple result - not the regular response with status and result.</p>\n","urlObject":{"protocol":"https","path":["v1","customers"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"a690ab24-78e3-4895-9c05-2f08fd0d4ced","name":"Get Customer Values","originalRequest":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"https://api.rfms.online/v1/customers"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":"0","body":"{\n  \"customerType\": [\n    \"ACCOMMODATIONS\",\n    \"CASH & CARRY\",\n    \"COMMERCIAL\",\n    \"INSTALLER\",\n    \"REMODELING\"\n  ],\n  \"entryType\": [\n    \"Customer\",\n    \"Prospect\"\n  ],\n  \"taxStatus\": [\n    \"Tax\",\n    \"Exempt\",\n    \"Resale\"\n  ],\n  \"taxMethod\": [\n    \"SalesTax\",\n    \"UseTax\",\n    \"LineTax\"\n  ],\n  \"preferredSalesperson1\": [\n    \"BOB\",\n    \"ANDREW\",\n    \"HOUSE\",\n    \"FRANK\"\n  ],\n  \"preferredSalesperson2\": [\n    \"BOB\",\n    \"ANDREW\",\n    \"HOUSE\",\n    \"FRANK\"\n  ]\n}"}],"_postman_id":"2386d6d6-f5a1-0bc5-f9d4-fc433a5a6d7c"},{"name":"Create or Update a Customer","id":"209f4236-a2b8-4f9a-33be-1e75bd51336c","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"customerType\": \"COMMERCIAL\",\r\n  \"entryType\": \"Customer\",          \r\n  \"customerAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"shipToAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"phone1\": \"661-555-1212\",\r\n  \"phone2\": \"818-298-0000\",\r\n  \"email\": \"john.doe@gmail.com\",\r\n  \"taxStatus\": \"Tax\",               \r\n  \"taxMethod\": \"SalesTax\",          \r\n  \"preferredSalesperson1\": \"BOB\",\r\n  \"preferredSalesperson2\": \"\",\r\n  \"storeNumber\": 32\r\n}"},"url":"https://api.rfms.online/v1/customers/save","description":"<p>Create a new customer or update an existing one.  When creating a new customer the customerId element should be omitted.</p>\n<p>Some of the values must match a valid selection.  For example, customerType must match one of several specific values.  To see the available values, GET /customers (see above.)</p>\n","urlObject":{"protocol":"https","path":["v1","customers","save"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"a2da8745-3d0a-f177-44d3-525b08985a9e","name":"Create a New Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","name":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"customerType\": \"COMMERCIAL\",\r\n  \"entryType\": \"Customer\",          \r\n  \"customerAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"shipToAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"phone1\": \"661-555-1212\",\r\n  \"phone2\": \"818-298-0000\",\r\n  \"email\": \"john.doe@gmail.com\",\r\n  \"taxStatus\": \"Tax\",               \r\n  \"taxMethod\": \"SalesTax\",          \r\n  \"preferredSalesperson1\": \"BOB\",\r\n  \"preferredSalesperson2\": \"\"\r\n}"},"url":"https://api.rfms.online/v1/customers/save"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":"0","body":""},{"id":"b2d39fdf-a2bc-9d9f-cb83-e95bdc72e1e0","name":"Update a Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","name":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"customerId\": 32394,\r\n  \"customerType\": \"COMMERCIAL\",\r\n  \"entryType\": \"Customer\",          \r\n  \"customerAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"shipToAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"phone1\": \"661-555-1212\",\r\n  \"phone2\": \"818-298-0000\",\r\n  \"email\": \"john.doe@gmail.com\",\r\n  \"taxStatus\": \"Tax\",               \r\n  \"taxMethod\": \"SalesTax\",          \r\n  \"preferredSalesperson1\": \"BOB\",\r\n  \"preferredSalesperson2\": \"\"\r\n}"},"url":"https://api.rfms.online/v1/customers/save"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[],"responseTime":"0","body":""}],"_postman_id":"209f4236-a2b8-4f9a-33be-1e75bd51336c"},{"name":"Create an Opportunity","id":"c695f136-48d2-4ade-aa2e-b402d4a14f22","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"createOrder\": false,\r\n  \"notes\": \"SAMPLE NOTES\",\r\n  \"estimatedDeliveryDate\": \"3/1/2019\",\r\n  \"storeNumber\": 32,\r\n  \"customerType\": \"COMMERCIAL\",\r\n  \"entryType\": \"Customer\",          \r\n  \"customerAddress\": {\r\n  \t\"businessName\": \"ACME\",\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"shipToAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"phone1\": \"661-555-1212\",\r\n  \"phone2\": \"818-298-0000\",\r\n  \"email\": \"john.doe@gmail.com\",\r\n  \"taxStatus\": \"Tax\",               \r\n  \"taxMethod\": \"SalesTax\",          \r\n  \"preferredSalesperson1\": \"BOB\",\r\n  \"preferredSalesperson2\": \"\",\r\n  \"poNumber\": \"12346\",\r\n  \"jobNumber\": \"X22333\"\r\n}"},"url":"https://api.rfms.online/v1/opportunity/save","description":"<p>Create a new customer and a corresponding empty quote or order.  The request is nearly identical to that of Create Customer, but includes a few additional elements that are specific to the document (quote or order) that will be created.  Returns the new document number.</p>\n<h2 id=\"using-an-existing-customer\">Using an existing customer</h2>\n<p>Depending on your store's configuration, an error might occur if a customer already exists with the same name and phone number.  When that occurs, the response will look like this.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"accepted\": false,\n    \"requestId\": \"\",\n    \"messages\": [\n        \"A Sales Lead, Prospect or Customer record with this name and phone number already exists.\",\n        \"existingCustomerId:74028\"\n    ]\n}\n</code></pre><p>You can use this same method to create just the empty quote associated with the existing customer.  To do that, include just the customerId and quote-specific fields, like this:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"customerid\": 74028,\n  \"notes\": \"SAMPLE NOTES\",\n  \"estimatedDeliveryDate\": \"3/1/2019\",\n  \"storeNumber\": 32,\n  \"preferredSalesperson1\": \"BOB\",\n  \"preferredSalesperson2\": \"\"\n}\n</code></pre><p>When using an existing customer, you can still optionally override the ship-to address by including the ship-to element, like this:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"customerid\": 74028,\n  \"shipTo\": { ... },\n  ...\n}\n</code></pre><h2 id=\"using-bidpro\">Using BidPro</h2>\n<p>Rather than creating a corresponding quote, you can also create a blank BidPro estimate. To do this, include the following elements in your message:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"useBidPro\": true,\n  \"modelName\": \"OPPORTUNITY\",\n  ...\n}\n</code></pre><p>Model name is a required field for many stores when creating a BidPro estimate. You can pass any value you like for that and it will be included in the estimate.</p>\n<h2 id=\"providing-a-custom-document-number\">Providing a custom document number</h2>\n<p>Normally, RFMS will generate a new quote, order, or estimate number.  However, you can send the one you would like to use. Simply include this attribute:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"documentNumber\": \"ABC123\",\n  ...\n}\n</code></pre><p>Your store must be configured to allow this. </p>\n<h2 id=\"business-name-behavior\">Business name behavior</h2>\n<p>The opportunity accepts a businessName for soldTo and shipTo, and if provided it will be recorded on the customer that is created.  However, quotes and orders do not have this field.  </p>\n<p>If businessName is provided for an address, it will be used as the lastName on the quote or order, and the firstName will be left blank.</p>\n","urlObject":{"protocol":"https","path":["v1","opportunity","save"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"0ff8c462-e53f-4cea-bdba-79aa2446ca7f","name":"Create a New Opportunity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","name":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"createOrder\": false,\r\n  \"notes\": \"SAMPLE NOTES\",\r\n  \"estimatedDeliveryDate\": \"3/1/2019\",\r\n  \"storeNumber\": 32,\r\n  \"customerType\": \"COMMERCIAL\",\r\n  \"entryType\": \"Customer\",          \r\n  \"customerAddress\": {\r\n  \t\"businessName\": \"ACME\",\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"shipToAddress\": {\r\n    \"lastName\": \"DOE\",\r\n    \"firstName\": \"JOHN\",\r\n    \"address1\": \"1234 MAIN ST\",\r\n    \"address2\": \"STE 33\",\r\n    \"city\": \"ANYTOWN\",\r\n    \"state\": \"CA\",\r\n    \"postalCode\": \"91332\",\r\n    \"county\": \"LOS ANGELES\"\r\n  },\r\n  \"phone1\": \"661-555-1212\",\r\n  \"phone2\": \"818-298-0000\",\r\n  \"email\": \"john.doe@gmail.com\",\r\n  \"taxStatus\": \"Tax\",               \r\n  \"taxMethod\": \"SalesTax\",          \r\n  \"preferredSalesperson1\": \"BOB\",\r\n  \"preferredSalesperson2\": \"\",\r\n  \"poNumber\": \"12346\",\r\n  \"jobNumber\": \"X22333\"\r\n}"},"url":"https://api.rfms.online/v1/opportunity/save"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"result\": \"ES803274\"\n}"}],"_postman_id":"c695f136-48d2-4ade-aa2e-b402d4a14f22"}],"id":"0efbbdff-2f3a-a337-fbf6-68218ff832a7","description":"<p>Access Customer information</p>\n","_postman_id":"0efbbdff-2f3a-a337-fbf6-68218ff832a7"},{"name":"Order Entry","item":[{"name":"Get Quote","id":"75cf0d77-9a1d-4394-9bba-1a2a87fbb06b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"number\": \"ES600001\"\n}"},"url":"https://api.rfms.online/v1/quote/get","description":"<p>Retrieve a specific quote.</p>\n","urlObject":{"protocol":"https","path":["v1","quote","get"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"c2dfa7ba-e864-4a9f-b03f-64229e55ac4b","name":"Successful","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"number\": \"ES600001\"\n}"},"url":"https://api.rfms.online/v1/quote/get"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"result\": {\n        \"isExportedToOrder\": false,\n        \"quoteDate\": \"2019-04-04\",\n        \"id\": \"35103\",\n        \"number\": \"ES600001\",\n        \"originalNumber\": \"ES903052\",\n        \"category\": \"OriginalInvoice\",\n        \"soldTo\": {\n            \"customerId\": 74012,\n            \"phone1\": \"111-222-3333\",\n            \"phone2\": \"\",\n            \"email\": \"ESVTEST@LIVE.COM\",\n            \"customerType\": \"CASH & CARRY\",\n            \"lastName\": \"\",\n            \"firstName\": \"VIRGINIA\",\n            \"address1\": \"\",\n            \"address2\": \"\",\n            \"city\": \"\",\n            \"state\": \"\",\n            \"postalCode\": \"\",\n            \"county\": \"\"\n        },\n        \"shipTo\": {\n            \"lastName\": \"\",\n            \"firstName\": \"\",\n            \"address1\": \"\",\n            \"address2\": \"\",\n            \"city\": \"\",\n            \"state\": \"\",\n            \"postalCode\": \"\",\n            \"county\": \"\"\n        },\n        \"salesperson1\": \"ERIC VELAND\",\n        \"salesperson2\": \"\",\n        \"salespersonSplitPercent\": 100,\n        \"storeCode\": \" \",\n        \"jobNumber\": \"\",\n        \"poNumber\": \"\",\n        \"privateNotes\": \"\",\n        \"publicNotes\": \"\",\n        \"workOrderNotes\": \"\",\n        \"estimatedDeliveryDate\": \"\",\n        \"enteredDate\": \"2019-04-04\",\n        \"measureDate\": \"\",\n        \"taxStatus\": \"Tax\",\n        \"taxMethod\": \"SalesTax\",\n        \"adSource\": null,\n        \"totals\": {\n            \"material\": 2154.6,\n            \"labor\": 0,\n            \"misc\": 0,\n            \"total\": 2370.06,\n            \"salesTax\": 215.46,\n            \"miscTax\": 0,\n            \"grandTotal\": 2370.06,\n            \"recycleFee\": 0\n        },\n        \"lines\": [\n            {\n                \"id\": 214561,\n                \"lineNumber\": 1,\n                \"productCode\": \"01\",\n                \"rollItemNumber\": \"\",\n                \"styleName\": \"ALLESANDRO II 30 - 12'\",\n                \"colorName\": \"BAR HARBOR\",\n                \"supplierName\": \"MOHAWK INDUSTRIES\",\n                \"quantity\": 540,\n                \"saleUnits\": \"SF\",\n                \"freight\": 0,\n                \"unitPrice\": 3.99,\n                \"total\": 2154.6,\n                \"isUseTaxLine\": false,\n                \"notes\": \"\"\n            }\n        ],\n        \"storeSpecific\": null\n    },\n    \"detail\": null\n}"}],"_postman_id":"75cf0d77-9a1d-4394-9bba-1a2a87fbb06b"},{"name":"Get Order","id":"464e5069-031d-4a22-9720-6bfbae70bb4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"number\": \"CG100100\"\n}"},"url":"https://api.rfms.online/v1/order/get","description":"<p>Retrieve a specific order. </p>\n","urlObject":{"protocol":"https","path":["v1","order","get"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"ffded7fc-d50f-46ef-bccb-8ecbec576d48","name":"Get Order","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"number\": \"CG100100\"\n}"},"url":"https://api.rfms.online/v1/order/get"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"result\": {\n        \"id\": \"82950\",\n        \"number\": \"CG903341\",\n        \"originalNumber\": \"ES903071\",\n        \"category\": \"WebOrder\",\n        \"soldTo\": {\n            \"customerId\": 71804,\n            \"phone1\": \"808-567-4532\",\n            \"phone2\": \"\",\n            \"email\": \"ESVTEST@LIVE.COM\",\n            \"customerType\": \"BUILDER\",\n            \"lastName\": \"\",\n            \"firstName\": \"JOHN\",\n            \"address1\": \"1 BUILDER WAY\",\n            \"address2\": \"APT 2\",\n            \"city\": \"BILLABONG\",\n            \"state\": \"HI\",\n            \"postalCode\": \"96722\",\n            \"county\": \"\"\n        },\n        \"shipTo\": {\n            \"lastName\": \"BUILDER\",\n            \"firstName\": \"JOHN\",\n            \"address1\": \"\",\n            \"address2\": \"\",\n            \"city\": \"\",\n            \"state\": \"\",\n            \"postalCode\": \"\",\n            \"county\": \"\"\n        },\n        \"salesperson1\": \"ERIC VELAND\",\n        \"salesperson2\": \"\",\n        \"salespersonSplitPercent\": 100,\n        \"storeCode\": \" \",\n        \"jobNumber\": \"\",\n        \"poNumber\": \"\",\n        \"privateNotes\": \"\",\n        \"publicNotes\": \"<div>\\n<div>\\n<p style=\\\"margin:0pt 0pt 0pt 0pt;line-height:normal;\\\"><span style=\\\"font-family:'Times New Roman';font-size:12pt;color:#000000;;\\\">I am doing stuff to your floors (custom note)</span></p>\\n</div>\\n</div>\",\n        \"workOrderNotes\": \"<div>\\n<div>\\n<p style=\\\"margin:0pt 0pt 0pt 0pt;line-height:normal;\\\"><span style=\\\"font-family:'Times New Roman';font-size:12pt;color:#000000;;\\\">I am doing stuff to your floors</span></p>\\n</div>\\n</div>\",\n        \"estimatedDeliveryDate\": \"2019-07-19\",\n        \"enteredDate\": \"2019-04-18\",\n        \"measureDate\": \"2019-04-25\",\n        \"taxStatus\": \"Tax\",\n        \"taxMethod\": \"SalesTax\",\n        \"adSource\": null,\n        \"totals\": {\n            \"material\": 6801.72,\n            \"labor\": 0,\n            \"misc\": 0,\n            \"total\": 7481.89,\n            \"salesTax\": 680.17,\n            \"miscTax\": 0,\n            \"grandTotal\": 7481.89,\n            \"recycleFee\": 0\n        },\n        \"lines\": [\n            {\n                \"id\": 200379,\n                \"lineNumber\": 1,\n                \"productCode\": \"01\",\n                \"rollItemNumber\": \"\",\n                \"styleName\": \"AMERICANA - 12'\",\n                \"colorName\": \"BAJADA\",\n                \"supplierName\": \"MASLAND\",\n                \"quantity\": 540,\n                \"saleUnits\": \"SF\",\n                \"freight\": 0,\n                \"unitPrice\": 12.29,\n                \"total\": 6636.6,\n                \"isUseTaxLine\": false,\n                \"notes\": \"\",\n                \"status\": \"GeneratePurchaseOrder\",\n                \"inTransit\": false,\n                \"promiseDate\": \"\"\n            },\n            {\n                \"id\": 200380,\n                \"lineNumber\": 2,\n                \"productCode\": \"01\",\n                \"rollItemNumber\": \"\",\n                \"styleName\": \"CALL TO THE POST - 12'\",\n                \"colorName\": \"MAIZE\",\n                \"supplierName\": \"DIXIE HOME RETAIL\",\n                \"quantity\": 48,\n                \"saleUnits\": \"SF\",\n                \"freight\": 0,\n                \"unitPrice\": 3.35,\n                \"total\": 160.8,\n                \"isUseTaxLine\": false,\n                \"notes\": \"\",\n                \"status\": \"GeneratePurchaseOrder\",\n                \"inTransit\": false,\n                \"promiseDate\": \"\"\n            },\n            {\n                \"id\": 200381,\n                \"lineNumber\": 3,\n                \"productCode\": \"01\",\n                \"rollItemNumber\": \"C32511665\",\n                \"styleName\": \"NASSAU TURF\",\n                \"colorName\": \"RED/BLACK\",\n                \"supplierName\": \"GCO\",\n                \"quantity\": 12,\n                \"saleUnits\": \"SF\",\n                \"freight\": 0,\n                \"unitPrice\": 0.36,\n                \"total\": 4.32,\n                \"isUseTaxLine\": false,\n                \"notes\": \"\",\n                \"status\": \"Cut\",\n                \"inTransit\": false,\n                \"promiseDate\": \"\"\n            },\n            {\n                \"id\": 200382,\n                \"lineNumber\": 4,\n                \"productCode\": \"80\",\n                \"rollItemNumber\": \"\",\n                \"styleName\": \"DOING STUFF\",\n                \"colorName\": \"\",\n                \"supplierName\": \"** FROM RM **\",\n                \"quantity\": 0,\n                \"saleUnits\": \"\",\n                \"freight\": 0,\n                \"unitPrice\": 0,\n                \"total\": 0,\n                \"isUseTaxLine\": false,\n                \"notes\": \"<div>\\n<div>\\n<p style=\\\"margin:0pt 0pt 0pt 0pt;line-height:normal;\\\"><span style=\\\"font-family:'Times New Roman';font-size:12pt;color:#000000;;\\\">I am doing stuff to your floors (Line Item note)</span></p>\\n</div>\\n</div>\",\n                \"status\": \"None\",\n                \"inTransit\": false,\n                \"promiseDate\": \"\"\n            }\n        ],\n        \"storeSpecific\": null,\n        \"orderDate\": \"2019-04-18\",\n        \"deliveryDate\": \"\",\n        \"dueDate\": \"\",\n        \"closedDate\": \"\",\n        \"billedDate\": \"\",\n        \"completedDate\": \"\",\n        \"payment\": {\n            \"paidDate\": \"\",\n            \"paidAmount\": 0,\n            \"balanceDue\": 7481.89\n        }\n    },\n    \"detail\": null\n}"}],"_postman_id":"464e5069-031d-4a22-9720-6bfbae70bb4b"},{"name":"Update Quote","id":"27289080-a4c9-440d-9c92-ac4ff6ec37cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"quote\": {\n        \"number\": \"CG903368\",\n        \"poNumber\": \"987654\",\n        \"adSource\": \"BILLBOARD\",\n        \"quoteDate\": \"2019-07-01\",\n        \"estimatedDeliveryDate\": \"2019-08-01\",\n        \"jobNumber\": \"ABC123\",\n        \"soldTo\": { \"customerType\": \"DECORATOR\" },\n        \"storeNumber\": 50,\n        \"privateNotes\": \"PRIVATE\",\n        \"publicNotes\": \"PUBLIC\",\n        \"workOrderNotes\": \"WORK ORDER NOTES\",\n        \"salesperson1\": \"JOHN\",\n        \"salesperson2\": \"FRANK\"\n    }\n}"},"url":"https://api.rfms.online/v1/quote/save","description":"<p>All elements other than \"number\" are optional.  Only include those elements you want to modify.  All others, or those with a value of null, will be ignored and the existing value on the quote will remain unchanged.</p>\n","urlObject":{"protocol":"https","path":["v1","quote","save"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[],"_postman_id":"27289080-a4c9-440d-9c92-ac4ff6ec37cb"},{"name":"Update Order","id":"03445605-31af-44ec-8f3b-8534607f2145","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"order\": {\n        \"number\": \"CG903368\",\n        \"poNumber\": \"987654\",\n        \"adSource\": \"BILLBOARD\",\n        \"orderDate\": \"2019-07-01\",\n        \"estimatedDeliveryDate\": \"2019-08-01\",\n        \"jobNumber\": \"ABC123\",\n        \"soldTo\": { \"customerType\": \"DECORATOR\" },\n        \"storeNumber\": 50,\n        \"privateNotes\": \"PRIVATE\",\n        \"publicNotes\": \"PUBLIC\",\n        \"workOrderNotes\": \"WORK ORDER NOTES\",\n        \"salesperson1\": \"JOHN\",\n        \"salesperson2\": \"FRANK\"\n    }\n}"},"url":"https://api.rfms.online/v1/order/save","description":"<p>All elements other than \"number\" are optional.  Only include those elements you want to modify.  All others, or those with a value of null, will be ignored and the existing value on the order will remain unchanged.</p>\n","urlObject":{"protocol":"https","path":["v1","order","save"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[],"_postman_id":"03445605-31af-44ec-8f3b-8534607f2145"},{"name":"Record Payment","id":"417ec72a-a632-45bd-80d9-b13479985206","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"documentNumber\": \"CG903367\",\n\t\"paymentMethod\": \"creditcard\",\n\t\"paymentAmount\": 10.00,\n\t\"approvalCode\": \"12345\",\n\t\"receiptAccountId\": 2\n}"},"url":"https://api.rfms.online/v2/payment","description":"<p>Attach a record of payment to an existing quote or order.  </p>\n<p>Note that this method is associated with the /v2 path.  Unlike the /v1 methods, this action does not require a POST/GET sequence and instead returns results immediately.</p>\n","urlObject":{"protocol":"https","path":["v2","payment"],"host":["api","rfms","online"],"query":[],"variable":[]}},"response":[{"id":"64fddf34-d76b-4c36-a5a0-74fc8a223f25","name":"Record Payment","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"documentNumber\": \"CG903367\",\n\t\"paymentMethod\": \"creditcard\",\n\t\"paymentAmount\": 10.00,\n\t\"approvalCode\": \"12345\",\n\t\"receiptAccountId\": 2\n}"},"url":"https://api.rfms.online/v2/payment"},"status":"OK","code":200,"_postman_previewlanguage":"html","header":[{"key":"Content-Length","value":"103"},{"key":"Content-Type","value":"text/html"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Tue, 06 Aug 2019 21:18:55 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"result\": {\n        \"InvoiceNumber\": \"CG903367\",\n        \"Balance\": 9637.73\n    }\n}"}],"_postman_id":"417ec72a-a632-45bd-80d9-b13479985206"}],"id":"a6c3a9ee-9e91-4f74-bd19-0606bec6467f","description":"<p><em>The methods in this section require the \"Plus\" level of the API product.</em>  Requests from \"Standard\" API accounts will return Unauthorized.</p>\n","event":[{"listen":"prerequest","script":{"id":"597e3b9a-c2dd-4939-8bad-da9949d51ff6","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"7554ec69-cede-41d9-b767-4b28b67c8722","type":"text/javascript","exec":[""]}}],"_postman_id":"a6c3a9ee-9e91-4f74-bd19-0606bec6467f"}],"event":[{"listen":"prerequest","script":{"id":"61397d94-0cac-4dfb-9ce6-dfab24e987dd","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"22e105af-74c5-4f97-ad4c-f70fe0d5607c","type":"text/javascript","exec":[""]}}]}