swagger: '2.0' info: description: The IOM GDPR REST API supports programmatic access to GDPR related objects. version: 2.9.0.0 title: IOM GDPR REST API contact: name: Intershop Communications AG url: 'http://intershop.com' basePath: /rest/gdpr tags: - name: Objects schemes: - http - https paths: '/shops/{shopName}/customers/{shopCustomerNumber}': get: tags: - Objects summary: Get GDPR relevant customer data description: Returns GDPR relevant customer data for a given shopCustomerNumber and shopName. operationId: getCustomer produces: - application/vnd.intershop.customer.v3+json parameters: - name: shopCustomerNumber in: path description: The customer number of the shop required: true type: string - name: shopName in: path description: The shop name required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/Customer' '401': description: Authentication information is missing or invalid headers: WWW-Authenticate: type: string description: '' '403': description: Forbidden '404': description: Not Found security: - basicAuth: [] - bearerAuth: [] securityDefinitions: bearerAuth: description: JWT Bearer token type: apiKey name: Authorization in: header basicAuth: description: Basic Authentication type: basic definitions: Address: type: object properties: firstName: type: string example: Bob description: The first name of the address owner. lastName: type: string example: Buyer description: The last name of the address owner. title: type: string example: Dr. description: The title of the address owner. companyName: type: string street: type: string example: Musterstraße description: The street of the address of the address owner. houseNumber: type: string example: '5' description: The house number of the address of the address owner. addressAddition1: type: string example: 3. OG description: The first address addition of the address of the address owner. addressAddition2: type: string example: Terasse description: The second address addition of the address of the address owner. addressAddition3: type: string description: The third address addition of the address of the address owner. addressAddition4: type: string description: The fourth address addition of the address of the address owner. addressType: type: string example: Shipping address description: The type of the address. postCode: type: string example: '10178' description: The postal code of the address of the address owner. city: type: string example: Berlin description: The city of the address of the address owner. district: type: string description: The distrct of the address of the address owner. country: type: string example: Germany description: The country of the address of the address owner. email: type: string example: b.buyer@bbcompany.de description: The email address of the address owner. fax: type: string description: The fax number of the address owner. mobilePhone: type: string description: The mobile phone number of the address owner. phone1: type: string description: The first phone number of the address owner. phone2: type: string description: The second phone number of the address owner. isContainerFreightStation: type: boolean isDefault: type: boolean gender: type: string example: male description: The gender of the address owner. salutation: type: string example: Mr. description: The salutation of the address owner. poBox: type: string nightShipping: type: boolean description: Represents an address of a customer. Customer: type: object properties: creationDate: type: string format: date-time example: '2018-02-27T09:15:37.562+02:00' customerType: type: string example: b2c dayOfBirth: type: string format: date example: '1992-01-10' firstName: type: string example: Bob hasNewsletter: type: boolean example: false isActive: type: boolean example: true isNewCustomer: type: boolean example: true lastName: type: string example: Buyer gender: type: string example: male shopCustomerNo: type: string example: BB002 description: 'Deprecated: will be replaced by shopCustomerNumber in a future version.' shopCustomerNumber: type: string example: BB002 title: type: string email: type: string example: b.buyer@bbcompany.de fax: type: string mobilePhone: type: string phone1: type: string phone2: type: string companyName: type: string bankAccounts: type: array items: $ref: '#/definitions/CustomerBankAccount' addresses: type: array items: $ref: '#/definitions/Address' orders: type: array items: $ref: '#/definitions/CustomerOrder' invoiceAndCreditNotes: type: array items: $ref: '#/definitions/CustomerInvoiceAndCreditNote' customerBalances: type: array items: $ref: '#/definitions/CustomerBalance' description: Represents a customer. CustomerBalance: type: object properties: currency: type: string example: EUR description: The currency the amounts are listed in. openInvoiceAmount: type: number format: double example: -154.7 openInvoiceAmountCalculationDate: type: string format: date-time example: '2018-02-27T09:15:37.562+02:00' bookedCreditSum: type: number format: double example: 0 bookedDebitSum: type: number format: double example: 0 chargedCreditSum: type: number format: double example: 0 chargedDebitSum: type: number format: double example: 0 chargedOpenSum: type: number format: double example: 0 invoicingCreditSum: type: number format: double example: 0 invoicingDebitSum: type: number format: double example: -154.7 negativeBookedOpenSum: type: number format: double example: 154.7 positiveBookedOpenSum: type: number format: double example: 0 description: Represents a customer balance. CustomerBankAccount: type: object properties: accountHolder: type: string accountNumber: type: string bankCode: type: string bankName: type: string description: Represents a bank account of a customer. CustomerInvoiceAndCreditNote: type: object properties: type: type: string example: creditnote description: Represents the type ("invoice" or "creditnote") relatedShopOrderNos: type: array example: '[20180303_123, 20180303_124]' description: 'The list of shop order numbers of the related orders. Deprecated: will be replaced by relatedShopOrderNumbers in a future version.' items: type: string relatedShopOrderNumbers: type: array example: '[20180303_123, 20180303_124]' description: The list of shop order numbers of the related orders. items: type: string invoiceNo: type: string example: 2018-000002 description: 'The number of the invoice or credit note. Deprecated: will be replaced by invoiceNumber in a future version.' invoiceNumber: type: string example: 2018-000002 description: The number of the invoice or credit note. referenceInvoiceNo: type: string example: 2018-000001 description: 'The original invoice related to this invoice in case of invoice updates. Deprecated: will be replaced by referenceInvoiceNumber in a future version.' referenceInvoiceNumber: type: string example: 2018-000001 description: The original invoice related to this invoice in case of invoice updates. invoicingDate: type: string format: date-time example: '2018-02-27T09:15:37.562+02:00' description: Date when the invioce creation was finished. currency: type: string example: EUR description: The currency the invoice prices are listed in. paymentMethod: type: string example: credit card description: The name of the payment method. paymentDueDate: type: string format: date-time example: '2018-02-27T09:15:37.562+02:00' description: Date when the invoice have to be registered as payed (payment deadline) at site of the business owner. invoicePositions: type: array items: $ref: '#/definitions/CustomerInvoicePosition' description: Represents an invoice of a customer. CustomerInvoicePosition: type: object properties: shopOrderNo: type: string example: '20180303_123' description: 'Deprecated: will be replaced by shopOrderNumber in a future version.' shopOrderNumber: type: string example: '20180303_123' shopArticleNo: type: string example: 100-0001 description: 'Deprecated: will be replaced by shopArticleNumber in a future version.' shopArticleNumber: type: string example: 100-0001 quantity: type: integer format: int32 example: 10 salesItemNet: type: number format: double example: 1 salesItemGross: type: number format: double example: 1.19 chargeNet: type: number format: double example: 0 chargeGross: type: number format: double example: 0 description: Represents an invoice position of an invoice of a customer. CustomerOrder: type: object properties: id: type: integer format: int32 example: 10000 description: The order identifier. shopOrderNo: type: string example: '20180303_123' description: 'The order number as used by the shop. Deprecated: will be replaced by shopOrderNumber in a future version.' shopOrderNumber: type: string example: '20180303_123' description: The order number as used by the shop. shopCustomerOrderNo: type: string example: '20180303_123' description: 'The order number as given from the customer of the shop. Deprecated: will be replaced by shopCustomerOrderNumber in a future version.' shopCustomerOrderNumber: type: string example: '20180303_123' description: The order number as given from the customer of the shop. paymentProviderOrderNo: type: string example: '20180303_123' description: 'The order number as used by the payment service provider. Deprecated: will be replaced by paymentProviderOrderNumber in a future version.' paymentProviderOrderNumber: type: string example: '20180303_123' description: The order number as used by the payment service provider. shopOrderCreationDate: type: string format: date-time example: '2018-02-27T09:15:37.562+02:00' description: The date when the order was created at the shop. paymentMethod: type: string example: credit card description: The name of the payment method. shopSubTotalGross: type: number format: double example: 11.9 description: The gross amount of the order positions (discounted order amount without charges) as given from the shop. shopSubTotalNet: type: number format: double example: 10 description: The net amount of the order positions (discounted order amount without charges) as given from the shop. shopTotalGross: type: number format: double example: 11.9 description: The gross amount of the order as given from the shop. shopTotalNet: type: number format: double example: 10 description: The net amount of the order as given from the shop. carrier: type: string example: DHL description: The name of the carrier. shopSubTotalGrossDiscounted: type: number format: double example: 11.9 description: The discounted gross amount of the order positions (discounted order amount without charges) as given from the shop. shopSubTotalNetDiscounted: type: number format: double example: 10 description: The discounted net amount of the order positions (discounted order amount without charges) as given from the shop. recalculatedShopSubTotalGrossDiscounted: type: number format: double example: 11.9 description: The discounted gross amount of the order positions (discounted order amount without charges) recalculated on cancellations. recalculatedShopSubTotalNetDiscounted: type: number format: double example: 10 description: The discounted net amount of the order positions (discounted order amount without charges) recalculated on cancellations. currency: type: string example: EUR description: The currency the amounts are listed in. orderPositions: type: array items: $ref: '#/definitions/CustomerOrderPosition' description: Represents an order of a customer. CustomerOrderPosition: type: object properties: shopArticleNo: type: string example: 100-0001 description: 'Deprecated: will be replaced by shopArticleNumber in a future version.' shopArticleNumber: type: string example: 100-0001 shopArticleName: type: string example: test_product_1 orderPosNo: type: integer format: int32 example: 1 description: 'Deprecated: will be replaced by orderPosNumber in a future version.' orderPosNumber: type: integer format: int32 example: 1 quantityCanceled: type: integer format: int32 example: 2 quantityOrdered: type: integer format: int32 example: 10 quantityReturned: type: integer format: int32 example: 2 returnDate: type: string format: date-time example: '2018-02-27T09:15:37.562+02:00' shopItemGross: type: number format: double shopItemNet: type: number format: double shopItemTax: type: number format: double shopPosGross: type: number format: double shopPosNet: type: number format: double shopPosTax: type: number format: double shopPosNetDiscounted: type: number format: double shopPosGrossDiscounted: type: number format: double shopUnit: type: string shopItemNetDiscounted: type: number format: double shopItemGrossDiscounted: type: number format: double quantityRefunded: type: integer format: int32 shippingAddress: $ref: '#/definitions/Address' description: Represents an order position of an order of a customer.