Edits history of script submission #20621 for ' CreateLocation (square)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Square = {
      token: string;
    };
    /**
     * CreateLocation
     * Creates a [location](https://developer.
     */
    export async function main(
      auth: Square,
      body: {
        location?: {
          id?: string;
          name?: string;
          address?: {
            address_line_1?: string;
            address_line_2?: string;
            address_line_3?: string;
            locality?: string;
            sublocality?: string;
            sublocality_2?: string;
            sublocality_3?: string;
            administrative_district_level_1?: string;
            administrative_district_level_2?: string;
            administrative_district_level_3?: string;
            postal_code?: string;
            country?:
              | "ZZ"
              | "AD"
              | "AE"
              | "AF"
              | "AG"
              | "AI"
              | "AL"
              | "AM"
              | "AO"
              | "AQ"
              | "AR"
              | "AS"
              | "AT"
              | "AU"
              | "AW"
              | "AX"
              | "AZ"
              | "BA"
              | "BB"
              | "BD"
              | "BE"
              | "BF"
              | "BG"
              | "BH"
              | "BI"
              | "BJ"
              | "BL"
              | "BM"
              | "BN"
              | "BO"
              | "BQ"
              | "BR"
              | "BS"
              | "BT"
              | "BV"
              | "BW"
              | "BY"
              | "BZ"
              | "CA"
              | "CC"
              | "CD"
              | "CF"
              | "CG"
              | "CH"
              | "CI"
              | "CK"
              | "CL"
              | "CM"
              | "CN"
              | "CO"
              | "CR"
              | "CU"
              | "CV"
              | "CW"
              | "CX"
              | "CY"
              | "CZ"
              | "DE"
              | "DJ"
              | "DK"
              | "DM"
              | "DO"
              | "DZ"
              | "EC"
              | "EE"
              | "EG"
              | "EH"
              | "ER"
              | "ES"
              | "ET"
              | "FI"
              | "FJ"
              | "FK"
              | "FM"
              | "FO"
              | "FR"
              | "GA"
              | "GB"
              | "GD"
              | "GE"
              | "GF"
              | "GG"
              | "GH"
              | "GI"
              | "GL"
              | "GM"
              | "GN"
              | "GP"
              | "GQ"
              | "GR"
              | "GS"
              | "GT"
              | "GU"
              | "GW"
              | "GY"
              | "HK"
              | "HM"
              | "HN"
              | "HR"
              | "HT"
              | "HU"
              | "ID"
              | "IE"
              | "IL"
              | "IM"
              | "IN"
              | "IO"
              | "IQ"
              | "IR"
              | "IS"
              | "IT"
              | "JE"
              | "JM"
              | "JO"
              | "JP"
              | "KE"
              | "KG"
              | "KH"
              | "KI"
              | "KM"
              | "KN"
              | "KP"
              | "KR"
              | "KW"
              | "KY"
              | "KZ"
              | "LA"
              | "LB"
              | "LC"
              | "LI"
              | "LK"
              | "LR"
              | "LS"
              | "LT"
              | "LU"
              | "LV"
              | "LY"
              | "MA"
              | "MC"
              | "MD"
              | "ME"
              | "MF"
              | "MG"
              | "MH"
              | "MK"
              | "ML"
              | "MM"
              | "MN"
              | "MO"
              | "MP"
              | "MQ"
              | "MR"
              | "MS"
              | "MT"
              | "MU"
              | "MV"
              | "MW"
              | "MX"
              | "MY"
              | "MZ"
              | "NA"
              | "NC"
              | "NE"
              | "NF"
              | "NG"
              | "NI"
              | "NL"
              | "NO"
              | "NP"
              | "NR"
              | "NU"
              | "NZ"
              | "OM"
              | "PA"
              | "PE"
              | "PF"
              | "PG"
              | "PH"
              | "PK"
              | "PL"
              | "PM"
              | "PN"
              | "PR"
              | "PS"
              | "PT"
              | "PW"
              | "PY"
              | "QA"
              | "RE"
              | "RO"
              | "RS"
              | "RU"
              | "RW"
              | "SA"
              | "SB"
              | "SC"
              | "SD"
              | "SE"
              | "SG"
              | "SH"
              | "SI"
              | "SJ"
              | "SK"
              | "SL"
              | "SM"
              | "SN"
              | "SO"
              | "SR"
              | "SS"
              | "ST"
              | "SV"
              | "SX"
              | "SY"
              | "SZ"
              | "TC"
              | "TD"
              | "TF"
              | "TG"
              | "TH"
              | "TJ"
              | "TK"
              | "TL"
              | "TM"
              | "TN"
              | "TO"
              | "TR"
              | "TT"
              | "TV"
              | "TW"
              | "TZ"
              | "UA"
              | "UG"
              | "UM"
              | "US"
              | "UY"
              | "UZ"
              | "VA"
              | "VC"
              | "VE"
              | "VG"
              | "VI"
              | "VN"
              | "VU"
              | "WF"
              | "WS"
              | "YE"
              | "YT"
              | "ZA"
              | "ZM"
              | "ZW";
            first_name?: string;
            last_name?: string;
          };
          timezone?: string;
          capabilities?:
            | "CREDIT_CARD_PROCESSING"
            | "AUTOMATIC_TRANSFERS"
            | "UNLINKED_REFUNDS"[];
          status?: "ACTIVE" | "INACTIVE";
          created_at?: string;
          merchant_id?: string;
          country?:
            | "ZZ"
            | "AD"
            | "AE"
            | "AF"
            | "AG"
            | "AI"
            | "AL"
            | "AM"
            | "AO"
            | "AQ"
            | "AR"
            | "AS"
            | "AT"
            | "AU"
            | "AW"
            | "AX"
            | "AZ"
            | "BA"
            | "BB"
            | "BD"
            | "BE"
            | "BF"
            | "BG"
            | "BH"
            | "BI"
            | "BJ"
            | "BL"
            | "BM"
            | "BN"
            | "BO"
            | "BQ"
            | "BR"
            | "BS"
            | "BT"
            | "BV"
            | "BW"
            | "BY"
            | "BZ"
            | "CA"
            | "CC"
            | "CD"
            | "CF"
            | "CG"
            | "CH"
            | "CI"
            | "CK"
            | "CL"
            | "CM"
            | "CN"
            | "CO"
            | "CR"
            | "CU"
            | "CV"
            | "CW"
            | "CX"
            | "CY"
            | "CZ"
            | "DE"
            | "DJ"
            | "DK"
            | "DM"
            | "DO"
            | "DZ"
            | "EC"
            | "EE"
            | "EG"
            | "EH"
            | "ER"
            | "ES"
            | "ET"
            | "FI"
            | "FJ"
            | "FK"
            | "FM"
            | "FO"
            | "FR"
            | "GA"
            | "GB"
            | "GD"
            | "GE"
            | "GF"
            | "GG"
            | "GH"
            | "GI"
            | "GL"
            | "GM"
            | "GN"
            | "GP"
            | "GQ"
            | "GR"
            | "GS"
            | "GT"
            | "GU"
            | "GW"
            | "GY"
            | "HK"
            | "HM"
            | "HN"
            | "HR"
            | "HT"
            | "HU"
            | "ID"
            | "IE"
            | "IL"
            | "IM"
            | "IN"
            | "IO"
            | "IQ"
            | "IR"
            | "IS"
            | "IT"
            | "JE"
            | "JM"
            | "JO"
            | "JP"
            | "KE"
            | "KG"
            | "KH"
            | "KI"
            | "KM"
            | "KN"
            | "KP"
            | "KR"
            | "KW"
            | "KY"
            | "KZ"
            | "LA"
            | "LB"
            | "LC"
            | "LI"
            | "LK"
            | "LR"
            | "LS"
            | "LT"
            | "LU"
            | "LV"
            | "LY"
            | "MA"
            | "MC"
            | "MD"
            | "ME"
            | "MF"
            | "MG"
            | "MH"
            | "MK"
            | "ML"
            | "MM"
            | "MN"
            | "MO"
            | "MP"
            | "MQ"
            | "MR"
            | "MS"
            | "MT"
            | "MU"
            | "MV"
            | "MW"
            | "MX"
            | "MY"
            | "MZ"
            | "NA"
            | "NC"
            | "NE"
            | "NF"
            | "NG"
            | "NI"
            | "NL"
            | "NO"
            | "NP"
            | "NR"
            | "NU"
            | "NZ"
            | "OM"
            | "PA"
            | "PE"
            | "PF"
            | "PG"
            | "PH"
            | "PK"
            | "PL"
            | "PM"
            | "PN"
            | "PR"
            | "PS"
            | "PT"
            | "PW"
            | "PY"
            | "QA"
            | "RE"
            | "RO"
            | "RS"
            | "RU"
            | "RW"
            | "SA"
            | "SB"
            | "SC"
            | "SD"
            | "SE"
            | "SG"
            | "SH"
            | "SI"
            | "SJ"
            | "SK"
            | "SL"
            | "SM"
            | "SN"
            | "SO"
            | "SR"
            | "SS"
            | "ST"
            | "SV"
            | "SX"
            | "SY"
            | "SZ"
            | "TC"
            | "TD"
            | "TF"
            | "TG"
            | "TH"
            | "TJ"
            | "TK"
            | "TL"
            | "TM"
            | "TN"
            | "TO"
            | "TR"
            | "TT"
            | "TV"
            | "TW"
            | "TZ"
            | "UA"
            | "UG"
            | "UM"
            | "US"
            | "UY"
            | "UZ"
            | "VA"
            | "VC"
            | "VE"
            | "VG"
            | "VI"
            | "VN"
            | "VU"
            | "WF"
            | "WS"
            | "YE"
            | "YT"
            | "ZA"
            | "ZM"
            | "ZW";
          language_code?: string;
          currency?:
            | "UNKNOWN_CURRENCY"
            | "AED"
            | "AFN"
            | "ALL"
            | "AMD"
            | "ANG"
            | "AOA"
            | "ARS"
            | "AUD"
            | "AWG"
            | "AZN"
            | "BAM"
            | "BBD"
            | "BDT"
            | "BGN"
            | "BHD"
            | "BIF"
            | "BMD"
            | "BND"
            | "BOB"
            | "BOV"
            | "BRL"
            | "BSD"
            | "BTN"
            | "BWP"
            | "BYR"
            | "BZD"
            | "CAD"
            | "CDF"
            | "CHE"
            | "CHF"
            | "CHW"
            | "CLF"
            | "CLP"
            | "CNY"
            | "COP"
            | "COU"
            | "CRC"
            | "CUC"
            | "CUP"
            | "CVE"
            | "CZK"
            | "DJF"
            | "DKK"
            | "DOP"
            | "DZD"
            | "EGP"
            | "ERN"
            | "ETB"
            | "EUR"
            | "FJD"
            | "FKP"
            | "GBP"
            | "GEL"
            | "GHS"
            | "GIP"
            | "GMD"
            | "GNF"
            | "GTQ"
            | "GYD"
            | "HKD"
            | "HNL"
            | "HRK"
            | "HTG"
            | "HUF"
            | "IDR"
            | "ILS"
            | "INR"
            | "IQD"
            | "IRR"
            | "ISK"
            | "JMD"
            | "JOD"
            | "JPY"
            | "KES"
            | "KGS"
            | "KHR"
            | "KMF"
            | "KPW"
            | "KRW"
            | "KWD"
            | "KYD"
            | "KZT"
            | "LAK"
            | "LBP"
            | "LKR"
            | "LRD"
            | "LSL"
            | "LTL"
            | "LVL"
            | "LYD"
            | "MAD"
            | "MDL"
            | "MGA"
            | "MKD"
            | "MMK"
            | "MNT"
            | "MOP"
            | "MRO"
            | "MUR"
            | "MVR"
            | "MWK"
            | "MXN"
            | "MXV"
            | "MYR"
            | "MZN"
            | "NAD"
            | "NGN"
            | "NIO"
            | "NOK"
            | "NPR"
            | "NZD"
            | "OMR"
            | "PAB"
            | "PEN"
            | "PGK"
            | "PHP"
            | "PKR"
            | "PLN"
            | "PYG"
            | "QAR"
            | "RON"
            | "RSD"
            | "RUB"
            | "RWF"
            | "SAR"
            | "SBD"
            | "SCR"
            | "SDG"
            | "SEK"
            | "SGD"
            | "SHP"
            | "SLL"
            | "SLE"
            | "SOS"
            | "SRD"
            | "SSP"
            | "STD"
            | "SVC"
            | "SYP"
            | "SZL"
            | "THB"
            | "TJS"
            | "TMT"
            | "TND"
            | "TOP"
            | "TRY"
            | "TTD"
            | "TWD"
            | "TZS"
            | "UAH"
            | "UGX"
            | "USD"
            | "USN"
            | "USS"
            | "UYI"
            | "UYU"
            | "UZS"
            | "VEF"
            | "VND"
            | "VUV"
            | "WST"
            | "XAF"
            | "XAG"
            | "XAU"
            | "XBA"
            | "XBB"
            | "XBC"
            | "XBD"
            | "XCD"
            | "XDR"
            | "XOF"
            | "XPD"
            | "XPF"
            | "XPT"
            | "XTS"
            | "XXX"
            | "YER"
            | "ZAR"
            | "ZMK"
            | "ZMW"
            | "BTC"
            | "XUS";
          phone_number?: string;
          business_name?: string;
          type?: "PHYSICAL" | "MOBILE";
          website_url?: string;
          business_hours?: {
            periods?: {
              day_of_week?: "SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT";
              start_local_time?: string;
              end_local_time?: string;
            }[];
          };
          business_email?: string;
          description?: string;
          twitter_username?: string;
          instagram_username?: string;
          facebook_url?: string;
          coordinates?: { latitude?: number; longitude?: number };
          logo_url?: string;
          pos_background_url?: string;
          mcc?: string;
          full_format_logo_url?: string;
          tax_ids?: {
            eu_vat?: string;
            fr_siret?: string;
            fr_naf?: string;
            es_nif?: string;
            jp_qii?: string;
          };
        };
      },
    ) {
      const url = new URL(`https://connect.squareup.com/v2/locations`);
    
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 235 days ago