schema.graphqls 18.2 KB
# Copyright © Magento, Inc. All rights reserved.
# See COPYING.txt for license details.

type Query {
    customer: Customer @resolver(class: "Magento\\CustomerGraphQl\\Model\\Resolver\\Customer") @doc(description: "The customer query returns information about a customer account")
}

type Mutation {
    generateCustomerToken(email: String!, password: String!): CustomerToken @resolver(class: "\\Magento\\CustomerGraphQl\\Model\\Resolver\\GenerateCustomerToken") @doc(description:"Retrieve the customer token")
    changeCustomerPassword(currentPassword: String!, newPassword: String!): Customer @resolver(class: "\\Magento\\CustomerGraphQl\\Model\\Resolver\\ChangePassword") @doc(description:"Changes the password for the logged-in customer")
    createCustomer (input: CustomerInput!): CustomerOutput @resolver(class: "\\Magento\\CustomerGraphQl\\Model\\Resolver\\CreateCustomer") @doc(description:"Create customer account")
    updateCustomer (input: CustomerInput!): CustomerOutput @resolver(class: "\\Magento\\CustomerGraphQl\\Model\\Resolver\\UpdateCustomer") @doc(description:"Update the customer's personal information")
    revokeCustomerToken: RevokeCustomerTokenOutput @resolver(class: "\\Magento\\CustomerGraphQl\\Model\\Resolver\\RevokeCustomerToken") @doc(description:"Revoke the customer token")
    createCustomerAddress(input: CustomerAddressInput!): CustomerAddress @resolver(class: "Magento\\CustomerGraphQl\\Model\\Resolver\\CreateCustomerAddress") @doc(description: "Create customer address")
    updateCustomerAddress(id: Int!, input: CustomerAddressInput): CustomerAddress @resolver(class: "Magento\\CustomerGraphQl\\Model\\Resolver\\UpdateCustomerAddress") @doc(description: "Update customer address")
    deleteCustomerAddress(id: Int!): Boolean @resolver(class: "Magento\\CustomerGraphQl\\Model\\Resolver\\DeleteCustomerAddress") @doc(description: "Delete customer address")
}

input CustomerAddressInput {
    firstname: String @doc(description: "The first name of the person associated with the shipping/billing address")
    lastname: String @doc(description: "The family name of the person associated with the shipping/billing address")
    company: String @doc(description: "The customer's company")
    telephone: String @doc(description: "The telephone number")
    street: [String] @doc(description: "An array of strings that define the street number and name")
    city: String @doc(description: "The city or town")
    region: CustomerAddressRegionInput @doc(description: "An object containing the region name, region code, and region ID")
    postcode: String @doc(description: "The customer's ZIP or postal code")
    country_id: CountryCodeEnum @doc(description: "The customer's country")
    default_shipping: Boolean @doc(description: "Indicates whether the address is the default shipping address")
    default_billing: Boolean @doc(description: "Indicates whether the address is the default billing address")
    fax: String @doc(description: "The fax number")
    middlename: String @doc(description: "The middle name of the person associated with the shipping/billing address")
    prefix: String @doc(description: "An honorific, such as Dr., Mr., or Mrs.")
    suffix: String @doc(description: "A value such as Sr., Jr., or III")
    vat_id: String @doc(description: "The customer's Tax/VAT number (for corporate customers)")
    custom_attributes: [CustomerAddressAttributeInput] @doc(description: "Address custom attributes")
}

input CustomerAddressRegionInput @doc(description: "CustomerAddressRegionInput defines the customer's state or province") {
    region_code: String @doc(description: "The address region code")
    region: String @doc(description: "The state or province name")
    region_id: Int @doc(description: "Uniquely identifies the region")
}

input CustomerAddressAttributeInput {
    attribute_code: String! @doc(description: "Attribute code")
    value: String! @doc(description: "Attribute value")
}

type CustomerToken {
    token: String @doc(description: "The customer token")
}

input CustomerInput {
    prefix: String @doc(description: "An honorific, such as Dr., Mr., or Mrs.")
    firstname: String @doc(description: "The customer's first name")
    middlename: String @doc(description: "The customer's middle name")
    lastname: String @doc(description: "The customer's family name")
    suffix: String @doc(description: "A value such as Sr., Jr., or III")
    email: String @doc(description: "The customer's email address. Required")
    dob: String @doc(description: "The customer's date of birth")
    taxvat: String @doc(description: "The customer's Tax/VAT number (for corporate customers)")
    gender: Int @doc(description: "The customer's gender(Male - 1, Female - 2)")
    password: String @doc(description: "The customer's password")
    is_subscribed: Boolean @doc(description: "Indicates whether the customer is subscribed to the company's newsletter")
}

type CustomerOutput {
    customer: Customer!
}

type RevokeCustomerTokenOutput {
    result: Boolean!
}

type Customer @doc(description: "Customer defines the customer name and address and other details") {
    created_at: String @doc(description: "Timestamp indicating when the account was created")
    group_id: Int @doc(description: "The group assigned to the user. Default values are 0 (Not logged in), 1 (General), 2 (Wholesale), and 3 (Retailer)")
    prefix: String @doc(description: "An honorific, such as Dr., Mr., or Mrs.")
    firstname: String @doc(description: "The customer's first name")
    middlename: String @doc(description: "The customer's middle name")
    lastname: String @doc(description: "The customer's family name")
    suffix: String @doc(description: "A value such as Sr., Jr., or III")
    email: String @doc(description: "The customer's email address. Required")
    default_billing: String @doc(description: "The ID assigned to the billing address")
    default_shipping: String @doc(description: "The ID assigned to the shipping address")
    dob: String @doc(description: "The customer's date of birth")
    taxvat: String @doc(description: "The customer's Tax/VAT number (for corporate customers)")
    id: Int @doc(description: "The ID assigned to the customer")
    is_subscribed: Boolean @doc(description: "Indicates whether the customer is subscribed to the company's newsletter") @resolver(class: "\\Magento\\CustomerGraphQl\\Model\\Resolver\\IsSubscribed")
    addresses: [CustomerAddress] @doc(description: "An array containing the customer's shipping and billing addresses")
}

type CustomerAddress @doc(description: "CustomerAddress contains detailed information about a customer's billing and shipping addresses"){
    id: Int @doc(description: "The ID assigned to the address object")
    customer_id: Int @doc(description: "The customer ID")
    region: CustomerAddressRegion @doc(description: "An object containing the region name, region code, and region ID")
    region_id: Int @doc(description: "A number that uniquely identifies the state, province, or other area")
    country_id: String @doc(description: "The customer's country")
    street: [String] @doc(description: "An array of strings that define the street number and name")
    company: String @doc(description: "The customer's company")
    telephone: String @doc(description: "The telephone number")
    fax: String @doc(description: "The fax number")
    postcode: String @doc(description: "The customer's ZIP or postal code")
    city: String @doc(description: "The city or town")
    firstname: String @doc(description: "The first name of the person associated with the shipping/billing address")
    lastname: String @doc(description: "The family name of the person associated with the shipping/billing address")
    middlename: String @doc(description: "The middle name of the person associated with the shipping/billing address")
    prefix: String @doc(description: "An honorific, such as Dr., Mr., or Mrs.")
    suffix: String @doc(description: "A value such as Sr., Jr., or III")
    vat_id: String @doc(description: "The customer's Tax/VAT number (for corporate customers)")
    default_shipping: Boolean @doc(description: "Indicates whether the address is the default shipping address")
    default_billing: Boolean @doc(description: "Indicates whether the address is the default billing address")
    custom_attributes: [CustomerAddressAttribute] @doc(description: "Address custom attributes")
    extension_attributes: [CustomerAddressAttribute] @doc(description: "Address extension attributes")
}

type CustomerAddressRegion @doc(description: "CustomerAddressRegion defines the customer's state or province") {
    region_code: String @doc(description: "The address region code")
    region: String @doc(description: "The state or province name")
    region_id: Int @doc(description: "Uniquely identifies the region")
}

type CustomerAddressAttribute {
     attribute_code: String  @doc(description: "Attribute code")
     value: String  @doc(description: "Attribute value")
}

enum CountryCodeEnum @doc(description: "The list of countries codes") {
    AF @doc(description: "Afghanistan")
    AX @doc(description: "Åland Islands")
    AL @doc(description: "Albania")
    DZ @doc(description: "Algeria")
    AS @doc(description: "American Samoa")
    AD @doc(description: "Andorra")
    AO @doc(description: "Angola")
    AI @doc(description: "Anguilla")
    AQ @doc(description: "Antarctica")
    AG @doc(description: "Antigua & Barbuda")
    AR @doc(description: "Argentina")
    AM @doc(description: "Armenia")
    AW @doc(description: "Aruba")
    AU @doc(description: "Australia")
    AT @doc(description: "Austria")
    AZ @doc(description: "Azerbaijan")
    BS @doc(description: "Bahamas")
    BH @doc(description: "Bahrain")
    BD @doc(description: "Bangladesh")
    BB @doc(description: "Barbados")
    BY @doc(description: "Belarus")
    BE @doc(description: "Belgium")
    BZ @doc(description: "Belize")
    BJ @doc(description: "Benin")
    BM @doc(description: "Bermuda")
    BT @doc(description: "Bhutan")
    BO @doc(description: "Bolivia")
    BA @doc(description: "Bosnia & Herzegovina")
    BW @doc(description: "Botswana")
    BV @doc(description: "Bouvet Island")
    BR @doc(description: "Brazil")
    IO @doc(description: "British Indian Ocean Territory")
    VG @doc(description: "British Virgin Islands")
    BN @doc(description: "Brunei")
    BG @doc(description: "Bulgaria")
    BF @doc(description: "Burkina Faso")
    BI @doc(description: "Burundi")
    KH @doc(description: "Cambodia")
    CM @doc(description: "Cameroon")
    CA @doc(description: "Canada")
    CV @doc(description: "Cape Verde")
    KY @doc(description: "Cayman Islands")
    CF @doc(description: "Central African Republic")
    TD @doc(description: "Chad")
    CL @doc(description: "Chile")
    CN @doc(description: "China")
    CX @doc(description: "Christmas Island")
    CC @doc(description: "Cocos (Keeling) Islands")
    CO @doc(description: "Colombia")
    KM @doc(description: "Comoros")
    CG @doc(description: "Congo -Brazzaville")
    CD @doc(description: "Congo - Kinshasa")
    CK @doc(description: "Cook Islands")
    CR @doc(description: "Costa Rica")
    CI @doc(description: "Côte d’Ivoire")
    HR @doc(description: "Croatia")
    CU @doc(description: "Cuba")
    CY @doc(description: "Cyprus")
    CZ @doc(description: "Czech Republic")
    DK @doc(description: "Denmark")
    DJ @doc(description: "Djibouti")
    DM @doc(description: "Dominica")
    DO @doc(description: "Dominican Republic")
    EC @doc(description: "Ecuador")
    EG @doc(description: "Egypt")
    SV @doc(description: "El Salvador")
    GQ @doc(description: "Equatorial Guinea")
    ER @doc(description: "Eritrea")
    EE @doc(description: "Estonia")
    ET @doc(description: "Ethiopia")
    FK @doc(description: "Falkland Islands")
    FO @doc(description: "Faroe Islands")
    FJ @doc(description: "Fiji")
    FI @doc(description: "Finland")
    FR @doc(description: "France")
    GF @doc(description: "French Guiana")
    PF @doc(description: "French Polynesia")
    TF @doc(description: "French Southern Territories")
    GA @doc(description: "Gabon")
    GM @doc(description: "Gambia")
    GE @doc(description: "Georgia")
    DE @doc(description: "Germany")
    GH @doc(description: "Ghana")
    GI @doc(description: "Gibraltar")
    GR @doc(description: "Greece")
    GL @doc(description: "Greenland")
    GD @doc(description: "Grenada")
    GP @doc(description: "Guadeloupe")
    GU @doc(description: "Guam")
    GT @doc(description: "Guatemala")
    GG @doc(description: "Guernsey")
    GN @doc(description: "Guinea")
    GW @doc(description: "Guinea-Bissau")
    GY @doc(description: "Guyana")
    HT @doc(description: "Haiti")
    HM @doc(description: "Heard & McDonald Islands")
    HN @doc(description: "Honduras")
    HK @doc(description: "Hong Kong SAR China")
    HU @doc(description: "Hungary")
    IS @doc(description: "Iceland")
    IN @doc(description: "India")
    ID @doc(description: "Indonesia")
    IR @doc(description: "Iran")
    IQ @doc(description: "Iraq")
    IE @doc(description: "Ireland")
    IM @doc(description: "Isle of Man")
    IL @doc(description: "Israel")
    IT @doc(description: "Italy")
    JM @doc(description: "Jamaica")
    JP @doc(description: "Japan")
    JE @doc(description: "Jersey")
    JO @doc(description: "Jordan")
    KZ @doc(description: "Kazakhstan")
    KE @doc(description: "Kenya")
    KI @doc(description: "Kiribati")
    KW @doc(description: "Kuwait")
    KG @doc(description: "Kyrgyzstan")
    LA @doc(description: "Laos")
    LV @doc(description: "Latvia")
    LB @doc(description: "Lebanon")
    LS @doc(description: "Lesotho")
    LR @doc(description: "Liberia")
    LY @doc(description: "Libya")
    LI @doc(description: "Liechtenstein")
    LT @doc(description: "Lithuania")
    LU @doc(description: "Luxembourg")
    MO @doc(description: "Macau SAR China")
    MK @doc(description: "Macedonia")
    MG @doc(description: "Madagascar")
    MW @doc(description: "Malawi")
    MY @doc(description: "Malaysia")
    MV @doc(description: "Maldives")
    ML @doc(description: "Mali")
    MT @doc(description: "Malta")
    MH @doc(description: "Marshall Islands")
    MQ @doc(description: "Martinique")
    MR @doc(description: "Mauritania")
    MU @doc(description: "Mauritius")
    YT @doc(description: "Mayotte")
    MX @doc(description: "Mexico")
    FM @doc(description: "Micronesia")
    MD @doc(description: "Moldova")
    MC @doc(description: "Monaco")
    MN @doc(description: "Mongolia")
    ME @doc(description: "Montenegro")
    MS @doc(description: "Montserrat")
    MA @doc(description: "Morocco")
    MZ @doc(description: "Mozambique")
    MM @doc(description: "Myanmar (Burma)")
    NA @doc(description: "Namibia")
    NR @doc(description: "Nauru")
    NP @doc(description: "Nepal")
    NL @doc(description: "Netherlands")
    AN @doc(description: "Netherlands Antilles")
    NC @doc(description: "New Caledonia")
    NZ @doc(description: "New Zealand")
    NI @doc(description: "Nicaragua")
    NE @doc(description: "Niger")
    NG @doc(description: "Nigeria")
    NU @doc(description: "Niue")
    NF @doc(description: "Norfolk Island")
    MP @doc(description: "Northern Mariana Islands")
    KP @doc(description: "North Korea")
    NO @doc(description: "Norway")
    OM @doc(description: "Oman")
    PK @doc(description: "Pakistan")
    PW @doc(description: "Palau")
    PS @doc(description: "Palestinian Territories")
    PA @doc(description: "Panama")
    PG @doc(description: "Papua New Guinea")
    PY @doc(description: "Paraguay")
    PE @doc(description: "Peru")
    PH @doc(description: "Philippines")
    PN @doc(description: "Pitcairn Islands")
    PL @doc(description: "Poland")
    PT @doc(description: "Portugal")
    QA @doc(description: "Qatar")
    RE @doc(description: "Réunion")
    RO @doc(description: "Romania")
    RU @doc(description: "Russia")
    RW @doc(description: "Rwanda")
    WS @doc(description: "Samoa")
    SM @doc(description: "San Marino")
    ST @doc(description: "São Tomé & Príncipe")
    SA @doc(description: "Saudi Arabia")
    SN @doc(description: "Senegal")
    RS @doc(description: "Serbia")
    SC @doc(description: "Seychelles")
    SL @doc(description: "Sierra Leone")
    SG @doc(description: "Singapore")
    SK @doc(description: "Slovakia")
    SI @doc(description: "Slovenia")
    SB @doc(description: "Solomon Islands")
    SO @doc(description: "Somalia")
    ZA @doc(description: "South Africa")
    GS @doc(description: "South Georgia & South Sandwich Islands")
    KR @doc(description: "South Korea")
    ES @doc(description: "Spain")
    LK @doc(description: "Sri Lanka")
    BL @doc(description: "St. Barthélemy")
    SH @doc(description: "St. Helena")
    KN @doc(description: "St. Kitts & Nevis")
    LC @doc(description: "St. Lucia")
    MF @doc(description: "St. Martin")
    PM @doc(description: "St. Pierre & Miquelon")
    VC @doc(description: "St. Vincent & Grenadines")
    SD @doc(description: "Sudan")
    SR @doc(description: "Suriname")
    SJ @doc(description: "Svalbard & Jan Mayen")
    SZ @doc(description: "Swaziland")
    SE @doc(description: "Sweden")
    CH @doc(description: "Switzerland")
    SY @doc(description: "Syria")
    TW @doc(description: "Taiwan")
    TJ @doc(description: "Tajikistan")
    TZ @doc(description: "Tanzania")
    TH @doc(description: "Thailand")
    TL @doc(description: "Timor-Leste")
    TG @doc(description: "Togo")
    TK @doc(description: "Tokelau")
    TO @doc(description: "Tonga")
    TT @doc(description: "Trinidad & Tobago")
    TN @doc(description: "Tunisia")
    TR @doc(description: "Turkey")
    TM @doc(description: "Turkmenistan")
    TC @doc(description: "Turks & Caicos Islands")
    TV @doc(description: "Tuvalu")
    UG @doc(description: "Uganda")
    UA @doc(description: "Ukraine")
    AE @doc(description: "United Arab Emirates")
    GB @doc(description: "United Kingdom")
    US @doc(description: "United States")
    UY @doc(description: "Uruguay")
    UM @doc(description: "U.S. Outlying Islands")
    VI @doc(description: "U.S. Virgin Islands")
    UZ @doc(description: "Uzbekistan")
    VU @doc(description: "Vanuatu")
    VA @doc(description: "Vatican City")
    VE @doc(description: "Venezuela")
    VN @doc(description: "Vietnam")
    WF @doc(description: "Wallis & Futuna")
    EH @doc(description: "Western Sahara")
    YE @doc(description: "Yemen")
    ZM @doc(description: "Zambia")
    ZW @doc(description: "Zimbabwe")
}