kiriminaja 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f91b65e2318ef923ad6c94d68f3ee123169f394fc81d8afc5e72c6701d6f9d6
4
- data.tar.gz: 334b5eec514bd8dcd42a70c046ee3c3e6d3d53a3dd05b5978c30588c941380a5
3
+ metadata.gz: 310f2dc37e8e014ca682e32a2bbbbd96073675dcaa78ca1126818932bec782b6
4
+ data.tar.gz: 81087fafb216e7e6df106c989936cec02cdf6f8c740e6219c1c30c27957f14ee
5
5
  SHA512:
6
- metadata.gz: 8fc25cc5e4802430c88fe387e5ed69090dfe9394d5183abb14c5f3f30b53fc9284f81a541fadbde682bc93a2e5a3f4980ae5afc38427abad72bec0978ad8ad8c
7
- data.tar.gz: ca3bd22133d9bcea3fdc332e129408e6af08fc11d72f3f5b4854f4fccaedfb0b45648e8dd4d49d9760aed0d2d11f1f88061a59ab4183a43b00a8ce09d9bf0207
6
+ metadata.gz: 6ec28f0546d8bb24c207d365d3bbc2e2925258c7f0d9dcc9c687144f47f6d219911b1812fbe2aeb71fbdac47e7a1b5d93a64b12515c0d2ffbfa815c80603ed4b
7
+ data.tar.gz: 106cab76b95896ba2e2c16e4ee855f2b281812157de98b1d3c7df7c118ce13b0cb6534991639de8cecfb2fea59a765821011a8da8905ba8b5900de1783b94d10
data/README.md CHANGED
@@ -268,6 +268,45 @@ client.credit.balance
268
268
 
269
269
  ---
270
270
 
271
+ ### AWB (Print Waybill)
272
+
273
+ ```ruby
274
+ # Print shipping label / waybill by AWB number(s)
275
+ client.awb.print({ awb: ["AWB123", "AWB456"] })
276
+ # response["data"]["data"]["url"] => PDF download URL
277
+ ```
278
+
279
+ ---
280
+
281
+ ### Calculations (COD)
282
+
283
+ ```ruby
284
+ # Calculate COD (Cash on Delivery) fee
285
+ client.calculations.cod({
286
+ item_price: 100000,
287
+ data: [
288
+ {
289
+ courier_code: "jne",
290
+ courier_service_code: "reg",
291
+ shipping_cost: 10000,
292
+ },
293
+ ],
294
+ })
295
+ # response["results"] => array of fee breakdown per courier/service
296
+ ```
297
+
298
+ ---
299
+
300
+ ### Profile
301
+
302
+ ```ruby
303
+ # Get member profile and metadata
304
+ client.profile.get
305
+ # response["results"]["id"], response["results"]["email"], etc.
306
+ ```
307
+
308
+ ---
309
+
271
310
  ### Utilities — Volumetric
272
311
 
273
312
  Estimate the smallest bounding box (length / width / height) for a
@@ -7,16 +7,19 @@ require_relative "types/enums"
7
7
  require_relative "types/address"
8
8
  require_relative "types/order"
9
9
  require_relative "services/address/address"
10
+ require_relative "services/awb/awb"
11
+ require_relative "services/calculations/calculations"
10
12
  require_relative "services/coverage_area/coverage_area"
11
13
  require_relative "services/courier/courier"
12
14
  require_relative "services/credit/credit"
13
15
  require_relative "services/order/order"
14
16
  require_relative "services/payment/payment"
15
17
  require_relative "services/pickup/pickup"
18
+ require_relative "services/profile/profile"
16
19
 
17
20
  module KiriminAja
18
21
  class Client
19
- attr_reader :address, :coverage_area, :courier, :credit, :order, :payment, :pickup
22
+ attr_reader :address, :awb, :calculations, :coverage_area, :courier, :credit, :order, :payment, :pickup, :profile
20
23
 
21
24
  def initialize(env: Config::ENV_SANDBOX, api_key: nil, base_url: nil, http_client: nil)
22
25
  config = Config::ClientConfig.new(
@@ -28,12 +31,15 @@ module KiriminAja
28
31
  http = Http::Request.new(config)
29
32
 
30
33
  @address = Services::AddressService.new(http)
34
+ @awb = Services::AWBService.new(http)
35
+ @calculations = Services::CalculationsService.new(http)
31
36
  @coverage_area = Services::CoverageAreaService.new(http)
32
37
  @courier = Services::CourierService.new(http)
33
38
  @credit = Services::CreditService.new(http)
34
39
  @order = Services::OrderService.new(http)
35
40
  @payment = Services::PaymentService.new(http)
36
41
  @pickup = Services::PickupService.new(http)
42
+ @profile = Services::ProfileService.new(http)
37
43
  end
38
44
  end
39
45
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module KiriminAja
4
+ module Services
5
+ class AWBService
6
+ def initialize(http)
7
+ @http = http
8
+ end
9
+
10
+ def print(payload)
11
+ @http.post_json("/api/mitra/v6.1/awb/print", payload)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module KiriminAja
4
+ module Services
5
+ class CalculationsService
6
+ def initialize(http)
7
+ @http = http
8
+ end
9
+
10
+ def cod(payload)
11
+ @http.post_json("/api/mitra/calculations/cod", payload)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module KiriminAja
4
+ module Services
5
+ class ProfileService
6
+ def initialize(http)
7
+ @http = http
8
+ end
9
+
10
+ def get
11
+ @http.get_json("/api/mitra/v6.2/profile")
12
+ end
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kiriminaja
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - KiriminAja Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-23 00:00:00.000000000 Z
11
+ date: 2026-06-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby SDK for the KiriminAja logistics API. Supports address lookup, coverage
14
14
  area pricing, order management (express & instant), courier services, pickup scheduling,
@@ -28,12 +28,15 @@ files:
28
28
  - lib/kiriminaja/config/client.rb
29
29
  - lib/kiriminaja/http/request.rb
30
30
  - lib/kiriminaja/services/address/address.rb
31
+ - lib/kiriminaja/services/awb/awb.rb
32
+ - lib/kiriminaja/services/calculations/calculations.rb
31
33
  - lib/kiriminaja/services/courier/courier.rb
32
34
  - lib/kiriminaja/services/coverage_area/coverage_area.rb
33
35
  - lib/kiriminaja/services/credit/credit.rb
34
36
  - lib/kiriminaja/services/order/order.rb
35
37
  - lib/kiriminaja/services/payment/payment.rb
36
38
  - lib/kiriminaja/services/pickup/pickup.rb
39
+ - lib/kiriminaja/services/profile/profile.rb
37
40
  - lib/kiriminaja/types/address.rb
38
41
  - lib/kiriminaja/types/enums.rb
39
42
  - lib/kiriminaja/types/order.rb