Skip to content

Commit

Permalink
Merge pull request #354 from Shopify/add_new_api_version
Browse files Browse the repository at this point in the history
Add new api version
  • Loading branch information
paulomarg authored Jul 2, 2024
2 parents ed791f3 + 819791f commit 4ad7ad2
Show file tree
Hide file tree
Showing 148 changed files with 30,491 additions and 1 deletion.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Unreleased

- [#354](https://github.com/Shopify/shopify-api-php/pull/354) [Minor] Adding support for 2024-07 API version

## v5.5.1 - 2024-05-24

- [#345](https://github.com/Shopify/shopify-api-php/pull/345) [Patch] Stop storing a session in the database when beginning OAuth, only when completing it
Expand Down
5 changes: 4 additions & 1 deletion src/ApiVersion.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ class ApiVersion
/** @var string */
public const APRIL_2024 = "2024-04";
/** @var string */
public const LATEST = self::APRIL_2024;
public const JULY_2024 = "2024-07";
/** @var string */
public const LATEST = self::JULY_2024;

private static $ALL_VERSIONS = [
self::UNSTABLE,
Expand All @@ -40,6 +42,7 @@ class ApiVersion
self::OCTOBER_2023,
self::JANUARY_2024,
self::APRIL_2024,
self::JULY_2024,
];

public static function isValid(string $version): bool
Expand Down
101 changes: 101 additions & 0 deletions src/Rest/Admin2024_07/AbandonedCheckout.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
<?php

/***********************************************************************************************************************
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
***********************************************************************************************************************/

declare(strict_types=1);

namespace Shopify\Rest\Admin2024_07;

use Shopify\Auth\Session;
use Shopify\Rest\Base;

/**
* @property string|null $abandoned_checkout_url
* @property array|null $billing_address
* @property bool|null $buyer_accepts_marketing
* @property bool|null $buyer_accepts_sms_marketing
* @property string|null $cart_token
* @property string|null $closed_at
* @property string|null $completed_at
* @property string|null $created_at
* @property Currency|null $currency
* @property Customer|null $customer
* @property string|null $customer_locale
* @property int|null $device_id
* @property DiscountCode[]|null $discount_codes
* @property string|null $email
* @property string|null $gateway
* @property int|null $id
* @property string|null $landing_site
* @property array|null $line_items
* @property int|null $location_id
* @property string|null $note
* @property string|null $phone
* @property string|null $presentment_currency
* @property string|null $referring_site
* @property array|null $shipping_address
* @property array|null $shipping_lines
* @property string|null $sms_marketing_phone
* @property string|null $source_name
* @property string|null $subtotal_price
* @property array|null $tax_lines
* @property bool|null $taxes_included
* @property string|null $token
* @property string|null $total_discounts
* @property string|null $total_duties
* @property string|null $total_line_items_price
* @property string|null $total_price
* @property string|null $total_tax
* @property int|null $total_weight
* @property string|null $updated_at
* @property int|null $user_id
*/
class AbandonedCheckout extends Base
{
public static string $API_VERSION = "2024-07";
protected static array $HAS_ONE = [
"currency" => Currency::class,
"customer" => Customer::class
];
protected static array $HAS_MANY = [
"discount_codes" => DiscountCode::class
];
protected static array $PATHS = [
["http_method" => "get", "operation" => "checkouts", "ids" => [], "path" => "checkouts.json"],
["http_method" => "get", "operation" => "checkouts", "ids" => [], "path" => "checkouts.json"]
];

/**
* @param Session $session
* @param array $urlIds
* @param mixed[] $params Allowed indexes:
* since_id,
* created_at_min,
* created_at_max,
* updated_at_min,
* updated_at_max,
* status,
* limit
*
* @return array|null
*/
public static function checkouts(
Session $session,
array $urlIds = [],
array $params = []
): ?array {
$response = parent::request(
"get",
"checkouts",
$session,
[],
$params,
[],
);

return $response->getDecodedBody();
}

}
47 changes: 47 additions & 0 deletions src/Rest/Admin2024_07/AccessScope.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php

/***********************************************************************************************************************
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
***********************************************************************************************************************/

declare(strict_types=1);

namespace Shopify\Rest\Admin2024_07;

use Shopify\Auth\Session;
use Shopify\Rest\Base;

/**
* @property string $handle
* @property array[]|null $access_scopes
*/
class AccessScope extends Base
{
public static string $API_VERSION = "2024-07";
protected static array $HAS_ONE = [];
protected static array $HAS_MANY = [];
protected static ?string $CUSTOM_PREFIX = "/admin/oauth";
protected static array $PATHS = [
["http_method" => "get", "operation" => "get", "ids" => [], "path" => "access_scopes.json"]
];

/**
* @param Session $session
* @param array $urlIds
* @param mixed[] $params
*
* @return AccessScope[]
*/
public static function all(
Session $session,
array $urlIds = [],
array $params = []
): array {
return parent::baseFind(
$session,
[],
$params,
);
}

}
105 changes: 105 additions & 0 deletions src/Rest/Admin2024_07/ApplePayCertificate.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?php

/***********************************************************************************************************************
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
***********************************************************************************************************************/

declare(strict_types=1);

namespace Shopify\Rest\Admin2024_07;

use Shopify\Auth\Session;
use Shopify\Rest\Base;

/**
* @property int|null $id
* @property string|null $merchant_id
* @property string|null $status
*/
class ApplePayCertificate extends Base
{
public static string $API_VERSION = "2024-07";
protected static array $HAS_ONE = [];
protected static array $HAS_MANY = [];
protected static array $PATHS = [
["http_method" => "delete", "operation" => "delete", "ids" => ["id"], "path" => "apple_pay_certificates/<id>.json"],
["http_method" => "get", "operation" => "csr", "ids" => ["id"], "path" => "apple_pay_certificates/<id>/csr.json"],
["http_method" => "get", "operation" => "get", "ids" => ["id"], "path" => "apple_pay_certificates/<id>.json"],
["http_method" => "post", "operation" => "post", "ids" => [], "path" => "apple_pay_certificates.json"],
["http_method" => "put", "operation" => "put", "ids" => ["id"], "path" => "apple_pay_certificates/<id>.json"]
];

/**
* @param Session $session
* @param int|string $id
* @param array $urlIds
* @param mixed[] $params
*
* @return ApplePayCertificate|null
*/
public static function find(
Session $session,
$id,
array $urlIds = [],
array $params = []
): ?ApplePayCertificate {
$result = parent::baseFind(
$session,
array_merge(["id" => $id], $urlIds),
$params,
);
return !empty($result) ? $result[0] : null;
}

/**
* @param Session $session
* @param int|string $id
* @param array $urlIds
* @param mixed[] $params
*
* @return array|null
*/
public static function delete(
Session $session,
$id,
array $urlIds = [],
array $params = []
): ?array {
$response = parent::request(
"delete",
"delete",
$session,
array_merge(["id" => $id], $urlIds),
$params,
);

return $response->getDecodedBody();
}

/**
* @param Session $session
* @param int|string $id
* @param array $urlIds
* @param mixed[] $params
*
* @return array|null
*/
public static function csr(
Session $session,
$id,
array $urlIds = [],
array $params = []
): ?array {
$response = parent::request(
"get",
"csr",
$session,
array_merge(["id" => $id], $urlIds),
$params,
[],
);

return $response->getDecodedBody();
}

}
83 changes: 83 additions & 0 deletions src/Rest/Admin2024_07/ApplicationCharge.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?php

/***********************************************************************************************************************
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
***********************************************************************************************************************/

declare(strict_types=1);

namespace Shopify\Rest\Admin2024_07;

use Shopify\Auth\Session;
use Shopify\Rest\Base;

/**
* @property string|null $confirmation_url
* @property string|null $created_at
* @property Currency|null $currency
* @property int|null $id
* @property string|null $name
* @property string|float|null $price
* @property string|null $return_url
* @property string|null $status
* @property bool|null $test
* @property string|null $updated_at
*/
class ApplicationCharge extends Base
{
public static string $API_VERSION = "2024-07";
protected static array $HAS_ONE = [
"currency" => Currency::class
];
protected static array $HAS_MANY = [];
protected static array $PATHS = [
["http_method" => "get", "operation" => "get", "ids" => [], "path" => "application_charges.json"],
["http_method" => "get", "operation" => "get", "ids" => ["id"], "path" => "application_charges/<id>.json"],
["http_method" => "post", "operation" => "post", "ids" => [], "path" => "application_charges.json"]
];

/**
* @param Session $session
* @param int|string $id
* @param array $urlIds
* @param mixed[] $params Allowed indexes:
* fields
*
* @return ApplicationCharge|null
*/
public static function find(
Session $session,
$id,
array $urlIds = [],
array $params = []
): ?ApplicationCharge {
$result = parent::baseFind(
$session,
array_merge(["id" => $id], $urlIds),
$params,
);
return !empty($result) ? $result[0] : null;
}

/**
* @param Session $session
* @param array $urlIds
* @param mixed[] $params Allowed indexes:
* since_id,
* fields
*
* @return ApplicationCharge[]
*/
public static function all(
Session $session,
array $urlIds = [],
array $params = []
): array {
return parent::baseFind(
$session,
[],
$params,
);
}

}
Loading

0 comments on commit 4ad7ad2

Please sign in to comment.