{
  "info": {
    "_postman_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "API LAZISNU - Mitra Eksternal",
    "description": "Spesifikasi integrasi API mitra eksternal LAZISNU (NU Care CMS).\n\nDokumentasi lengkap: `documentations/API-LAZISNU-MITRA-EKSTERNAL.md`\nOpenAPI: `documentations/openapi-mitra-eksternal.yaml`",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "api_host", "value": "your-api-host.nucare.id", "description": "Host production/staging — diberikan saat onboarding" },
    { "key": "base_url", "value": "https://{{api_host}}/api/v1/partners" },
    { "key": "api_key", "value": "YOUR_API_KEY" },
    { "key": "partner_code", "value": "your_partner_code" },
    { "key": "idempotency_key", "value": "550e8400-e29b-41d4-a716-446655440000" }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{api_key}}", "type": "string" }]
  },
  "item": [
    {
      "name": "Partner",
      "item": [
        {
          "name": "Get Partner Profile",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" },
              { "key": "Accept", "value": "application/json" }
            ],
            "url": "{{base_url}}/me"
          },
          "response": [
            {
              "name": "200 OK",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"meta\": {\n    \"code\": 200,\n    \"status\": \"success\",\n    \"message\": null,\n    \"response_date\": \"2026-06-03T10:12:07+07:00\",\n    \"request_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  },\n  \"data\": {\n    \"partner_code\": \"your_partner_code\",\n    \"partner_name\": \"YOUR PARTNER\",\n    \"organization\": {\n      \"id\": 1,\n      \"name\": \"LAZISNU Pusat\",\n      \"slug\": \"lazisnu-pusat\",\n      \"phone\": \"021-xxxx\",\n      \"email\": \"info@lazisnu.or.id\",\n      \"address\": \"Jakarta\",\n      \"npwp\": \"xx.xxx.xxx.x-xxx.xxx\"\n    },\n    \"allowed_category_ids\": [1, 2, 3, 4],\n    \"webhook_url\": \"https://partner.example.com/webhooks/lazisnu\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Catalog",
      "item": [
        {
          "name": "List Categories",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": "{{base_url}}/categories"
          }
        },
        {
          "name": "List Sub Categories (Pendidikan)",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": "{{base_url}}/categories/3/sub-categories"
          }
        },
        {
          "name": "List Campaigns by Sub Category",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": {
              "raw": "{{base_url}}/campaigns?category_id=3&sub_category_id=6&page=1&per_page=20",
              "host": ["{{base_url}}"],
              "path": ["campaigns"],
              "query": [
                { "key": "category_id", "value": "3" },
                { "key": "sub_category_id", "value": "6", "description": "Sub-kategori Pendidikan" },
                { "key": "page", "value": "1" },
                { "key": "per_page", "value": "20" }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"meta\": {\n    \"code\": 200,\n    \"status\": \"success\",\n    \"message\": null,\n    \"response_date\": \"2026-06-03T10:12:07+07:00\",\n    \"request_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  },\n  \"data\": [\n    {\n      \"id\": 9,\n      \"title\": \"Bantu Pulihkan Pesantren Terdampak Banjir Sultra\",\n      \"slug\": \"bantu_pulihkan_pesantren_terdampak_banjir_sultra\",\n      \"category\": { \"id\": 3, \"name\": \"Campaign\", \"slug\": \"campaign\" },\n      \"sub_category\": { \"id\": 6, \"name\": \"Pendidikan\", \"slug\": \"pendidikan\" },\n      \"status\": \"open\",\n      \"target\": 500000000,\n      \"total_collected\": 125000000\n    }\n  ],\n  \"pagination\": { \"current_page\": 1, \"per_page\": 20, \"total\": 15, \"last_page\": 1 }\n}"
            }
          ]
        },
        {
          "name": "Get Campaign Detail",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": "{{base_url}}/campaigns/9"
          }
        },
        {
          "name": "List Zakat Maal",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": {
              "raw": "{{base_url}}/zakat?type=zakat_maal",
              "host": ["{{base_url}}"],
              "path": ["zakat"],
              "query": [
                { "key": "type", "value": "zakat_maal", "description": "Jenis program zakat" }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"meta\": {\n    \"code\": 200,\n    \"status\": \"success\",\n    \"message\": null,\n    \"response_date\": \"2026-06-03T10:12:07+07:00\",\n    \"request_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  },\n  \"data\": [\n    {\n      \"id\": 58,\n      \"title\": \"Zakat Maal\",\n      \"slug\": \"zakat_maal\",\n      \"program_type\": \"zakat\",\n      \"category_id\": 1,\n      \"status\": \"open\",\n      \"minimum_amount\": 10000\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "List Qurban Products",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": "{{base_url}}/qurban/products"
          },
          "response": [
            {
              "name": "200 OK",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"meta\": {\n    \"code\": 200,\n    \"status\": \"success\",\n    \"message\": null,\n    \"response_date\": \"2026-06-03T10:12:07+07:00\",\n    \"request_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  },\n  \"data\": [\n    {\n      \"id\": 37,\n      \"title\": \"Kambing\",\n      \"slug\": \"kambing\",\n      \"category_id\": 4,\n      \"price\": 2900000,\n      \"status\": \"open\"\n    }\n  ]\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Transactions",
      "item": [
        {
          "name": "Create Transaction - Donasi",
          "request": {
            "method": "POST",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" },
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Idempotency-Key", "value": "{{idempotency_key}}" },
              { "key": "X-Request-Id", "value": "550e8400-e29b-41d4-a716-446655440001" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"donation_id\": 9,\n  \"amount\": 1000000,\n  \"name\": \"Andi Chan\",\n  \"email\": \"andichan@gmail.com\",\n  \"phone\": \"0853981253678\",\n  \"npwp\": \"1234567891234567\",\n  \"description\": \"Donasi via mitra\",\n  \"partner_reference_id\": \"PTR-20260603-001\",\n  \"meta_data\": {\n    \"channel\": \"partner_checkout\",\n    \"order_id\": \"1234567890\"\n  }\n}"
            },
            "url": "{{base_url}}/transactions"
          },
          "response": [
            {
              "name": "201 Created",
              "status": "Created",
              "code": 201,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"meta\": {\n    \"code\": 201,\n    \"status\": \"success\",\n    \"message\": \"Transaction created\",\n    \"response_date\": \"2026-06-03T10:12:07+07:00\",\n    \"request_id\": \"550e8400-e29b-41d4-a716-446655440001\"\n  },\n  \"data\": {\n    \"id\": 4,\n    \"trx_id\": \"LZNU00011718000000\",\n    \"donation_id\": 9,\n    \"donation\": {\n      \"id\": 9,\n      \"title\": \"Bantu Pulihkan Pesantren Terdampak Banjir Sultra\",\n      \"slug\": \"bantu_pulihkan_pesantren_terdampak_banjir_sultra\"\n    },\n    \"amount\": 1000000,\n    \"name\": \"Andi Chan\",\n    \"email\": \"andichan@gmail.com\",\n    \"phone\": \"0853981253678\",\n    \"status\": \"SUCCESS\",\n    \"via_method\": \"partner\",\n    \"payment_method\": \"your_partner_code\",\n    \"partner_code\": \"your_partner_code\",\n    \"partner_reference_id\": \"PTR-20260603-001\",\n    \"created_at\": \"2026-06-03T10:12:07+07:00\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Create Transaction - Zakat Maal",
          "request": {
            "method": "POST",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" },
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Idempotency-Key", "value": "{{$guid}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"donation_id\": 58,\n  \"amount\": 1000000,\n  \"name\": \"Andi Chan Test\",\n  \"email\": \"andichantest@gmail.com\",\n  \"phone\": \"0853981253678\",\n  \"npwp\": \"1234567891234567\",\n  \"partner_reference_id\": \"PTR-20260603-002\"\n}"
            },
            "url": "{{base_url}}/transactions"
          }
        },
        {
          "name": "Create Transaction - Qurban",
          "request": {
            "method": "POST",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" },
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Idempotency-Key", "value": "{{$guid}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"donation_id\": 37,\n  \"amount\": 2900000,\n  \"name\": \"Andi Chan Test\",\n  \"email\": \"andichantest@gmail.com\",\n  \"phone\": \"0853981261336\",\n  \"partner_reference_id\": \"PTR-20260603-003\"\n}"
            },
            "url": "{{base_url}}/transactions"
          }
        },
        {
          "name": "List Transactions",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": {
              "raw": "{{base_url}}/transactions?status=SUCCESS&page=1&per_page=20",
              "host": ["{{base_url}}"],
              "path": ["transactions"],
              "query": [
                { "key": "status", "value": "SUCCESS" },
                { "key": "page", "value": "1" },
                { "key": "per_page", "value": "20" }
              ]
            }
          }
        },
        {
          "name": "Get Transaction by trx_id",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": "{{base_url}}/transactions/LZNU00011718000000"
          }
        },
        {
          "name": "Transaction History",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-Partner-Code", "value": "{{partner_code}}" }
            ],
            "url": "{{base_url}}/transactions/history"
          }
        }
      ]
    },
    {
      "name": "Webhook (Outbound to Partner)",
      "description": "Contoh payload yang DIKIRIM LAZISNU ke webhook URL mitra",
      "item": [
        {
          "name": "Sample Webhook - transaction.status_updated",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-Lazisnu-Signature", "value": "sha256=example_hmac_signature" },
              { "key": "X-Lazisnu-Timestamp", "value": "1718000000" },
              { "key": "X-Request-Id", "value": "550e8400-e29b-41d4-a716-446655440002" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event\": \"transaction.status_updated\",\n  \"data\": {\n    \"trx_id\": \"LZNU00011718000000\",\n    \"partner_reference_id\": \"PTR-20260603-001\",\n    \"status\": \"SUCCESS\",\n    \"amount\": 1000000,\n    \"payment_method\": \"your_partner_code\",\n    \"paid_at\": \"2026-06-03T10:15:00+07:00\",\n    \"donation\": {\n      \"id\": 9,\n      \"title\": \"Bantu Pulihkan Pesantren Terdampak Banjir Sultra\",\n      \"slug\": \"bantu_pulihkan_pesantren_terdampak_banjir_sultra\"\n    }\n  }\n}"
            },
            "url": "https://partner.example.com/webhooks/lazisnu"
          }
        }
      ]
    }
  ]
}
