/sales/addresses
Path: /sales/addresses
Namespace: sales
Resource: addresses
Overview
The Address resource in the sales namespace provides access to customers and business partners for sales operations. Addresses can be used as buyers in sales invoices.
Key Difference from Admin: Sales namespace provides sales-focused access to addresses, typically used as buyers in sales invoices.
Relationships
See Admin Addresses for complete relationship documentation. Sales addresses use the same Address model with sales-focused access.
Key Features
- Sales-Focused Access: Access to addresses for sales operations
- Buyer Management: Manage customer addresses for sales invoices
- Same Address Model: Uses the same unified Address model as admin namespace
Available Operations
List Addresses (GET)
Endpoint: GET /sales/addresses.json
Query Parameters:
q[field_predicate]=value- Ransack query filters for advanced filteringscope=name- Apply named scope (e.g.,buyers,sellers)page=N- Page number for paginationper_page=N- Items per page (default: 25)
Request Examples:
curl -X GET "https://your-company.erpax.com/sales/addresses.json" \
-H "Accept: application/json" \
-H "Cookie: session_cookie"curl -X GET "https://your-company.erpax.com/sales/addresses.json?scope=buyers" \
-H "Accept: application/json"JavaScript Example:
const response = await fetch('/sales/addresses.json', {
credentials: 'include',
headers: { 'Accept': 'application/json' }
});
const data = await response.json();Response (200 OK):
{
"addresses": [
{
"id": 1,
"code": "CUST-001",
"name": "John Doe",
"company": "Acme Corp",
"email": "[email protected]",
"created_at": "2024-01-10T10:00:00Z"
}
],
"meta": {
"current_page": 1,
"per_page": 25,
"total_pages": 3,
"total_count": 67
}
}Show Address (GET /:id)
Endpoint: GET /sales/addresses/:id.json
Request Example:
curl -X GET "https://your-company.erpax.com/sales/addresses/1.json" \
-H "Accept: application/json" \
-H "Cookie: session_cookie"Response (200 OK):
{
"address": {
"id": 1,
"code": "CUST-001",
"name": "John Doe",
"company": "Acme Corp",
"email": "[email protected]",
"phone": "+1-555-0123",
"address1": "123 Main St",
"city": "New York",
"country_code": "US",
"currency_code": "USD"
}
}Create Address (POST)
Endpoint: POST /sales/addresses.json
Request Example:
curl -X POST "https://your-company.erpax.com/sales/addresses.json" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Cookie: session_cookie" \
-d '{
"address": {
"code": "CUST-002",
"name": "Jane Smith",
"company": "Tech Solutions Inc",
"email": "[email protected]",
"phone": "+1-555-0456",
"address1": "456 Oak Ave",
"city": "San Francisco",
"country_code": "US",
"currency_code": "USD"
}
}'Response (201 Created):
{
"address": {
"id": 2,
"code": "CUST-002",
"name": "Jane Smith",
"created_at": "2024-01-15T14:30:00Z"
}
}Update Address (PATCH /:id)
Endpoint: PATCH /sales/addresses/:id.json
Request Example:
curl -X PATCH "https://your-company.erpax.com/sales/addresses/1.json" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Cookie: session_cookie" \
-d '{
"address": {
"email": "[email protected]"
}
}'JavaScript Example:
const response = await fetch('/sales/addresses/1.json', {
method: 'PATCH',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
address: {
email: '[email protected]'
}
})
});
const data = await response.json();Response (200 OK):
{
"address": {
"id": 1,
"email": "[email protected]",
"updated_at": "2024-01-15T15:00:00Z"
}
}Delete Address (DELETE /:id)
Endpoint: DELETE /sales/addresses/:id.json
Request Example:
curl -X DELETE "https://your-company.erpax.com/sales/addresses/1.json" \
-H "Accept: application/json" \
-H "Cookie: session_cookie"JavaScript Example:
const response = await fetch('/sales/addresses/1.json', {
method: 'DELETE',
credentials: 'include',
headers: { 'Accept': 'application/json' }
});Response (204 No Content):
(empty response)Scopes
See Admin Addresses for complete scope documentation. Sales namespace supports the same scopes as admin namespace.
Filters
See Admin Addresses for complete filter documentation. Sales namespace supports the same filters as admin namespace.
Business Rules
- Sales-Focused Access: Access is limited to sales-related operations
- Buyer Management: Addresses are typically used as buyers in sales invoices
- Same Business Rules: Follows the same business rules as admin namespace addresses
Related Resources
- Admin Addresses - Complete address documentation with all features
- Sales Invoices - Use addresses as buyers in invoices
- Sales Items - Item management in sales namespace