Newstore EasypostAdapterConfig API

Easypost Adapter Configuration

OpenAPI Specification

newstore-easypostadapterconfig-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: '1.0'
  title: NewStore address EasypostAdapterConfig 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: EasypostAdapterConfig
  description: Easypost Adapter Configuration
paths:
  /fulfillment/adapters/config:
    delete:
      description: Deletes the shipping configuration of the retailer that is integrated with the EasyPost adapter.
      summary: destroyEasypostAdapterConfig
      tags:
      - EasypostAdapterConfig
      operationId: destroyEasypostAdapterConfig
      deprecated: false
      produces:
      - application/problem+json
      parameters: []
      responses:
        default:
          description: Unexpected Error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '204':
          description: Successfully deleted.
          headers: {}
        '401':
          description: Unauthorized
          headers: {}
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal Server Error
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - newstore:configuration:write
    get:
      description: 'Retrieves the shipping configuration of the retailer that is integrated with the EasyPost adapter. Credentials are redacted but you can still push the configuration using the PUT endpoint with the REDACTED value: we will use the current value. A new value will be validated before saving the configuration.'
      summary: showEasypostAdapterConfig
      tags:
      - EasypostAdapterConfig
      operationId: showEasypostAdapterConfig
      deprecated: false
      produces:
      - application/problem+json
      - application/json
      parameters: []
      responses:
        default:
          description: Unexpected Error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '200':
          description: EasyPost shipping configuration.
          schema:
            $ref: '#/definitions/EasypostAdapterConfig'
          headers: {}
        '401':
          description: Unauthorized
          headers: {}
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal Server Error
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - newstore:configuration:read
    put:
      description: 'Creates or updates the shipping configuration of the retailer that is integrated with the EasyPost adapter. Any current data in the existing configuration is overwritten using this request.


        A few notes on this configuration:


        * When an account has a large number of carrier accounts, please do associate a Fulfillment Node to a Carrier Account. Not doing so will result in long response time, waste of resources, extra easypost charges and possibly order injection issues.

        * Once the easypost API Key has been set, it is forbidden to change it. This is to prevent options that were already generated to become completely invalid in case the api key isn''t from the same account. If you really need to change this key, please open a case in the NewStore Support Portal and we will discuss the best way to do that.

        '
      summary: replaceEasypostAdapterConfig
      tags:
      - EasypostAdapterConfig
      operationId: replaceEasypostAdapterConfig
      deprecated: false
      produces:
      - application/problem+json
      - application/json
      consumes:
      - application/json
      parameters:
      - name: Content-Type
        in: header
        required: false
        enum:
        - application/json
        type: string
        description: ''
      - name: body
        in: body
        required: false
        description: ''
        schema:
          $ref: '#/definitions/EasypostAdapterConfig'
      responses:
        default:
          description: Unexpected Error
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '200':
          description: EasyPost shipping configuration.
          schema:
            $ref: '#/definitions/EasypostAdapterConfig'
          headers: {}
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '401':
          description: Unauthorized
          headers: {}
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '429':
          description: Too Many Requests
          schema:
            $ref: '#/definitions/Problem'
          headers:
            Retry-After:
              type: string
        '500':
          description: Internal Server Error
          headers: {}
        '502':
          description: Bad Gateway
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/Problem'
          headers: {}
      security:
      - oauth:
        - newstore:configuration:write
definitions:
  EasypostAdapterConfig:
    title: EasypostAdapterConfig
    type: object
    properties:
      base_customization_url:
        description: The customization webhook URL to customize the data used to create the shipment.
        type: string
      carrier_accounts:
        description: The name of the shipping carrier in lowercase.
        example:
          fedex:
            newstore_fulfillment_node_id: 'ca_xxxxxx: easypost carrier account id'
        type: object
        additionalProperties:
          type: string
      easypost_api_key:
        description: The API key provided by EasyPost.
        type: string
      ignore_customization_failure_on_booking:
        description: If set to true, the EasyPost adapter books a shipment with non-customized data if the call to the "base customization URL" fails. If set to false, the shipment is not booked if the call to the "base customization URL" fails. The value of the flag does not affect the processing of shipping options for the shipment.
        type: boolean
      newstore_password:
        description: the password provided by NewStore.
        type: string
      newstore_url:
        description: 'Optional: The base URL to NewStore API. This is used to push package status update from carriers.'
        type: string
      newstore_username:
        description: The username provided by NewStore.
        type: string
      shipment_creation_options:
        description: The name of the shipping carrier in lowercase.
        example:
          fedex:
            easypost_option_key: 'easypost_option_value: see https://docs.easypost.com/docs/shipments/options#options-object'
        type: object
        additionalProperties: {}
    required:
    - easypost_api_key
  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
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