Skip to content

POST API: Create or update bookings for customers

Description

This API allows customer to create a booking

URL

Full URL

https://api.dev.e4cars.io/api/v1/4pl/{accountId}/incoming-flows/incoming-order

METHOD

  • /POST

PATH parameters

  • accountId (string, required): unique identifier of the E4Box client account.

REQUEST parameters

  • body (JSON Object, required)

Standard flow

IncomingOrderBookingPivot schema
IncomingOrderBookingPivot.ts
export interface IncomingOrderPivot {
    customer_incoming_order_no?: string;
    kind?: string;
    movement_type?: string;
    issuing_date?: string;
    issuer?: {
        incoming_principal: {
           code: string;
           uirr?: string; 
        }
    };
    receiver: {
        account: {
            code: string;
        }
    },
    itus: [
        {
            itu_code?: string;
            customer_order_no?: string;
            customer_reference?: string;
            seal_nos? : string[];,
            incoming_itu: {
                iso_code?: string;,
                unit_type?: string;
                unit_subtype?: string;
                rail_profile?: string;
                itu_attributes : {
                    length?: string;
                    width?: string;
                    height?: string;
                    tare?: string;
                    max_net_weight?: string;
                    max_gross_weight?: string;
                }
            },
            cargos: [
                {
                    description?: string;
                    net_weight?: string;
                    package_quantity?: string;
                    package_type?: string;
                    incoming_check_waste?: string;
                    nhm_code?: string;
                    dangerous_goods : {
                        un_number?: string;
                        hazard_code?: string;
                        hazard_class?: string;
                        packing_group?: string;
                        danger_labels?: string[];
                    }
                }
            ],
            incoming_check_phyto_mark_needed?: string;
            incoming_check_veterinary_mark_needed?: string;
            origin: {
                incoming_member_role:{
                    check_private?: string;
                    platform: {
                        terminal : {
                            uirr?: string;
                        }
                    }
                }
            },
            destination: {
                incoming_member_role:{
                    check_private?: string,
                    platform: {
                        terminal : {
                            uirr?: string;
                        }
                    }
                }
            }
        }
    ],
    allocation:{
        pickup: {
            incoming_member_role:{
                check_private?: string;
                platform: {
                    terminal : {
                        uirr?: string;
                    }
                }
            },
            target_date : {
                date?: string;
            }
        },
        delivery: {
            incoming_member_role:{
                check_private?: string;
                platform: {
                    terminal : {
                        uirr?: string;
                    }
                }
            }
        },
        incoming_sender: {
            code?: string;
            uirr?: string;
        },
        incoming_invoice: {
            code?: string;
            uirr?: string;
        },
        incoming_receiver: {
            code?: string;
            uirr?: string;
        }
    }
}
Example of IncomingOrderBookingPivot Body
JSON
{
    "customer_incoming_order_no" : "2026030211290015",
    "kind": "booking",
    "movement_type": "create",
    "issuing_date": "2026-05-05T10:52:54",
    "issuer": {
        "incoming_principal": {
           "code": "11788",
           "uirr": "002" 
        }
    },
    "receiver": {
        "account": {
            "code": "OTC"
        }
    },
    "itus": [
        {
            "itu_code" : "RBCU400024-4",
            "customer_order_no" : "427152",
            "customer_reference" : "427152",
            "seal_nos" : [
                "seal_1",
                "seal_2"
            ],
            "incoming_itu": {
                "iso_code" : "4MB6",
                "unit_type" : "I",
                "unit_subtype" : "Subtype",
                "rail_profile" : "Rail profile",
                "itu_attributes" : {
                    "length" : "1372",
                    "width" : "244",
                    "height" : "258",
                    "tare" : "2600",
                    "max_net_weight" : "30000",
                    "max_gross_weight" : "32600"
                }
            },
            "cargos": [
            {
                "description" : "Marchandise A",
                "net_weight" : "27000",
                "package_quantity" : "2",
                "package_type" : "Package type",
                "incoming_check_waste" : "false",
                "nhm_code" : "11111",
                "dangerous_goods" : {
                    "un_number" : "111",
                    "hazard_code" : "Code",
                    "hazard_class" : "Class",
                    "packing_group" : "Group",
                    "danger_labels" : [
                        "label1",
                        "label2"
                    ]
                }
            }
            ],
            "incoming_check_phyto_mark_needed" : "false",
            "incoming_check_veterinary_mark_needed" : "false",
            "origin": {
                "incoming_member_role":{
                    "check_private": "false",
                    "platform": {
                        "terminal" : {
                            "uirr": "289"
                        }
                    }
                }
            },
            "destination": {
                "incoming_member_role":{
                    "check_private": "false",
                        "platform": {
                        "terminal" : {
                            "uirr": "222"
                        }
                    }
                }
            }
        }
    ],
    "allocation":{
        "pickup": {
            "incoming_member_role":{
                "check_private": "false",
                "platform": {
                    "terminal" : {
                        "uirr": "289"
                    }
                }
            },
            "target_date" : {
                "date" : "2026-05-22T10:52:54"
            }
        },
        "delivery": {
            "incoming_member_role":{
                "check_private": "false",
                "platform": {
                    "terminal" : {
                        "uirr": "222"
                    }
                }
            }
        },
        "incoming_sender": {
            "code": "11788",
            "uirr": "002"  
        },
        "incoming_invoicee": {
            "code": "11788",
            "uirr": "002"
        },
        "incoming_receiver": {
            "code": "11788",
            "uirr": "002"  
        }
    }
}

Date value

All date (IN or OUT) are Locale

!!! warning "Below is the list of all accepted date formats:"

    * YYYY-MM-DDTHH24:MI:SS
    * YYYY-MM-DDTHH24:MI:SSZ
    * YYYY-MM-DDTHH24:MI
    * YYYY-MM-DDTHH24:MI:SS.ms
    * YYYY-MM-DDTHH24:MI:SS.msZ

The POST request requires a body in JSON format containing the necessary information to execute the incoming flow. Here is an example of the body structure:

Example of JSON Body
JSON
{
    "customer_incoming_order_no" : "2026030211290015",
    "kind": "booking",
    "movement_type": "create",
    "issuing_date": "2026-05-05T10:52:54",
    "issuer": {
        "incoming_principal": {
           "code": "11788",
           "uirr": "002" 
        }
    },
    "receiver": {
        "account": {
            "code": "OTC"
        }
    },
    "itus": [
        {
            "itu_code" : "RBCU400024-4",
            "customer_order_no" : "427152",
            "customer_reference" : "427152",
            "seal_nos" : [
                "seal_1",
                "seal_2"
            ],
            "incoming_itu": {
                "iso_code" : "4MB6",
                "unit_type" : "I",
                "unit_subtype" : "Subtype",
                "rail_profile" : "Rail profile",
                "itu_attributes" : {
                    "length" : "1372",
                    "width" : "244",
                    "height" : "258",
                    "tare" : "2600",
                    "max_net_weight" : "30000",
                    "max_gross_weight" : "32600"
                }
            },
            "cargos": [
            {
                "description" : "Marchandise A",
                "net_weight" : "27000",
                "package_quantity" : "2",
                "package_type" : "Package type",
                "incoming_check_waste" : "false",
                "nhm_code" : "11111",
                "dangerous_goods" : {
                    "un_number" : "111",
                    "hazard_code" : "Code",
                    "hazard_class" : "Class",
                    "packing_group" : "Group",
                    "danger_labels" : [
                        "label1",
                        "label2"
                    ]
                }
            }
            ],
            "incoming_check_phyto_mark_needed" : "false",
            "incoming_check_veterinary_mark_needed" : "false",
            "origin": {
                "incoming_member_role":{
                    "check_private": "false",
                    "platform": {
                        "terminal" : {
                            "uirr": "289"
                        }
                    }
                }
            },
            "destination": {
                "incoming_member_role":{
                    "check_private": "false",
                        "platform": {
                        "terminal" : {
                            "uirr": "222"
                        }
                    }
                }
            }
        }
    ],
    "allocation":{
        "pickup": {
            "incoming_member_role":{
                "check_private": "false",
                "platform": {
                    "terminal" : {
                        "uirr": "289"
                    }
                }
            },
            "target_date" : {
                "date" : "2026-05-22T10:52:54"
            }
        },
        "delivery": {
            "incoming_member_role":{
                "check_private": "false",
                "platform": {
                    "terminal" : {
                        "uirr": "222"
                    }
                }
            }
        },
        "incoming_sender": {
            "code": "11788",
            "uirr": "002"  
        },
        "incoming_invoicee": {
            "code": "11788",
            "uirr": "002"
        },
        "incoming_receiver": {
            "code": "11788",
            "uirr": "002"  
        }
    }
}
Code Description Example Response
200 Success, the flow was executed correctly. { "status": "success", "message": "Incoming flow executed successfully." }
401 Unauthorized, missing or invalid authentication. { "status": "error", "message": "Unauthorized. Please authenticate." }
403 Forbidden, insufficient permissions. { "status": "error", "message": "Forbidden. You do not have the necessary permissions to execute this flow." }
400 Bad request, invalid body or parameters. { "status": "error", "message": "Invalid request. Ensure all parameters are correctly provided." }

POST API: Cancel bookings for customers

Description

This API allows customer to cancel a booking

URL

Full URL

https://api.dev.e4cars.io/api/v1/4pl/{accountId}/incoming-flows/incoming-order

METHOD

  • /POST

PATH parameters

  • accountId (string, required): unique identifier of the E4Box client account.

REQUEST parameters

  • body (JSON Object, required)

Standard flow

IncomingOrderCancellationPivot schema
IncomingOrderCancellationPivot.ts
export interface IncomingOrderPivot {
    customer_incoming_order_no?: string;
    kind?: string;
    issuing_date: string;
    issuer: {
        incoming_principal: {
            code: string;
            uirr?: string; 
        };
    };
    receiver: {
        account : {
            code : string
        };
    };
    order_cancellation: {
        customer_order_no: string;
    };
}
Example of IncomingOrderCancellationPivot Body
JSON
{
    "customer_incoming_order_no" : "2026030211290015",
    "kind": "order_cancellation",
    "issuing_date": "2025-12-29T15:22:49",
    "issuer": {
        "incoming_principal": {
            "code": "11788",
            "uirr": "002"  
        }
    },
    "receiver": {
        "account" : {
            "code" : "OTC"
        }
    },
    "order_cancellation": {
        "customer_order_no": "OTC-20251211-00025"
    }
}

Date value

All date (IN or OUT) are Locale

!!! warning "Below is the list of all accepted date formats:"

    * YYYY-MM-DDTHH24:MI:SS
    * YYYY-MM-DDTHH24:MI:SSZ
    * YYYY-MM-DDTHH24:MI
    * YYYY-MM-DDTHH24:MI:SS.ms
    * YYYY-MM-DDTHH24:MI:SS.msZ

The POST request requires a body in JSON format containing the necessary information to execute the incoming flow. Here is an example of the body structure:

Example of JSON Body
JSON
{
    "customer_incoming_order_no" : "2026030211290015",
    "kind": "order_cancellation",
    "issuing_date": "2025-12-29T15:22:49",
    "issuer": {
        "incoming_principal": {
            "code": "11788",
            "uirr": "002"  
        }
    },
    "receiver": {
        "account" : {
            "code" : "OTC"
        }
    },
    "order_cancellation": {
        "customer_order_no": "OTC-20251211-00025"
    }
}
Code Description Example Response
200 Success, the flow was executed correctly. { "status": "success", "message": "Incoming flow executed successfully." }
401 Unauthorized, missing or invalid authentication. { "status": "error", "message": "Unauthorized. Please authenticate." }
403 Forbidden, insufficient permissions. { "status": "error", "message": "Forbidden. You do not have the necessary permissions to execute this flow." }
400 Bad request, invalid body or parameters. { "status": "error", "message": "Invalid request. Ensure all parameters are correctly provided." }

POST API: Integrate master data

Description

This API allows to integrate master data, as principal

URL

Full URL

https://api.dev.e4cars.io/api/v1/4pl/{accountId}/incoming-flows/incoming-master-data

METHOD

  • /POST

PATH parameters

  • accountId (string, required): unique identifier of the E4Box client account.

REQUEST parameters

  • body (JSON Object, required)

Standard flow

IncomingMasterDataPivot schema
IncomingMasterDataPivot.ts
export interface IncomingMasterDataPivot {
    customer_incoming_master_data_no?: string;
    kind: string;
    movement_type: string;
    issuing_date?: string;
    issuer: {
        origin_software: string;
    };
    receiver: {
        account: {
            code: string;
        }
    };
    principal: {
        code: string;
        uirr?: string;
        legal_entity: {
            legal_name: string;
            tax_identification_number: string;
            registration_number?: string;
            language: string;
            place_name: string;
            display_place_name?: string;
            zip: string;
            city: string;
            country_code: string;
        };
        status: string;
        comment?: string;
        billing?: {
            comment?: string;
            bank_name?: string;
            iban?: string;
            bic_swift?: string;,
            bank_informations?: string;
        };
        contacts?: [
            {
                name?: string;
                phone?: string;
                email?: string;
                language?: string;
            }
        ]
    }
}
Example of IncomingMasterDataPivot Body
JSON
{
    "customer_incoming_master_data_no" : "IO-209XN14D",
    "kind": "principal",
    "movement_type" : "update",
    "issuing_date": "2026-07-28T11:05:11",
    "issuer": {
        "origin_software": "provider_software"
    },
    "receiver": {
        "account": {
            "code": "OTC"
        }
    },
    "principal": {
        "code" : "PRF",
        "uirr": "002",
        "legal_entity" : {
            "legal_name" : "Legal name F",
            "tax_identification_number" : "BE69039I9128JIEF",
            "registration_number" : "NB31214FR",
            "language" : "fr",
            "place_name" : "Adresse Lyon",
            "display_place_name" : "Display Lyon",
            "zip" : "69001",
            "city" : "Lyon",
            "country_code" : "FR"
        },
        "status" : "active",
        "comment" : "comment Lyon",
        "billing" : {
            "comment" : "comment billing",
            "bank_name" : "BNPB",
            "iban" : "FR732893408432003219B",
            "bic_swift" : "BPRPSQIOXB",
            "bank_informations" : "Informations bancaire B"
        },
        "contacts" : [
            {
                "name" : "Name1A",
                "phone" : "0101010102",
                "email" : "contact1A@e4cars.com",
                "language" : "en"
            },
            {
                "name" : "Name2A",
                "phone" : "0202020201",
                "email" : "contact2B@e4cars.com",
                "language" : "en"
            }
        ]
    }
}

Date value

All date (IN or OUT) are Locale

!!! warning "Below is the list of all accepted date formats:"

    * YYYY-MM-DDTHH24:MI:SS
    * YYYY-MM-DDTHH24:MI:SSZ
    * YYYY-MM-DDTHH24:MI
    * YYYY-MM-DDTHH24:MI:SS.ms
    * YYYY-MM-DDTHH24:MI:SS.msZ

The POST request requires a body in JSON format containing the necessary information to execute the incoming flow. Here is an example of the body structure:

Example of JSON Body
JSON
{
    "customer_incoming_master_data_no" : "IO-209XN14D",
    "kind": "principal",
    "movement_type" : "update",
    "issuing_date": "2026-07-28T11:05:11",
    "issuer": {
        "origin_software": "provider_software"
    },
    "receiver": {
        "account": {
            "code": "OTC"
        }
    },
    "principal": {
        "code" : "PRF",
        "uirr": "002",
        "legal_entity" : {
            "legal_name" : "Legal name F",
            "tax_identification_number" : "BE69039I9128JIEF",
            "registration_number" : "NB31214FR",
            "language" : "fr",
            "place_name" : "Adresse Lyon",
            "display_place_name" : "Display Lyon",
            "zip" : "69001",
            "city" : "Lyon",
            "country_code" : "FR"
        },
        "status" : "active",
        "comment" : "comment Lyon",
        "billing" : {
            "comment" : "comment billing",
            "bank_name" : "BNPB",
            "iban" : "FR732893408432003219B",
            "bic_swift" : "BPRPSQIOXB",
            "bank_informations" : "Informations bancaire B"
        },
        "contacts" : [
            {
                "name" : "Name1A",
                "phone" : "0101010102",
                "email" : "contact1A@e4cars.com",
                "language" : "en"
            },
            {
                "name" : "Name2A",
                "phone" : "0202020201",
                "email" : "contact2B@e4cars.com",
                "language" : "en"
            }
        ]
    }
}
Code Description Example Response
200 Success, the flow was executed correctly. { "status": "success", "message": "Incoming flow executed successfully." }
401 Unauthorized, missing or invalid authentication. { "status": "error", "message": "Unauthorized. Please authenticate." }
403 Forbidden, insufficient permissions. { "status": "error", "message": "Forbidden. You do not have the necessary permissions to execute this flow." }
400 Bad request, invalid body or parameters. { "status": "error", "message": "Invalid request. Ensure all parameters are correctly provided." }

"