Chilkat Online Tools

unicodeC / Egyptian eInvoicing SDK R1.5 / 2.3.3. Submit Receipt - General Services

Back to Collection Items

#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    BOOL success;
    HCkJsonObjectW json;
    HCkHttpResponseW resp;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    http = CkHttpW_Create();

    // Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //   "receipts": [
    //     {
    //       "header": {
    //         "dateTimeIssued": "2022-06-13T00:34:00Z",
    //         "receiptNumber": "{{receiptNumber1}}",
    //         "uuid": "{{receiptUuid1}}",
    //         "previousUUID": "",
    //         "referenceOldUUID": "",
    //         "currency": "EGP",
    //         "exchangeRate": 0
    //       },
    //       "documentType": {
    //         "receiptType": "SS",
    //         "typeVersion": "1.0"
    //       },
    //       "seller": {
    //         "rin": "674859545",
    //         "companyTradeName": "شركة الصوفى",
    //         "branchCode": "0",
    //         "branchAddress": {
    //           "country": "EG",
    //           "governate": "cairo",
    //           "regionCity": "city center",
    //           "street": "16 street",
    //           "buildingNumber": "14BN",
    //           "postalCode": "74235",
    //           "floor": "1F",
    //           "room": "3R",
    //           "landmark": "tahrir square",
    //           "additionalInformation": "talaat harb street"
    //         },
    //         "deviceSerialNumber": "Sofy123",
    //         "activityCode": "4620"
    //       },
    //       "buyer": {
    //         "type": "F",
    //         "id": "313717919",
    //         "name": "taxpayer 1",
    //         "mobileNumber": "+201020567462",
    //         "paymentNumber": "987654"
    //       },
    //       "itemData": [
    //         {
    //           "internalCode": "880609",
    //           "description": "Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB",
    //           "itemType": "GS1",
    //           "itemCode": "037000401629",
    //           "unitType": "EA",
    //           "quantity": 35,
    //           "unitPrice": 247.96000,
    //           "netSale": 7810.74000,
    //           "totalSale": 8678.60000,
    //           "total": 8887.04360,
    //           "commercialDiscountData": [
    //             {
    //               "amount": 867.86000,
    //               "description": "XYZ"
    //             }
    //           ],
    //           "itemDiscountData": [
    //             {
    //               "amount": 10,
    //               "description": "ABC"
    //             },
    //             {
    //               "amount": 10,
    //               "description": "XYZ"
    //             }
    //           ],
    //           "valueDifference": 20,
    //           "taxableItems": [
    //             {
    //               "taxType": "T1",
    //               "amount": 1096.30360,
    //               "subType": "V009",
    //               "rate": 14
    //             }
    //           ]
    //         }
    //       ],
    //       "totalSales": 8678.60000,
    //       "totalCommercialDiscount": 867.86000,
    //       "totalItemsDiscount": 20,
    //       "extraReceiptDiscountData": [
    //         {
    //           "amount": 0,
    //           "description": "ABC"
    //         }
    //       ],
    //       "netAmount": 7810.74000,
    //       "feesAmount": 0,
    //       "totalAmount": 8887.04360,
    //       "taxTotals": [
    //         {
    //           "taxType": "T1",
    //           "amount": 1096.30360
    //         }
    //       ],
    //       "paymentMethod": "C",
    //       "adjustment": 0
    //     }
    //   ]
    // }

    json = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(json,L"receipts[0].header.dateTimeIssued",L"2022-06-13T00:34:00Z");
    CkJsonObjectW_UpdateString(json,L"receipts[0].header.receiptNumber",L"{{receiptNumber1}}");
    CkJsonObjectW_UpdateString(json,L"receipts[0].header.uuid",L"{{receiptUuid1}}");
    CkJsonObjectW_UpdateString(json,L"receipts[0].header.previousUUID",L"");
    CkJsonObjectW_UpdateString(json,L"receipts[0].header.referenceOldUUID",L"");
    CkJsonObjectW_UpdateString(json,L"receipts[0].header.currency",L"EGP");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].header.exchangeRate",0);
    CkJsonObjectW_UpdateString(json,L"receipts[0].documentType.receiptType",L"SS");
    CkJsonObjectW_UpdateString(json,L"receipts[0].documentType.typeVersion",L"1.0");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.rin",L"674859545");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.companyTradeName",L"شركة الصوفى");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchCode",L"0");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.country",L"EG");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.governate",L"cairo");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.regionCity",L"city center");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.street",L"16 street");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.buildingNumber",L"14BN");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.postalCode",L"74235");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.floor",L"1F");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.room",L"3R");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.landmark",L"tahrir square");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.branchAddress.additionalInformation",L"talaat harb street");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.deviceSerialNumber",L"Sofy123");
    CkJsonObjectW_UpdateString(json,L"receipts[0].seller.activityCode",L"4620");
    CkJsonObjectW_UpdateString(json,L"receipts[0].buyer.type",L"F");
    CkJsonObjectW_UpdateString(json,L"receipts[0].buyer.id",L"313717919");
    CkJsonObjectW_UpdateString(json,L"receipts[0].buyer.name",L"taxpayer 1");
    CkJsonObjectW_UpdateString(json,L"receipts[0].buyer.mobileNumber",L"+201020567462");
    CkJsonObjectW_UpdateString(json,L"receipts[0].buyer.paymentNumber",L"987654");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].internalCode",L"880609");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].description",L"Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].itemType",L"GS1");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].itemCode",L"037000401629");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].unitType",L"EA");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].itemData[0].quantity",35);
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].itemData[0].unitPrice",L"247.96000");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].itemData[0].netSale",L"7810.74000");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].itemData[0].totalSale",L"8678.60000");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].itemData[0].total",L"8887.04360");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].itemData[0].commercialDiscountData[0].amount",L"867.86000");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].commercialDiscountData[0].description",L"XYZ");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].itemData[0].itemDiscountData[0].amount",10);
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].itemDiscountData[0].description",L"ABC");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].itemData[0].itemDiscountData[1].amount",10);
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].itemDiscountData[1].description",L"XYZ");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].itemData[0].valueDifference",20);
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].taxableItems[0].taxType",L"T1");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].itemData[0].taxableItems[0].amount",L"1096.30360");
    CkJsonObjectW_UpdateString(json,L"receipts[0].itemData[0].taxableItems[0].subType",L"V009");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].itemData[0].taxableItems[0].rate",14);
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].totalSales",L"8678.60000");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].totalCommercialDiscount",L"867.86000");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].totalItemsDiscount",20);
    CkJsonObjectW_UpdateInt(json,L"receipts[0].extraReceiptDiscountData[0].amount",0);
    CkJsonObjectW_UpdateString(json,L"receipts[0].extraReceiptDiscountData[0].description",L"ABC");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].netAmount",L"7810.74000");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].feesAmount",0);
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].totalAmount",L"8887.04360");
    CkJsonObjectW_UpdateString(json,L"receipts[0].taxTotals[0].taxType",L"T1");
    CkJsonObjectW_UpdateNumber(json,L"receipts[0].taxTotals[0].amount",L"1096.30360");
    CkJsonObjectW_UpdateString(json,L"receipts[0].paymentMethod",L"C");
    CkJsonObjectW_UpdateInt(json,L"receipts[0].adjustment",0);

    // Adds the "Authorization: Bearer <access_token>" header.
    CkHttpW_putAuthToken(http,L"<access_token>");

    resp = CkHttpW_PostJson3(http,L"https://domain.com/api/v1/receiptsubmissions",L"application/json",json);
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        return;
    }

    wprintf(L"%d\n",CkHttpResponseW_getStatusCode(resp));
    wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
    CkHttpResponseW_Dispose(resp);


    CkHttpW_Dispose(http);
    CkJsonObjectW_Dispose(json);

    }

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-d '{
    "receipts": [
        {
            "header": {
                "dateTimeIssued": "2022-06-13T00:34:00Z",
                "receiptNumber": "{{receiptNumber1}}",
                "uuid": "{{receiptUuid1}}",
                "previousUUID": "",
                "referenceOldUUID": "",
                "currency": "EGP",
                "exchangeRate": 0
            },
            "documentType": {
                "receiptType": "SS",
                "typeVersion": "1.0"
            },
            "seller": {
                "rin": "674859545",
                "companyTradeName": "شركة الصوفى",
                "branchCode": "0",
                "branchAddress": {
                    "country": "EG",
                    "governate": "cairo",
                    "regionCity": "city center",
                    "street": "16 street",
                    "buildingNumber": "14BN",
                    "postalCode": "74235",
                    "floor": "1F",
                    "room": "3R",
                    "landmark": "tahrir square",
                    "additionalInformation": "talaat harb street"
                },
                "deviceSerialNumber": "Sofy123",
                "activityCode": "4620"
            },
            "buyer": {
                "type": "F",
                "id": "313717919",
                "name": "taxpayer 1",
                "mobileNumber": "+201020567462",
                "paymentNumber": "987654"
            },
            "itemData": [
                {
                    "internalCode": "880609",
                    "description": "Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB",
                    "itemType": "GS1",
                    "itemCode": "037000401629",
                    "unitType": "EA",
                    "quantity": 35,
                    "unitPrice":  247.96000 ,
                    "netSale":  7810.74000 ,
                    "totalSale":  8678.60000 ,
                    "total":  8887.04360 ,
                    "commercialDiscountData": [
                         {
                             "amount": 867.86000, 
                             "description": "XYZ"
                         }
                    ],
                    "itemDiscountData": [
                        {
                            "amount": 10,
                            "description":"ABC"
                        },
                        {
                            "amount": 10,
                            "description": "XYZ"
                        }
                    ],
                    "valueDifference": 20,
                    "taxableItems": [
                        {
                                "taxType": "T1",
                                "amount":  1096.30360 ,
                                "subType": "V009",
                                "rate": 14
                        }
                    ]
                }
            ],
            "totalSales": 8678.60000,
            "totalCommercialDiscount": 867.86000,
            "totalItemsDiscount": 20,
            "extraReceiptDiscountData": [
               {
                   "amount": 0,
                   "description": "ABC"
               }
            ],
            "netAmount": 7810.74000,
            "feesAmount": 0,
            "totalAmount": 8887.04360,
            "taxTotals": [
                    {
                        "taxType": "T1",
                        "amount": 1096.30360
                    }
            ],
            "paymentMethod": "C",
            "adjustment": 0
        }
    ]
    
}'
https://domain.com/api/v1/receiptsubmissions

Postman Collection Item JSON

{
  "name": "2.3.3. Submit Receipt - General Services",
  "request": {
    "auth": {
      "type": "bearer",
      "bearer": [
        {
          "key": "token",
          "value": "{{generatedAccessToken}}",
          "type": "string"
        }
      ]
    },
    "method": "POST",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "{\r\n    \"receipts\": [\r\n        {\r\n            \"header\": {\r\n                \"dateTimeIssued\": \"2022-06-13T00:34:00Z\",\r\n                \"receiptNumber\": \"{{receiptNumber1}}\",\r\n                \"uuid\": \"{{receiptUuid1}}\",\r\n                \"previousUUID\": \"\",\r\n                \"referenceOldUUID\": \"\",\r\n                \"currency\": \"EGP\",\r\n                \"exchangeRate\": 0\r\n            },\r\n            \"documentType\": {\r\n                \"receiptType\": \"SS\",\r\n                \"typeVersion\": \"1.0\"\r\n            },\r\n            \"seller\": {\r\n                \"rin\": \"674859545\",\r\n                \"companyTradeName\": \"شركة الصوفى\",\r\n                \"branchCode\": \"0\",\r\n                \"branchAddress\": {\r\n                    \"country\": \"EG\",\r\n                    \"governate\": \"cairo\",\r\n                    \"regionCity\": \"city center\",\r\n                    \"street\": \"16 street\",\r\n                    \"buildingNumber\": \"14BN\",\r\n                    \"postalCode\": \"74235\",\r\n                    \"floor\": \"1F\",\r\n                    \"room\": \"3R\",\r\n                    \"landmark\": \"tahrir square\",\r\n                    \"additionalInformation\": \"talaat harb street\"\r\n                },\r\n                \"deviceSerialNumber\": \"Sofy123\",\r\n                \"activityCode\": \"4620\"\r\n            },\r\n            \"buyer\": {\r\n                \"type\": \"F\",\r\n                \"id\": \"313717919\",\r\n                \"name\": \"taxpayer 1\",\r\n                \"mobileNumber\": \"+201020567462\",\r\n                \"paymentNumber\": \"987654\"\r\n            },\r\n            \"itemData\": [\r\n                {\r\n                    \"internalCode\": \"880609\",\r\n                    \"description\": \"Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB\",\r\n                    \"itemType\": \"GS1\",\r\n                    \"itemCode\": \"037000401629\",\r\n                    \"unitType\": \"EA\",\r\n                    \"quantity\": 35,\r\n                    \"unitPrice\":  247.96000 ,\r\n                    \"netSale\":  7810.74000 ,\r\n                    \"totalSale\":  8678.60000 ,\r\n                    \"total\":  8887.04360 ,\r\n                    \"commercialDiscountData\": [\r\n                         {\r\n                             \"amount\": 867.86000, \r\n                             \"description\": \"XYZ\"\r\n                         }\r\n                    ],\r\n                    \"itemDiscountData\": [\r\n                        {\r\n                            \"amount\": 10,\r\n                            \"description\":\"ABC\"\r\n                        },\r\n                        {\r\n                            \"amount\": 10,\r\n                            \"description\": \"XYZ\"\r\n                        }\r\n                    ],\r\n                    \"valueDifference\": 20,\r\n                    \"taxableItems\": [\r\n                        {\r\n                                \"taxType\": \"T1\",\r\n                                \"amount\":  1096.30360 ,\r\n                                \"subType\": \"V009\",\r\n                                \"rate\": 14\r\n                        }\r\n                    ]\r\n                }\r\n            ],\r\n            \"totalSales\": 8678.60000,\r\n            \"totalCommercialDiscount\": 867.86000,\r\n            \"totalItemsDiscount\": 20,\r\n            \"extraReceiptDiscountData\": [\r\n               {\r\n                   \"amount\": 0,\r\n                   \"description\": \"ABC\"\r\n               }\r\n            ],\r\n            \"netAmount\": 7810.74000,\r\n            \"feesAmount\": 0,\r\n            \"totalAmount\": 8887.04360,\r\n            \"taxTotals\": [\r\n                    {\r\n                        \"taxType\": \"T1\",\r\n                        \"amount\": 1096.30360\r\n                    }\r\n            ],\r\n            \"paymentMethod\": \"C\",\r\n            \"adjustment\": 0\r\n        }\r\n    ]\r\n    \r\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "{{apiBaseUrl}}/api/v1/receiptsubmissions",
      "host": [
        "{{apiBaseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "receiptsubmissions"
      ]
    }
  },
  "response": [
  ]
}