All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dft.api.shopify.v202401.ShopifyOrdersAPI Maven / Gradle / Ivy

The newest version!
package com.dft.api.shopify.v202401;

import com.dft.api.shopify.ShopifySdkNew;
import com.dft.api.shopify.model.Count;
import com.dft.api.shopify.model.auth.AccessCredential;
import com.dft.api.shopify.v202307.model.metafields.ShopifyMetafieldRequest;
import com.dft.api.shopify.v202307.model.metafields.ShopifyMetafieldWrapper;
import com.dft.api.shopify.v202307.model.metafields.ShopifyMetafieldsWrapper;
import com.dft.api.shopify.v202401.model.fulfillmentorder.FulfillmentOrderResponse;
import com.dft.api.shopify.v202401.model.orders.ShopifyOrderRequest;
import com.dft.api.shopify.v202401.model.orders.ShopifyOrderWrapper;
import com.dft.api.shopify.v202401.model.orders.ShopifyOrdersWrapper;
import com.dft.api.shopify.v202401.model.transactions.ShopifyTransactionRequest;
import com.dft.api.shopify.v202401.model.transactions.ShopifyTransactionWrapper;
import com.dft.api.shopify.v202401.model.transactions.ShopifyTransactionsWrapper;

import java.net.URI;
import java.net.http.HttpRequest;
import java.util.HashMap;

import static com.dft.api.shopify.constantcode.ConstantCodes.FORWARD_SLASH;

public class ShopifyOrdersAPI extends ShopifySdkNew {

    private static final String ORDERS_ENDPOINT = "/orders";
    public static final String VERSION_2024_01 = "/2024-01";
    public static final String METAFIELDS_ENDPOINT = "/metafields";
    private static final String TRANSACTIONS_ENDPOINT = "/transactions";
    private static final String COUNT = "/count";
    private static final String FULFILLMENT_ORDERS = "/fulfillment_orders";

    public ShopifyOrdersAPI(AccessCredential accessCredential) {
        super(accessCredential);
    }

    public ShopifyOrdersWrapper getAllOrders(HashMap params) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT);
        uri = addParameters(uri, params);

        HttpRequest request = get(uri);
        return getRequestWrapped(request, ShopifyOrdersWrapper.class);
    }

    public ShopifyOrderWrapper getOrder(Long orderId) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId);

        HttpRequest request = get(uri);
        return getRequestWrapped(request, ShopifyOrderWrapper.class);
    }

    public FulfillmentOrderResponse getFulfillmentOrder(Long orderId) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId + FULFILLMENT_ORDERS);

        HttpRequest request = get(uri);
        return getRequestWrapped(request, FulfillmentOrderResponse.class);
    }

    public ShopifyOrderWrapper createShopifyOrder(ShopifyOrderRequest shopifyOrderRequest) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT);

        HttpRequest request = postWithObject(uri, shopifyOrderRequest);
        return getRequestWrapped(request, ShopifyOrderWrapper.class);
    }

    public ShopifyOrderWrapper updateShopifyOrder(Long orderId, ShopifyOrderRequest shopifyOrderRequest) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId);

        HttpRequest request = putWithObject(uri, shopifyOrderRequest);
        return getRequestWrapped(request, ShopifyOrderWrapper.class);
    }

    public ShopifyTransactionWrapper createOrderTransactionByOrderId(Long orderId, ShopifyTransactionRequest shopifyTransactionRequest) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId + TRANSACTIONS_ENDPOINT);

        HttpRequest request = postWithObject(uri, shopifyTransactionRequest);
        return getRequestWrapped(request, ShopifyTransactionWrapper.class);
    }

    public ShopifyTransactionsWrapper getOrderTransactionByOrderId(Long orderId) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId + TRANSACTIONS_ENDPOINT);

        HttpRequest request = get(uri);
        return getRequestWrapped(request, ShopifyTransactionsWrapper.class);
    }

    public ShopifyMetafieldWrapper createShopMetafields(Long metaFiledId, ShopifyMetafieldRequest shopifyMetafieldRequest) {
        URI uri = baseUrl(VERSION_2024_01, METAFIELDS_ENDPOINT + FORWARD_SLASH + metaFiledId);

        HttpRequest request = postWithObject(uri, shopifyMetafieldRequest);
        return getRequestWrapped(request, ShopifyMetafieldWrapper.class);
    }


    public ShopifyMetafieldWrapper createOrderMetafieldsByOrderId(Long orderId, ShopifyMetafieldRequest shopifyMetafieldRequest) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId + METAFIELDS_ENDPOINT);

        HttpRequest request = postWithObject(uri, shopifyMetafieldRequest);
        return getRequestWrapped(request, ShopifyMetafieldWrapper.class);
    }

    public ShopifyMetafieldsWrapper getOrderMetafieldsByOrderId(Long orderId) {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + FORWARD_SLASH + orderId + METAFIELDS_ENDPOINT);

        HttpRequest request = get(uri);
        return getRequestWrapped(request, ShopifyMetafieldsWrapper.class);
    }

    public Integer getOrderCount() {
        URI uri = baseUrl(VERSION_2024_01, ORDERS_ENDPOINT + COUNT);
        HttpRequest request = get(uri);
        Count count = getRequestWrapped(request, Count.class);
        return count.getCount();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy