OpenAPI Specification
swagger: '2.0'
info:
version: '1.0'
title: NewStore address profiles API
description: NewStore public APIs
contact:
email: support@newstore.com
name: NewStore API Support
url: https://developer.newstore.com
host: dodici-demo.p.newstore.net
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
security: []
tags:
- name: profiles
description: Clienteling Profiles
paths:
/clienteling/profiles:
get:
description: List all clienteling profiles.
summary: listProfiles
tags:
- profiles
operationId: listProfiles
deprecated: false
produces:
- application/problem+json
- application/json
parameters:
- name: next_page_token
in: query
required: false
type: string
description: Pagination token that encodes the information required to retrieve the next page of profiles.
- name: page_size
in: query
required: false
default: 100
type: integer
format: int64
minimum: 1.0
maximum: 1000.0
exclusiveMaximum: false
exclusiveMinimum: false
description: Number of profiles to be returned in a page.
responses:
default:
description: Error response.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: List of clienteling profiles.
schema:
$ref: '#/definitions/Profiles'
headers: {}
'429':
description: Too Many Requests
schema:
$ref: '#/definitions/Problem'
headers:
Retry-After:
type: string
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/Problem'
headers: {}
'502':
description: Bad Gateway
schema:
$ref: '#/definitions/Problem'
headers: {}
'503':
description: Service Unavailable
schema:
$ref: '#/definitions/Problem'
headers: {}
security:
- oauth:
- clienteling:profile:read
/clienteling/profiles/{customer_id}:
get:
description: Get a single clienteling profile.
summary: showProfile
tags:
- profiles
operationId: showProfile
deprecated: false
produces:
- application/problem+json
- application/json
parameters:
- name: customer_id
in: path
required: true
type: string
description: The identifier of the customer.
responses:
default:
description: Error response.
schema:
$ref: '#/definitions/Problem'
headers: {}
'200':
description: Clienteling profile.
schema:
$ref: '#/definitions/Profile'
headers: {}
'429':
description: Too Many Requests
schema:
$ref: '#/definitions/Problem'
headers:
Retry-After:
type: string
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/Problem'
headers: {}
'502':
description: Bad Gateway
schema:
$ref: '#/definitions/Problem'
headers: {}
'503':
description: Service Unavailable
schema:
$ref: '#/definitions/Problem'
headers: {}
security:
- oauth:
- clienteling:profile:read
definitions:
Problem:
title: Problem
type: object
properties:
detail:
description: A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
example: some description for the error situation
type: string
error_code:
type: string
instance:
description: A URI reference that identifies the specific occurrence of the problem, e.g. by adding a fragment identifier or sub-path to the problem type. May be used to locate the root of this problem in the source code.
example: /some/uri-reference#specific-occurrence-context
type: string
message:
type: string
messages:
type: array
items:
type: string
request_id:
type: string
status:
description: The HTTP status code generated by the origin server for this occurrence of the problem.
type: integer
minimum: 100.0
maximum: 600.0
exclusiveMaximum: true
format: int32
title:
description: A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
example: some title for the error situation
type: string
type:
description: A URI reference that uniquely identifies the problem type only in the context of the provided API. Opposed to the specification in RFC-7807, it is neither recommended to be dereferenceable and point to a human-readable documentation nor globally unique for the problem type.
example: /some/uri-reference
type: string
default: about:blank
OptInState:
title: OptInState
description: The current opt-in state for this store.
type: string
enum:
- accepted
- waiting
- rejected
Meta:
title: Meta
description: Additional response information.
example:
next_page_token: abcfed
type: object
properties:
next_page_token:
description: 'Token that can be used to retrieve the next page of results.
If this field is null, the last page of the results has been reached.'
type: string
required:
- next_page_token
Profiles:
title: Profiles
description: Clienteling profile information for multiple customers.
example:
meta:
next_page_token: abcfed
profiles:
- customer_id: 123e4567-e89b-12d3-a456-426614174000
opted_in:
store_123:
opt_in_state: accepted
opt_in_state_modified_at: '2024-03-20T15:30:00Z'
opted_out: false
opted_out_at: null
phone_number: '+1234567890'
- customer_id: 987fcdeb-51d3-12a4-b678-426614174111
opted_in:
store_456:
opt_in_state: rejected
opt_in_state_modified_at: '2024-03-19T10:15:00Z'
opted_out: true
opted_out_at: '2024-03-19T10:15:00Z'
phone_number: '+1987654321'
type: object
properties:
meta:
type: object
allOf:
- $ref: '#/definitions/Meta'
- description: Additional response information.
example:
next_page_token: abcfed
profiles:
type: array
items:
$ref: '#/definitions/Profile'
required:
- meta
- profiles
Profile:
title: Profile
description: Clienteling profile information for a customer.
example:
customer_id: 123e4567-e89b-12d3-a456-426614174000
opted_in:
store_123:
opt_in_state: accepted
opt_in_state_modified_at: '2024-03-20T15:30:00Z'
store_456:
opt_in_state: waiting
opt_in_state_modified_at: '2024-03-18T09:00:00Z'
opted_out: false
opted_out_at: null
phone_number: '+1234567890'
type: object
properties:
customer_id:
description: The identifier of the customer.
type: string
format: uuid
opted_in:
description: The opt-in status for the customer per store.
type: object
additionalProperties:
$ref: '#/definitions/OptedIn'
opted_out:
description: Whether the customer has opted out.
type: boolean
opted_out_at:
description: The date when the customer opted out.
type: string
format: date-time
phone_number:
description: The phone number of the customer.
type: string
required:
- customer_id
- opted_in
- opted_out
- opted_out_at
- phone_number
OptedIn:
title: OptedIn
description: Opt-in status information for a conversation between a customer and a store.
example:
opt_in_state: accepted
opt_in_state_modified_at: '2025-01-03T18:03:00Z'
type: object
properties:
opt_in_state:
type: object
allOf:
- $ref: '#/definitions/OptInState'
- description: The current opt-in state for this store.
opt_in_state_modified_at:
description: Timestamp when the opt-in state was last modified.
type: string
format: date-time
required:
- opt_in_state
- opt_in_state_modified_at
securityDefinitions:
oauth:
type: oauth2
flow: application
tokenUrl: https://id.p.newstore.net/auth/realms/dodici-demo/protocol/openid-connect/token
scopes:
catalog:import-schemas:read: Grants privileges to read import schema
catalog:import-schemas:write: Grants privileges to write import schema
catalog:pricebook-export:read: Grants privileges to export pricebook data
catalog:product-export:read: Grants privileges to export product data
checkout:carts:read: Grants privileges to read cart data
checkout:carts:write: Grants privileges to write cart data
clienteling:profile:read: Grants privileges to read clienteling profiles
customer:profile:read: Grants privileges to read API customer data
customer:profile:write: Grants privileges to modify API customer data
newstore:configuration:read: Grants privileges to read configuration
newstore:configuration:write: Grants privileges to write configuration
fiscalization:orders:read: View orders with fiscal transactions and signatures
fiscalization:orders:write: Create orders with fiscal transactions and signatures
shipments:read: Read Shipping Options and Audits
iam:providers:read: ' Grants read privileges to provider resources'
iam:providers:write: ' Grants write privileges to provider resources'
iam:roles:read: ' Grants privileges to read roles data'
iam:roles:write: ' Grants privileges to write roles data'
iam:users:read: ' Grants privileges to read user data'
iam:users:write: ' Grants privileges to write user data'
inventory:reservations:read: Allows access to retrieve reservations
inventory:reservations:write: Allows access to create and update reservations
promotions:config:read: Grants privileges to read configuration
promotions:config:write: Grants privileges to write into configuration
promotions:reason-codes:read: Grants privileges to list reason codes
promotions:reason-codes:write: Grants privileges to create and update reason codes
audit-events:read: Grants read access to the tenant's audit events.
taxes:preview-transactions:write: Preview tax transactions
taxes:transactions:read: Read tax transactions